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.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d56a075d0f2b3e3a4f9ed30eed1f793a959810e8d7687b5b31885794ff465ed |
|
MD5 | 360d5bf2fdfc18960d35b854743182b0 |
|
BLAKE2b-256 | fe3a4e16158ae9b374a9a5fa9d23000485a6de54e2bf3ece37594741bd6a8c8d |
Hashes for dimod-0.7.5-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34fe94c99d261684921ba3a7a594c6165c2c87318d0b76d6822334d72d3cb5c0 |
|
MD5 | 2c3fcbfe93fc97d6cd1af63d2dc0eed2 |
|
BLAKE2b-256 | 321091e695470127ba806f92bd598ebb943e9051b0b131044f4a8d695db5f68c |
Hashes for dimod-0.7.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4788773137ebb3e41eb1730bd4aa074ce6a40c75c52e46eb7b780bc5ea13f227 |
|
MD5 | e6d0d075f5b8969f43740316b904b141 |
|
BLAKE2b-256 | d82d001512acc61fab164e8f14435bad973805917ce1cff4bbb18e5e4b88e5dd |
Hashes for dimod-0.7.5-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47f2dabc672db6fe803dab09007cec902cddb257a4ffb84ca56b4a6faedbb78d |
|
MD5 | 802ef77c26661d19001e07b6349087f2 |
|
BLAKE2b-256 | ae55d28dc1249524f96c9db4c0d40b81cf2c3ceaf5bf699846f2fada3125f23b |
Hashes for dimod-0.7.5-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f460504ad5daacae7f76e371b75f2bb30a35d34b1b74a03bb9e378887dfe8d4 |
|
MD5 | ee4e7cc3d3c22af37522cc8048ebdaa0 |
|
BLAKE2b-256 | 100418d093a706267e8646327af06904c05d4945f71e599491dd3d3a9ef413b4 |
Hashes for dimod-0.7.5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 776eefe57a58a6b23c6c030b5683f772e15529505d630a1556bdb4dd976b7fd3 |
|
MD5 | 54eb3d95a6d7c06f1e1df067b5e1b60c |
|
BLAKE2b-256 | e3973cba7f7a81400de4fdb9011585456ce64f2cc0d4ab88d391a201769bcb3c |
Hashes for dimod-0.7.5-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a55500f38e6b7f422285a0d6164efdde23b24c3493c0c5082a1c0db50f2d6d81 |
|
MD5 | 21923fbb80f4f96b0f47349cef242fc6 |
|
BLAKE2b-256 | b220ea6b2caf909d2466de1c24deee488d2cdbd3c83e34d3848f1cdc7cb4b387 |
Hashes for dimod-0.7.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1c868881d86a4b504b9354732062b79ce6b0be58f7bb68a137ee048dd201a26 |
|
MD5 | 34269fac328d5e08a806a971833d6622 |
|
BLAKE2b-256 | 6a66a1c2542dd4a01a78550e42fcd6532993d4237c7c564e378aee6246cbbc40 |
Hashes for dimod-0.7.5-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d61258756a213d17e7c93767e28a34e21c3255f4ad85d88564aa965b363a2d3c |
|
MD5 | 839972ec401df132733c44bcc7e168a5 |
|
BLAKE2b-256 | 161aa83d5234af0be006f710d1195adbd948ab1b9703fa1ea3c0067b9977cde3 |
Hashes for dimod-0.7.5-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ba30aea29a64f15156cf337a92b5691aa4dbe22864725ab6b4136db41e1a271 |
|
MD5 | 6db0fb300e109a73b4161c2ae9cfa932 |
|
BLAKE2b-256 | 95385215d494405164348dd53a06a44ec58914567bacaf183a3b61a40b62f7dd |
Hashes for dimod-0.7.5-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c949b26bfb92780a420e7c72e30196c01e980426b5fa6f382a769e8ed336106b |
|
MD5 | 1be433c81d982aa8867a3edbbd8ca963 |
|
BLAKE2b-256 | afaef44ca0c3fddfd0533574525e34af9ffbbd5714bdd102dd9850af051d840a |
Hashes for dimod-0.7.5-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 583e7a7e28e5ce80bc1c43bd6a9a311c1c5711f7bc19d18fafa1369dfc14ee19 |
|
MD5 | f438c314a0219017df1c0777d5473a25 |
|
BLAKE2b-256 | 4006951608c18f5d4673f18d2de0544dd9fe4cdefdc10b8164ad6a4b33db1bf2 |
Hashes for dimod-0.7.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e53962400342ffc2f54d89c6e8875c45272b80590c9392ebadfb0690656b6072 |
|
MD5 | ee931cff10dd2cbce58bbbba931663b2 |
|
BLAKE2b-256 | 8acc200cfe83f74751c2d9443a24f13f4b7ec027e912e478d4674c3a60e0a819 |
Hashes for dimod-0.7.5-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65f2c66114ddfaab9721907e68b8b435ba8b12f60538e6acaea91737eaf4d5ed |
|
MD5 | c4dfdea8ac128d18a7a1ccee7e1b116a |
|
BLAKE2b-256 | d8a9cb21e6a1bdf71b3682966e2f3c9def06647f56da18644d5c1486b3ab562c |
Hashes for dimod-0.7.5-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd1b0ab40ac512658b4eeb02044b04f2ffa78249ffd1c2cfbb7dfad81a6263db |
|
MD5 | a095efc30025af6457da832beecb86e7 |
|
BLAKE2b-256 | e3e8458b502eb8329f7abe340dc2e493ab76d94e5e06cf72f75840f25e72a6e7 |
Hashes for dimod-0.7.5-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2e9e11c76c6aeb4bb3f2d190e1b691d1561661868648df7d2b63bbfb6eecb46 |
|
MD5 | b5db2b2ab8e1148d59982ed86fb21ef0 |
|
BLAKE2b-256 | 588788e64faaffaf451dde65bacccea4d1be564eafab89983d87a203e74402c0 |
Hashes for dimod-0.7.5-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee156a739528c8b594e3b561065530abb7525dae195a96ca643bcb238aae6143 |
|
MD5 | 06d10dd49c0992e5af7aa8c3d7131452 |
|
BLAKE2b-256 | dab716a0628bb5b4850907961ac6e290db21dc1b35a7a9bfeba7bec8956ff489 |
Hashes for dimod-0.7.5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba29396ecf6e9285bb80c2d228bc852ecbb2714a325b0c827cb4960f2d4d0028 |
|
MD5 | 413c0e3e2a9b9ed1a7eb9027fd8252fa |
|
BLAKE2b-256 | 665b1ed2cc4bcd88c430867aff86700ea7ba8b73f01e7ebe04551bb2e7e134b1 |
Hashes for dimod-0.7.5-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55b319c1f700d96d21bc1e3c9f49ffaa175f45cd77dc3b3b00e8c1dfc21d056f |
|
MD5 | 8d4f311c91817ef7abd3509c23e4104d |
|
BLAKE2b-256 | 6f9316064a18d45b465368f98e645193343b0da83883cf55e3f0ddbe70c9a354 |
Hashes for dimod-0.7.5-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a3d7931e3e4dd1e60231a3909c53ff214fb076000db2714f0eb4fa82f94f10a |
|
MD5 | 3a608e3dbd9322fd4d5bc9206c823fe2 |
|
BLAKE2b-256 | ce9bcb5fe7f8c86989bd213b7a3bca1adc3f53c8b5a2fd925b59c422ae371f8f |
Hashes for dimod-0.7.5-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 617e9b7e7aef70293f69de5b1533ec7f3589342a191b083b02fc33415efa1167 |
|
MD5 | cc9d36f6ed73decb1d48825a806b35cd |
|
BLAKE2b-256 | ab9d6a28322cc9cf40be4e76d3f8e3c3f69c737e00a3b2469d6b681191982082 |
Hashes for dimod-0.7.5-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c378aed855c4a07fa752660be6a7eab7842c76c239a2c45d35bc353e69067b5b |
|
MD5 | beac9deb503f6e840002c6ba47dad4f9 |
|
BLAKE2b-256 | 9c9351927b5383f843f22b8bd52710110894249beba7b816c1c6423347014769 |
Hashes for dimod-0.7.5-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b977c07b04e833243f227b1ba4eea7a37434f1e89d2d9eb1011e6197ab187073 |
|
MD5 | e35fd75eff26f59b8e7f6740e78258f0 |
|
BLAKE2b-256 | 961e3f8f77760a904efcc3b97cbe6271ab3f6134fe8a267ccd249a6412e9ad38 |
Hashes for dimod-0.7.5-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd2bb2e79005daf7c9c7b64ef9248fd931d23eaa5136c1e8dc9b6c7d78706dc1 |
|
MD5 | dd96241326b50682c48094c65f3b4804 |
|
BLAKE2b-256 | 2b147e53a49731abca6d6eae1d4ab906d3be2996828d6f22f75777937c7c90db |
Hashes for dimod-0.7.5-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 831e96d9e482b78535d32aafc6ba772f1b61a1caecda56601de1b0a64d0ee62a |
|
MD5 | 8a79509fcd748e0e1e18ddb0bc4c6009 |
|
BLAKE2b-256 | cb18340e66061cc9c7c80f52106af4cc374d057bc59e59b99c0f7de662ff887c |
Hashes for dimod-0.7.5-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67bcabdbce1839222a8886ffdce65f096b05d18e84cc9672af4660f0f9547591 |
|
MD5 | 4790325010c242ff9dc3c7f02e5e1bef |
|
BLAKE2b-256 | eee54fa77b97823bcb71a3c0fd997ac925a902e55aab7325707851407271c74e |
Hashes for dimod-0.7.5-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e0e0ce8d4f1b900ad970d89fb06252be94bb087df0201924c96b4ac14b99a47 |
|
MD5 | 7cdd12da5433461eeac3fec8294f05c9 |
|
BLAKE2b-256 | bee89e44002494297cf9ce4e78b65aff264554c7bb407638c28fe0c43901ab09 |