Skip to main content

A shared API for binary quadratic model samplers.

Project description

https://img.shields.io/pypi/v/dimod.svg https://codecov.io/gh/dwavesystems/dimod/branch/master/graph/badge.svg https://readthedocs.com/projects/d-wave-systems-dimod/badge/?version=latest https://circleci.com/gh/dwavesystems/dimod.svg?style=svg

dimod

dimod is a shared API for binary quadratic samplers. It provides a binary quadratic model (BQM) class that contains Ising and quadratic unconstrained binary optimization (QUBO) models used by samplers such as the D-Wave system. It also provides utilities for constructing new samplers and composed samplers and for minor-embedding. Its reference examples include several samplers and composed samplers.

Example Usage

>>> import dimod
...
>>> # Construct a problem
>>> bqm = dimod.BinaryQuadraticModel({0: -1, 1: 1}, {(0, 1): 2}, 0.0, dimod.BINARY)
...
>>> # Use dimod's brute force solver to solve the problem
>>> sampleset = dimod.ExactSolver().sample(bqm)
>>> print(sampleset)
   0  1 energy num_oc.
1  1  0   -1.0       1
0  0  0    0.0       1
3  0  1    1.0       1
2  1  1    2.0       1
['BINARY', 4 rows, 4 samples, 2 variables]

See the documentation for more examples.

Installation

Compatible with Python 3.5+:

pip install dimod

To install with optional components:

pip install dimod[all]

To install from source:

pip install -r requirements.txt
python setup.py install

When developing on dimod, it is often convenient to build the extensions in place:

pip install -r requirements.txt
python setup.py build_ext --inplace

Note that installation from source requires that your system have the Boost C++ libraries installed.

License

Released under the Apache License 2.0. See LICENSE file.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dimod, version 0.9.6
Filename, size File type Python version Upload date Hashes
Filename, size dimod-0.9.6-cp35-cp35m-macosx_10_9_x86_64.whl (1.9 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size dimod-0.9.6-cp35-cp35m-manylinux1_i686.whl (4.7 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size dimod-0.9.6-cp35-cp35m-manylinux1_x86_64.whl (4.9 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size dimod-0.9.6-cp35-cp35m-win32.whl (1.6 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size dimod-0.9.6-cp35-cp35m-win_amd64.whl (1.7 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size dimod-0.9.6-cp36-cp36m-macosx_10_9_x86_64.whl (2.0 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size dimod-0.9.6-cp36-cp36m-manylinux1_i686.whl (4.8 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size dimod-0.9.6-cp36-cp36m-manylinux1_x86_64.whl (5.0 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size dimod-0.9.6-cp36-cp36m-win32.whl (1.6 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size dimod-0.9.6-cp36-cp36m-win_amd64.whl (1.7 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size dimod-0.9.6-cp37-cp37m-macosx_10_9_x86_64.whl (1.9 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size dimod-0.9.6-cp37-cp37m-manylinux1_i686.whl (4.8 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size dimod-0.9.6-cp37-cp37m-manylinux1_x86_64.whl (5.0 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size dimod-0.9.6-cp37-cp37m-win32.whl (1.6 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size dimod-0.9.6-cp37-cp37m-win_amd64.whl (1.7 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size dimod-0.9.6-cp38-cp38-macosx_10_9_x86_64.whl (1.9 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size dimod-0.9.6-cp38-cp38-manylinux1_i686.whl (4.9 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size dimod-0.9.6-cp38-cp38-manylinux1_x86_64.whl (5.1 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size dimod-0.9.6-cp38-cp38-win32.whl (1.6 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size dimod-0.9.6-cp38-cp38-win_amd64.whl (1.8 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size dimod-0.9.6.tar.gz (1.0 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page