pyphi.macro.system.MacroSystem#
- class pyphi.macro.system.MacroSystem(substrate, state, units=(), micro_substrate=None, micro_history=(), macro_cause_marginal=None, *, subset=None, partition=None, external_indices=None, background_conditioning=None, background_state=None)[source]#
Bases:
SystemA system of macro units, consumed by the pipeline like a System.
Construct with
from_micro(). The inheritedsubstratefield holds the synthetic macro substrate; the micro universe lives inmicro_substrate.- Parameters:
substrate (Substrate)
state (State)
micro_substrate (Substrate | None)
macro_cause_marginal (FactoredTPM | None)
subset (InitVar[NodeIndices | None])
partition (DirectedBipartition)
background_conditioning (str | None)
- classmethod from_micro(substrate, units, micro_history, node_labels=None)[source]#
Build a MacroSystem from a micro substrate and macro units.
- Parameters:
substrate (Substrate) – The binary micro universe.
units (sequence of MacroUnit) – The system’s macro units (Eq. 19 must hold).
micro_history (sequence of universe states) – Universe micro states, oldest first, of length
max(tau_J). A bare state is accepted when every unit has micro grain 1.node_labels (optional) – Labels for the macro units. If None, each unit is labelled by its micro constituents’ labels in
substrate, joined ("A"for a unit over micro unitA,"AB"for a unit overAandB), so the system prints in the substrate’s labels; when two units would share a label, the default labels are used.
- Raises:
ValueError – If
config.formalism.iit.background_conditioningis not"CAUSAL_MARGINALIZATION", the only background convention the macro cause TPM is defined for.- Return type:
- property cause_marginal: FactoredTPM#
The construction’s cause TPM (Eqs. 26-40, cause weighting).
- property proper_cause_marginal: FactoredTPM#
there is no macro background.
- Type:
Identical to
cause_marginal