pyphi.models.complex.Complex#

class pyphi.models.complex.Complex(sia, substrate, is_maximal=False, excluded=(), units=None, node_indices=None)[source]#

Bases: Displayable, OrderableByPhi, ToPandasMixin, Serializable

An irreducible system selected as a complex: a local maximum of φₛ over overlapping candidate systems (the exclusion postulate).

Wraps the system irreducibility analysis and records whether it is the φₛ-maximal complex of its substrate, the candidates excluded in its favor, and the substrate that selected it. Ordered by φₛ like the wrapped analysis.

Variables:
  • sia – The wrapped system irreducibility analysis.

  • substrate (Substrate) – The substrate this complex was selected from.

  • is_maximal (bool) – Whether this is the φₛ-maximal complex.

  • excluded (tuple[ExcludedCandidate, ...]) – Overlapping candidates excluded in this complex’s favor.

Parameters:
  • sia (Any)

  • substrate (Any)

  • is_maximal (bool)

  • excluded (Any)

  • units (Any)

  • node_indices (Any)

property node_indices: tuple[int, ...]#

The micro units of this complex (() for a null complex).

For a complex of macro units this is the union of the units’ micro constituents, not the macro units’ own indices.

property phi: Any#

The system integrated information φₛ of this complex.

For a complex computed under IIT 3.0 (see Reproduce results from earlier versions of IIT), this is that version’s Φ.

property exclusion_margin: float | None#

The gap in φₛ between this complex and the best overlapping rival it beat, or None when it beat none.

Rivals are the excluded candidates whose φₛ is less than or precision-equal to this complex’s own. Because condensation is recursive, excluded may also contain overlapping candidates with higher φₛ — carved away by a different complex before this one was accepted — and those do not enter the margin. A margin of zero indicates an overlapping rival within precision of this complex’s own φₛ: the selection was decided beyond φₛ, either by escalation within the tie clique or by the rival’s overlap with another complex. Gated rivals — certified strictly below this complex’s φₛ, with no exact value — do not enter the margin.

property effectively_tied: bool#

Whether the exclusion margin is within precision of zero.

False when the margin is None (no beaten rival).

order_by()[source]#

Return a list of values to compare for ordering.

The first value in the list has the greatest priority; if the first objects are equal the second object is compared, etc.

Return type:

Any