API documentation
This section of the qiotoolkit documentation contains auto-generated C++ interface-descriptions for the components in the repository.
For the input and output specifications of the compiled binary, check out the Specifications Section
For a step-by-step guide on getting started with qiotoolkit, please refer to the Tutorial Section
Models
All qiotoolkit models are expected to inherit from the markov::Model base class, which defines the required methods to interface with solvers. Currently, the code base contains implementations for:
- Ising Model
- PUBO
- Blume-Capel (Spin-1, i.e., 3 states)
- Potts (p-state, no notion of "neighboring values")
- Clock (p-state, neighboring values + periodic boundaries)
- TSP (single-tour on fully connected graph)
- Poly (Experimental: Arbitrary polynomial cost function with parameters)
Solvers
All qiotoolkit solvers are expected to inherit from the solver::AbstractSolver base class, which defines the interface to the simulation runner.
Current built-in solvers include:
- Simulated Annealing
- Parallel Tempering
- Population Annealing
- Substochastic Monte-Carlo
- MUlti-objective Replica Exchange (Experimental)
Utilities
Utils
- general purpose utilties for I/O and debuggingMatcher
- Specification of pre-conditions for valid inputGraph
- Graph representationSchedule
- Generators for annealing sequences and temperature setsObserve
- Built-in measurement functionality