A shared API for binary quadratic model samplers.
Project description
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
This example uses one of dimod’s test samplers, ExactSampler, a solver that calculates the energies of all possible samples.
>>> 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) >>> for sample, energy in response.data(['sample', 'energy']): print(sample, energy) {0: -1, 1: -1} -1.0 {0: 1, 1: 1} -1.0 {0: 1, 1: -1} 1.0 {0: -1, 1: 1} 1.0
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
Built Distributions
Hashes for dimod-0.7.9-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b13cd21e7440fea7c099e420a72ac5da118a7afb48c7a4b617ef1913a63cb467 |
|
MD5 | 8990ffe425e31adbc1264fc6172d436e |
|
BLAKE2b-256 | 9ae2820b8c0691689151f1caef649094b847b12a523335696027e9f9187921d1 |
Hashes for dimod-0.7.9-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b907da04140bc9d9afe8347230bb33eea62496e55cead845c2a8c7c79051b71a |
|
MD5 | 87e98fea0e276256370057e70101831b |
|
BLAKE2b-256 | de85fc0ca267f230dd53ae3fb6f07f6aae58d90ec3e261df26655bc8e4661be3 |
Hashes for dimod-0.7.9-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dada8a1ec65ac8e58de6267a31bf64049048b6ead9d7e625787e9e39246e332 |
|
MD5 | 772a4eea5c5f52e8129cdba7b06eb777 |
|
BLAKE2b-256 | 2fefb6c09e88576314e4aee5158d9ad54a935a669cb51110998bc26cff76549b |
Hashes for dimod-0.7.9-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f89108e8782c01fd9d9af6fb637f53441dbddd410ce6929e6bbf63939ed63d5 |
|
MD5 | 22d046d82597a679a2ec5d4dfbbf1f69 |
|
BLAKE2b-256 | d99d1154d2a6dd627e110b9b8842af1dcaceb92a05e03b26b9de123030ad3360 |
Hashes for dimod-0.7.9-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b64bc0a30f6e73b236de14ff88756a9410507017450fa4c6e48aba644458bdb6 |
|
MD5 | a7a6ab51f54f7c24e7f2f98ae5f168ea |
|
BLAKE2b-256 | 88cb25dcf8922d9697bc18e6a016c5f078a9a9614582e158d4a225b641fbbd03 |
Hashes for dimod-0.7.9-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 975888e2d07731cad098cd83d40865841772af907386cc1e042e7b0739ba42f2 |
|
MD5 | 93849ad04964dcdda061b1e0dba5a1bd |
|
BLAKE2b-256 | 450c7f612ae39eef0b513dc63f3940a3d697f5a446548cb3e5b61230a3f03af7 |
Hashes for dimod-0.7.9-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e538ed1fd838b45a3173231448a473f532147ffb74262c4e10dad5eb13c1decb |
|
MD5 | 2fda9df8c5214bad4ccb722332c48fb9 |
|
BLAKE2b-256 | e0b3ab52a16b7d73bb6876aefda36912e4c8d6013d655fa9bc1845f5a0910d48 |
Hashes for dimod-0.7.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bde1abfe8fc480ab158c33450be6344702098a371ac8dbbaa4502c2e1cc0ab7 |
|
MD5 | fad0bad80776d630f5d81bbdde82d4b4 |
|
BLAKE2b-256 | 89fd18440a7a8b2c881a90cbee05a43eb157260d31dae04aacf971921b8ef5fb |
Hashes for dimod-0.7.9-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbad8a763d33e00f723ef3f8a43ad4ae62e71685ad879680b22e25b1e0ab72d3 |
|
MD5 | d12c46448e7266a48c2eeffec718f7e8 |
|
BLAKE2b-256 | 9fee95a628745021201a7f723dad1479ade75156914537b89b091e0fca7d4e93 |
Hashes for dimod-0.7.9-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a6b8fa34e056a8d6ea04972a0723ffbf51a681646f1680f97d664262ed56262 |
|
MD5 | 68411dbcfbefee39753a2af521e39986 |
|
BLAKE2b-256 | 4023bad2c7fc1aecbe04316c369c11dfe22a0e6a875a511d38f18f50b640901f |
Hashes for dimod-0.7.9-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22160eb2f2e95aba008c88d0760492603701e2693f548994092ba62414100a75 |
|
MD5 | 30e8266bcdab31fbe3eb86090a419957 |
|
BLAKE2b-256 | e5df39d7bc70042e5f5229a3827bfee442c87a1dc8093fc8e24be76773c18474 |
Hashes for dimod-0.7.9-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bea017ce11ce172355d63f8386d0c20f675d99afd5a9749fd50520f13015721a |
|
MD5 | aea7576e937c9eb180bd00b45adebe3b |
|
BLAKE2b-256 | 7a47458a9d69994a480f5361d24922fe0189afefda746711a597c03f3b398ad3 |
Hashes for dimod-0.7.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88d03b96999e65d22190a0680e9e0d2523c43e8bb2da0e648352ba54e4457135 |
|
MD5 | c007036e25789a285900ee4966d69a3c |
|
BLAKE2b-256 | 735b088c2d06ffa1e409796dbe8de71ccb1154aeb28103e1ae05920ba9e07392 |
Hashes for dimod-0.7.9-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60bd0cc3651bbcc6cbc53aac23aa1baa04f2225d5922af8c645661a2ac736b9d |
|
MD5 | 9bb6311f63801da45c33a5f5adacbdb5 |
|
BLAKE2b-256 | 15bc0464f554e495362fdf135a89851fccff5dff3042fa8ad0f2b609cd2c00f2 |
Hashes for dimod-0.7.9-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dca9798228a05b06005cf11a937215ed4d6a4fc7fcc7a8511b9915ccacc2cf20 |
|
MD5 | 01b7ccc7cc55cb02979254c7b0e390fe |
|
BLAKE2b-256 | 782a468fd95aa9a0475913d9b48a6b7107eb58d485022de5ce5bb9193e39ca76 |
Hashes for dimod-0.7.9-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0618e7956df50ff3d74e1b52955df2d605ae0bed70dda35ab38817145d9033d2 |
|
MD5 | d1a56efc351069a53c6fbfd3007f851a |
|
BLAKE2b-256 | 79d7650014b1e00d6a24035e6d99a068df048185f6a2a97a1fe9370208ce2d2f |
Hashes for dimod-0.7.9-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f521ae095eecdc23ce1431a39a7f03db5627a384daf18f8539289c98f247656b |
|
MD5 | 25268123d23c39d9dcfb0bc1ae9328e6 |
|
BLAKE2b-256 | e7752b30934f48d0c5896fd0a32e6adee7b68a7ff4546dc1ad14db180a658b02 |
Hashes for dimod-0.7.9-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a736fcf6031b08c294133cded72e679f69e6cb7394ee64736633053564ba1a29 |
|
MD5 | 3162b3d8f40a55317b9226e238051349 |
|
BLAKE2b-256 | 6cb5e056ed1538b67cdffdb1c6c8539890634aaf66ec6c4ed7558ecc394801a2 |
Hashes for dimod-0.7.9-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98efb115c20af1bf39ad57aa2d5981138bf9545cd2180202e8cd07df527a9b9f |
|
MD5 | 2422a0383c6f8b8e0e1352362c8be74b |
|
BLAKE2b-256 | 24f442d7f33314822279bc89fc7ff108a6270ab4105bddedef56f8eac815b75a |
Hashes for dimod-0.7.9-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48096f729e34d1c93895ec1c433bd6638d0202fabab461c6a7dd9b083cbacdef |
|
MD5 | 80056d257bc4a9f74cd00fcac963be62 |
|
BLAKE2b-256 | 9856aa91753768594699a0b5c21a91992152a2efd4b045f31074f466963706fb |
Hashes for dimod-0.7.9-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af72b8c1d6c1583e068f1b5fdcf6ae981c30bbefbc9e318fd255e5e30dd23f00 |
|
MD5 | 55a3fb4c557a4b0501c193fae1148485 |
|
BLAKE2b-256 | 7fe338b83882f800638f40b5d755716f8c0bc897fab02ad460c97fccb0a23705 |
Hashes for dimod-0.7.9-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 453b054e6349f8f6a9dfbe47781e5596294ee0dfa8046bb63ab4d7af335d5acc |
|
MD5 | aa8d63cab788e2606b11e53042a2b066 |
|
BLAKE2b-256 | c566e66b7f8bee00560d2b986d136e96fbb6556a726ca8c8bc4666e1435d7e4c |
Hashes for dimod-0.7.9-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919f7c701aa690b8e80769da6440ee11a203c0b866333b5a9e3db2bd92b345a9 |
|
MD5 | 2369609aef49157c3bf962793c48f88f |
|
BLAKE2b-256 | ed60a55673b198570eb0f6b32273bf3ad875e52ee43aa6941d69e821a6a8f4ef |
Hashes for dimod-0.7.9-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72263f52ce4a8d357ff5b1d9ec175f8f51607b40ab62505c4ed580927af80347 |
|
MD5 | 041987ec082cd94823ea331224a77cd9 |
|
BLAKE2b-256 | e9ba8f8c632437d060a6efcfddc8d8912e45800fd0cb18f328241b38776b1f64 |
Hashes for dimod-0.7.9-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd54dd29123aa96cb0dbdc81bb73b8da37dc4b4de2c467e28f889822a5bfc263 |
|
MD5 | 9434d3da5a97dbf56b20ea760a3ab20c |
|
BLAKE2b-256 | 309b315f133c874f336f3efee787f6af5372cfa3618c1d5b54bb9a6ac32e4cf6 |
Hashes for dimod-0.7.9-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee2ccc4afc506d29f093e8b62d1a94ee24f8b2b4645a3340e70eb9f535c69079 |
|
MD5 | 1535e8c64a06ba47d1ca0987246d93d0 |
|
BLAKE2b-256 | efa7e0f9019c14749440cd92c3b7bc2312fe00e5a4eddb5fe1cb8d141c11d572 |
Hashes for dimod-0.7.9-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c2767917534bc59a7b0fb501990fb800c53753ac1d2d0e9875e653e579d87dc |
|
MD5 | 3d24933a85e4dffd18a2c836cf534311 |
|
BLAKE2b-256 | 6bbe85b9fbeb8ee4bd34d79960a13ca943109b10539cc734a3e3295a83dfe8b7 |