pyphi.dynamics.settle#

pyphi.dynamics.settle(tpm, initial_state, *, clamp=None, max_steps=None)[source]#

Iterate the most-probable-transition map to a fixed point.

Deterministic complement to simulate(): each step takes the most-probable next state (each unit ON iff its ON-probability exceeds 0.5) instead of sampling.

Parameters:
  • tpm (np.ndarray) – A state-by-node multidimensional TPM (binary), or an explicit-alphabet TPM of shape (*alphabet_sizes, n_units, max_alphabet).

  • initial_state (tuple[int, ...]) – The starting state.

  • clamp (Mapping[int, int] or None, optional) – Units held fixed to a given value every step.

  • max_steps (int or None, optional) – Optional cap on the number of steps; raises if exceeded.

Returns:

list[tuple[int, …]] – The trajectory of states ending at the fixed point. The fixed point is the last element and the settling time is len(result) - 1.

Raises:

NonConvergenceError – If the map enters a limit cycle, or does not settle within max_steps.