dimod is a shared API for samplers. It provides:

  • classes for quadratic models—such as the binary quadratic model (BQM) class that contains Ising and QUBO models used by samplers such as the D-Wave system—and higher-order (non-quadratic) models.

  • reference examples of samplers and composed samplers.

  • abstract base classes for constructing new samplers and composed samplers.

For explanations of the terminology, see the Ocean glossary. For an introduction to Ocean’s programming model—and its use of models and samplers to solve hard problems—see Ocean’s Programming Model.

The following sections give an orientation to dimod with usage examples: