Functions for computing concepts, constellations, and integrated information.

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.

|BigMip| – The BigMip for that cut.

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 phi.

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:list[|Cut|] – All unidirectional partitions.
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:|BigMip| – A nested structure containing all the data from the intermediate calculations. The top level contains the basic MIP information for the given subsystem.

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.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).

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.FindComplexes(iterable, *context)

Computation engine for computing irreducible complexes of a network.

description = 'Finding complexes'
process_result(new_big_mip, complexes)
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.