Fast Potts Models in Python¶
PottsPlayground is a Python package for constructing and simulating combinatorial optimization problems represented as Potts Models. It’s purpose is twofold: providing an easily readable interface for constructing Potts models, and providing a fast C++/CUDA backend for annealing or sampling from models.
Several example combinatorial problems are built-in, ranging from simple graph coloring to logic element placement for Ice40 FPGAs. There are also methods for converting any Potts model into an Ising model, and for creating minor-embedded representations of Ising models.
- Getting Started
- Potts Model Constructor
PottsModel
PottsModel.AddBias()
PottsModel.AddKernel()
PottsModel.AddSpins()
PottsModel.AddWeight()
PottsModel.Compile()
PottsModel.EnergyBands()
PottsModel.EvalCost()
PottsModel.EvalDDE()
PottsModel.EvalDE()
PottsModel.EvalPE()
PottsModel.GetSpinBias()
PottsModel.GetSpinFromState()
PottsModel.IndexOf()
PottsModel.InitKernelManager()
PottsModel.ListSpins()
PottsModel.PinSpin()
PottsModel.SetBias()
PottsModel.SetSpinInState()
PottsModel.SpinSize()
PottsModel.TotalWeight()
PottsModel.__init__()
- Built-in Tasks
- Model Converters
- Running a Model
- Annealing Schedules
- Weight Kernels