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,ToPandasMixinThe 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;Nonewhen there was no competing state.
- Parameters:
direction (Direction)
intrinsic_information (float | DistanceResult)
repertoire (ArrayLike)
unconstrained_repertoire (ArrayLike)
_ties (tuple[StateSpecification, ...])
runner_up_intrinsic_information (float | DistanceResult | None)
_node_labels (Any)
- 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;
Nonewhen there was no competing state. A margin withinconfig.numerics.precisionof zero means the state selection is effectively tied.System-level analyses aggregate this per-direction as
SystemIrreducibilityAnalysis.state_margins(alongsidepartition_marginandtied_selections); mechanism-level analyses surface it asRepertoireIrreducibilityAnalysis.state_margin.