Skip to main content

A shared API for binary quadratic model samplers.

Project description

https://travis-ci.org/dwavesystems/dimod.svg?branch=master https://ci.appveyor.com/api/projects/status/2oc8vrxxh15ecgo1?svg=true https://coveralls.io/repos/github/dwavesystems/dimod/badge.svg?branch=master https://readthedocs.org/projects/dimod/badge/?version=latest

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.

Learn more about dimod on Read the Docs.

Example Usage

This example constructs a simple QUBO and converts it to Ising format.

>>> import dimod
>>> bqm = dimod.BinaryQuadraticModel({0: -1, 1: -1}, {(0, 1): 2}, 0.0, dimod.BINARY)  # QUBO
>>> bqm_ising = bqm.change_vartype(dimod.SPIN, inplace=False)  # Ising

An example of using one of the built-in test Samplers.

>>> import dimod
>>> h = {0: 0.0, 1: 0.0}
>>> J = {(0, 1): -1.0}
>>> bqm = dimod.BinaryQuadraticModel.from_ising(h, J)
>>> response = dimod.ExactSolver().sample(bqm)
>>> response.samples_matrix
matrix([[-1, -1],
        [ 1, -1],
        [ 1,  1],
        [-1,  1]])

See the documentation for more examples.

Installation

Compatible with Python 2 and 3:

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

License

Released under the Apache License 2.0. See LICENSE file.

Contribution

See CONTRIBUTING.rst 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.

Source Distribution

dimod-0.6.10.tar.gz (52.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dimod-0.6.10-py2.py3-none-any.whl (63.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dimod-0.6.10.tar.gz.

File metadata

  • Download URL: dimod-0.6.10.tar.gz
  • Upload date:
  • Size: 52.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dimod-0.6.10.tar.gz
Algorithm Hash digest
SHA256 5091d017e4e82f045464d5f0ffbfcf62e0b3cd96883b1fe2c545bc522b27782a
MD5 4b3989fa9e310aa0feb7f5e75dcc3dc5
BLAKE2b-256 a4f95b741417c8c2636ae1abb19a11f0a6fef998fe886f4fd380027b32043dac

See more details on using hashes here.

File details

Details for the file dimod-0.6.10-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dimod-0.6.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1268a47a6f192e51c1a2a97742eb2a0a9fc241f7b80cb4c46ed0dc647e152dd2
MD5 888717ca27a72bae15585a6919de1f26
BLAKE2b-256 a533f40c742037605d63167cb41eb82199196ec99295ed2bfbf76bc4ba9fcd10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page