pyCA.ica module
Ising cellular automata: deterministic rules with thermal noise.
An Ising cellular automaton (ICA) couples two dynamics on the same periodic
lattice. A fraction of the cells, drawn fresh at random each step, evolve
stochastically as Ising spins in contact with a heat bath — a cell flips
with the heat-bath probability determined by its local Ising energy and the
temperature. The remaining cells evolve deterministically by an elementary
cellular automaton rule. With stochfrac = 0 the ICA reduces exactly to the
underlying pyCA.eca.ECA; with stochfrac = 1 it is a kinetic Ising
chain; in between, determinism and thermal noise compete.
- class pyCA.ica.ICA(rule, state=None, temperature=1.0, stochfrac=0.5, N=64, memory=None, rng=None)[source]
Bases:
ECAA 1-dimensional Ising cellular automaton.
- Parameters:
rule (int) – Wolfram rule number, 0-255, governing the deterministic cells.
state (array_like of 0s and 1s, optional) – Initial state. If omitted, a random state of length N is drawn.
temperature (float, optional) – Heat-bath temperature for the stochastic cells (default 1).
stochfrac (float, optional) – Probability for each cell, each step, to evolve stochastically instead of deterministically (default 0.5).
N – As for
pyCA.eca.ECA.memory – As for
pyCA.eca.ECA.rng – As for
pyCA.eca.ECA.
- energy
Mean Ising energy per site of the current state, updated at each evolve call.
- Type:
float
- temperature
Validated property; reassign freely (an epsilon regularizes T = 0).
- Type:
float
- stochfrac
Validated property, in [0, 1].
- Type:
float