Functions for computing integrated information and finding complexes.

pyphi.compute.big_phi.evaluate_cut(uncut_subsystem, cut, unpartitioned_constellation)

Find the BigMip for a given cut.

  • uncut_subsystem (Subsystem) – The subsystem without the cut applied.
  • cut (Cut) – The cut to evaluate.
  • unpartitioned_constellation (Constellation) – The constellation of the uncut subsystem.

The BigMip for that cut.

Return type:


class pyphi.compute.big_phi.FindMip(iterable, *context)

Computation engine for finding the minimal BigMip.

description = 'Evaluating Φ cuts'
empty_result(subsystem, unpartitioned_constellation)

Begin with a mip with infinite \(\Phi\); all actual mips will have less.

static compute(cut, subsystem, unpartitioned_constellation)

Evaluate a cut.

process_result(new_mip, min_mip)

Check if the new mip has smaller phi than the standing result.


Return all \(\Phi\) cuts for the given nodes.

This value changes based on config.CUT_ONE_APPROXIMATION.

Parameters:nodes (tuple[int]) – The node indices to partition.
Returns:All unidirectional partitions.
Return type:list[Cut]
pyphi.compute.big_phi.big_mip(cache_key, subsystem)

Return the minimal information partition of a subsystem.

Parameters:subsystem (Subsystem) – The candidate set of nodes.
Returns:A nested structure containing all the data from the intermediate calculations. The top level contains the basic MIP information for the given subsystem.
Return type:BigMip

Return the \(\Phi\) value of a subsystem.

pyphi.compute.big_phi.subsystems(network, state)

Return a generator of all possible subsystems of a network.

Does not return subsystems that are in an impossible state.

pyphi.compute.big_phi.possible_complexes(network, state)

Return a generator of subsystems of a network that could be a complex.

This is the just powerset of the nodes that have at least one input and output (nodes with no inputs or no outputs cannot be part of a main complex, because they do not have a causal link with the rest of the subsystem in the past or future, respectively).

Does not include subsystems in an impossible state.

  • network (Network) – The network for which to return possible complexes.
  • state (tuple[int]) – The state of the network.

Subsystem – The next subsystem which could be a complex.

class pyphi.compute.big_phi.FindAllComplexes(iterable, *context)

Computation engine for computing all complexes

description = 'Finding complexes'
static compute(subsystem)
process_result(new_big_mip, big_mips)
pyphi.compute.big_phi.all_complexes(network, state)

Return a generator for all complexes of the network.

Includes reducible, zero-\(\Phi\) complexes (which are not, strictly speaking, complexes at all).

class pyphi.compute.big_phi.FindIrreducibleComplexes(iterable, *context)

Computation engine for computing irreducible complexes of a network.

process_result(new_big_mip, big_mips)
pyphi.compute.big_phi.complexes(network, state)

Return all irreducible complexes of the network.

pyphi.compute.big_phi.main_complex(network, state)

Return the main complex of the network.

pyphi.compute.big_phi.condensed(network, state)

Return the set of maximal non-overlapping complexes.

class pyphi.compute.big_phi.ConceptStyleSystem(subsystem, direction, cut=None)

A functional replacement for Subsystem implementing concept-style system cuts.


Pass attribute access through to the basic subsystem.

concept(mechanism, purviews=False, past_purviews=False, future_purviews=False)

Compute a concept, using the appropriate system for each side of the cut.

pyphi.compute.big_phi.concept_cuts(direction, node_indices)

Generator over all concept-syle cuts for these nodes.

pyphi.compute.big_phi.directional_big_mip(subsystem, direction, unpartitioned_constellation=None)

Calculate a concept-style BigMipPast or BigMipFuture.

class pyphi.compute.big_phi.BigMipConceptStyle(mip_past, mip_future)

Represents a Big Mip computed using concept-style system cuts.


Pass attribute access through to the minimal mip.

unorderable_unless_eq = ['network']

Compute a concept-style Big Mip