pyphi.models.state_specification.StateSpecification#

class pyphi.models.state_specification.StateSpecification(direction, purview, state, intrinsic_information, repertoire, unconstrained_repertoire, _ties=(), runner_up_state=None, runner_up_intrinsic_information=None, _node_labels=None)[source]#

Bases: Displayable, ToDictMixin, ToPandasMixin

The state of a purview that a mechanism maximally specifies in one direction, together with the intrinsic information of that specification.

Variables:
  • direction (Direction) – Whether the purview state is specified in the cause or effect direction.

  • purview (tuple[int, ...]) – The purview node indices whose state is specified.

  • state (tuple[int, ...]) – The specified purview state: the state that maximizes the intrinsic information over purview.

  • intrinsic_information (float or DistanceResult) – The intrinsic information of the specified state.

  • intrinsic_specification (float or DistanceResult) – The same value under the name Mayner et al. (2026) give it.

  • repertoire (ArrayLike) – The constrained cause or effect repertoire over purview.

  • unconstrained_repertoire (ArrayLike) – The unconstrained repertoire over purview (the repertoire under maximum uncertainty about the mechanism).

  • runner_up_state (tuple[int, ...] or None) – The best competing purview state, if any.

  • runner_up_intrinsic_information (float or DistanceResult or None) – The intrinsic information of runner_up_state; None when there was no competing state.

Parameters:
property node_labels: Any#

The substrate node labels, if the labeled layer stamped them; else None. Display-only — the kernel builds this value without labels.

property purview_label: Any#

The purview node labels cased by the specified state (see pyphi.labels.NodeLabels.label_string()), or the bare purview indices when no labels are attached.

property ties: tuple[StateSpecification, ...]#

The full family of states tied at maximum intrinsic information, including this one — even those a later escalation (per-state φₛ, Φ) separated. The whole family is retained: congruence checks accept a match against any ii-tied state.

property intrinsic_specification: float | DistanceResult#

The intrinsic specification of the specified state.

The same value as intrinsic_information: the product of selectivity and informativeness for the specified state. Albantakis et al. (2023, Eqs. 5 and 7) call this quantity intrinsic information; Mayner et al. (2026, Eqs. 7 and 9) rename it intrinsic specification and reserve intrinsic information for its minimum with the intrinsic differentiation (2026, Eq. 13).

property state_margin: float | None#

The intrinsic-information gap between this specified state and the best competing state over the same purview.

Zero when another state ties exactly; None when there was no competing state. A margin within config.numerics.precision of zero means the state selection is effectively tied.

System-level analyses aggregate this per-direction as SystemIrreducibilityAnalysis.state_margins (alongside partition_margin and tied_selections); mechanism-level analyses surface it as RepertoireIrreducibilityAnalysis.state_margin.