How leofio/perfectsimulation works
This is a perfect-simulation library for sampling exact stationary configurations of lattice-based statistical-mechanics models. A user constructs a lattice and model, then runs monotone CFTP, bounding-chain CFTP, or read-only CFTP to obtain samples. The model layer supplies state transitions and counter-based randomness; model implementations cover Ising, hard-core, and random-cluster systems, with a documented random-cluster-to-Potts coloring capability. The README is empty, so capabilities are inferred from source and the project tree; unsampled subsystem wiring is omitted.
Main entry points: baseModel.py Model abstractions · lattice.py Lattice builders · cftp.py Monotone CFTP · randomCluster.py Random-cluster model
Components 11
Lattice geometry
- Lattice builders
src/lattice.py
Model dynamics
- Model abstractions
src/models/baseModel.py - Ising models
src/models/ising.py - Hard-core models
src/models/hardCore.py - Random-cluster model
src/models/randomCluster.py - Potts coloring
src/models/potts.py
Perfect sampling
- Monotone CFTP
src/perfectSim/cftp.py - Bounding CFTP
src/perfectSim/bounding_cftp.py - Read-only CFTP
src/perfectSim/rocftp.py
Other components
- Researcher
- Exact samples
Connections 22
- Researcher → Lattice builders: constructs
- Researcher → Ising models: configures
- Researcher → Hard-core models: configures
- Researcher → Random-cluster model: configures
- Researcher → Monotone CFTP: runs
- Researcher → Bounding CFTP: runs
- Researcher → Read-only CFTP: runs
- Lattice builders → Ising models: provides geometry
- Lattice builders → Hard-core models: provides geometry
- Lattice builders → Random-cluster model: provides geometry
- Model abstractions → Ising models: defines interface
- Model abstractions → Hard-core models: defines interface
- Model abstractions → Random-cluster model: defines interface
- Monotone CFTP → Model abstractions: requests randomness, applies updates
- Bounding CFTP → Model abstractions: requests randomness, applies updates
- Read-only CFTP → Model abstractions: requests randomness, applies updates
- Monotone CFTP → Exact samples: returns samples
- Bounding CFTP → Exact samples: returns samples
- Read-only CFTP → Exact samples: returns samples
- Monotone CFTP → Potts coloring: provides RC states
- Random-cluster model → Potts coloring: provides edges
- Potts coloring → Exact samples: colors clusters