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: ECA

A 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

evolve()[source]

Advance one step: thermal flips where chosen, the rule elsewhere.