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
Note that for an installation from source some functionality requires that your system have Boost C++ libraries installed.
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.8.18-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e4bf7331cb9f536540d11ab021a2044a5b8f5a00fc841227df7b82e6ba88696 |
|
MD5 | 41c6206fedca412c80418da8c5eade2c |
|
BLAKE2b-256 | b4af8446e9afea05eaced3337c1d63501be4c2e57b08a2ddc3243660f5257a87 |
Hashes for dimod-0.8.18-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bff4116dba3d219872700aa6208baff74cc45f0ae857a35fc0cd4b67c4d01ae |
|
MD5 | 077382a4e153666a682716dec6e6155a |
|
BLAKE2b-256 | 57bfccadd5295c7a891b09397b7bfdc50e72cf11bb2afb5430c9afa7ea4d7630 |
Hashes for dimod-0.8.18-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bce8d355981baa646bd267b180144ddceaa56e55177c5b938757384678640b5 |
|
MD5 | ec53f22f8a335c38b6ed03972c669edd |
|
BLAKE2b-256 | 681ab13a9d97754f0572b9bf6e99dc4576504d036930748ac3822ca0c00d8e4c |
Hashes for dimod-0.8.18-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48b505e7357a4bcff33af60a04a67816123832beee6687a64dd8cb22a2483ba7 |
|
MD5 | fbdafe30181e11f713236e3db1fc2170 |
|
BLAKE2b-256 | 220516ec92cfc7b4cdadcc5ab6038da569d5bc2eaf7956e687f74b1635510e3c |
Hashes for dimod-0.8.18-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 555e21b93bc00265b0f7235a744cdd36aedd36eb77cbb225acb6b4d2feff3263 |
|
MD5 | 56152f196e77f20169358dc130e49ded |
|
BLAKE2b-256 | fbd1cac548ba023bd312bfaa11e1f6e63e44c35ca367febba701e5428142aac9 |
Hashes for dimod-0.8.18-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd809f577135b65a13402dde61e41a18b220fc1f04960a5397c577d45b2dfd75 |
|
MD5 | 47c6a9776c5676c78bf73f8130642704 |
|
BLAKE2b-256 | 32e485b1761c1c8917648b0a13bbdda838d95d0ca5505cbb4be8bbbae2f8362c |
Hashes for dimod-0.8.18-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 885f0b067e6bf1e869cede250cb7cffa78057f5931a2a7dde257b41b4680f5a6 |
|
MD5 | 2234d21ac0bfa1cf04dc53e3fc9bc9af |
|
BLAKE2b-256 | 1250a6acf9666241f34c7d462eaaaf8b011a9c5631c493fee67591e9abd8786a |
Hashes for dimod-0.8.18-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ee2824b5898cbb364fde32daa5d2348c44542fb4c6e562960ea61fd9e90f1bc |
|
MD5 | 7b1d3cf9ea5802ebc6f5f0fbcf9d9e4e |
|
BLAKE2b-256 | 966e164f57370a6fafe3ea12b6615c51bd00de70fa58cd8e6be34225165e74a6 |
Hashes for dimod-0.8.18-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd5b589072dbce94a0da302ea76dadf23d9c7a04dff83557ea21a4996bfbfb41 |
|
MD5 | 103ccfc648faaa503237c444627655a0 |
|
BLAKE2b-256 | bbe1308ef1e9c3d2b81e14f3883412d783aae8551743eb560d39f8e0a008c31e |
Hashes for dimod-0.8.18-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e4dc1e886bb9c3a6801dce7e6f07e1c0ccf66f752c0f9c971fac6ce93690586 |
|
MD5 | 356c84fa19012cfc66925d97664a80be |
|
BLAKE2b-256 | c5c402be2294332d733c0a258dca4dabb8b4dfa84abc8db41fa611b702848cc4 |
Hashes for dimod-0.8.18-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632f1a8bce9a0ce7d470cfecf3c7c94fe8f270dec46010cb99d56bec070df3e7 |
|
MD5 | 40afb443a03c8df0f3ecf544fa95f1ba |
|
BLAKE2b-256 | 1242f4226cd572ff57f95d09bb90fa66d45538d76ea093b51a2fb997ec71eb17 |
Hashes for dimod-0.8.18-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e05e73269e429c852e363a856cb4e2a35e31d0367cba637b89fadacb31109d8 |
|
MD5 | 4ed9840fae160976aa1b964f72ae02c4 |
|
BLAKE2b-256 | 5a91bfd4625abd13822718ec810ff5895159d9c05c7881deed4a85ecba73170c |
Hashes for dimod-0.8.18-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f27bc04539fbf9c4fc34865da0af496ab868442fb58ccdfce7cca3a876190285 |
|
MD5 | 5fa80f8426988936699b859ec387c195 |
|
BLAKE2b-256 | ce33e5bddef127e2387707e88f77e95f82107fa624a3ae8f9e73cfdaabbea101 |
Hashes for dimod-0.8.18-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bbebed6c71bddf7bc6a3a8658c03f44c2b6cf4465d11d5f86f8421253f23b45 |
|
MD5 | d2c2e771511da78c930eee20566add8d |
|
BLAKE2b-256 | 79d934b51a1195088320228b4fe24156e6224aa618a783ef2e2d019a457c2a02 |
Hashes for dimod-0.8.18-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f7a80970064ea1411f74d9767bbcbd775bdf7a4dc765f7816f812680ca4946c |
|
MD5 | a3daad63810efc7bc8f9738215a59457 |
|
BLAKE2b-256 | e88d7a0e298e0b1818f1d434c0cad5c7db057e6158b26eae5664402268552bd9 |
Hashes for dimod-0.8.18-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bed2c4c1abb3e4c42709f35f84e3599e948d77b6699421b73195f5eec972c9f |
|
MD5 | 895356b4a7554a9ee5b4c94ace6cb16a |
|
BLAKE2b-256 | e9ad49164353935656af9f625fc4f646604f02571695e487fcd706628ff9bb8d |
Hashes for dimod-0.8.18-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e17ef041bb46149198cb9868f2205a2f312c708010bc4190e7b9bb7e7297f722 |
|
MD5 | 4c1c9a5e057221298ee7f832f363ee17 |
|
BLAKE2b-256 | d898028da1c35b7f9c8979886e145006b5ca277250f7142c966f16b774aa7857 |
Hashes for dimod-0.8.18-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f26b9c7821fdac08c52358cdb2ab69f00a9c929b386c5a9665d3af13ebaf6a78 |
|
MD5 | 226a9ef944e1ac15f5f0c41cfa9d5ba1 |
|
BLAKE2b-256 | 61f40835f589aa1b7b7085d4ba01b407b988a2d1851d96b65817aa65d7568378 |
Hashes for dimod-0.8.18-cp35-cp35m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dd4dbacae83e59b0cf5935ac46d1835131cfdeb5a3578b28da3c877cd450550 |
|
MD5 | 77e5c604856953b1493a18defb5aeb40 |
|
BLAKE2b-256 | 9bef064e4c609adefae6632f399c8d20f26dc8261d058de81ce68f5bb94efcc6 |
Hashes for dimod-0.8.18-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a67df26ac4432f11c9c79561b47864865f472c7a0bfd3cb9999ed77cb3aa7d9 |
|
MD5 | b2f1c1428936291fec06cacb5688987a |
|
BLAKE2b-256 | bc084cf6e5dc2334fba617a49cadf6aafb4a3d5569cdb4754c7be29e18f87a17 |
Hashes for dimod-0.8.18-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0f9e185029a462ed52d577ba9d00cdcbc244f76bf514edadd75f3cc45ee8a6e |
|
MD5 | 16aa51edeb53e0d851737fed62afc1b8 |
|
BLAKE2b-256 | 37c3cccc44ba1aaef140afa3be9748a2191e0730c4dcc4cf31bcb6719ecb0623 |
Hashes for dimod-0.8.18-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50501570ec022f60c07af17c5622973f6d99d9922e3cf124fe56be32ac95a076 |
|
MD5 | a65aa51a0638347e5160fa28e901aa7e |
|
BLAKE2b-256 | 9f44bd5e99e9acb12fef0af12dfd1552adf0b175bcdc7dac972fb6dcd5aefcbf |
Hashes for dimod-0.8.18-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f29ffae8242d00d142e8c17771963de06ca036405daf136b97193e78eb30e3e |
|
MD5 | f5d9de42b7283ec252a71afee64e01fb |
|
BLAKE2b-256 | 9c79dd142c4ec11d076fde4ecb05b20bbc290d6d1122955805787f8163411ba2 |
Hashes for dimod-0.8.18-cp34-cp34m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea3234b57337419747372566dc13006487af1906ee24ce17f3549725a714a37b |
|
MD5 | c220a75fc5ceabe925d5c115d46f6871 |
|
BLAKE2b-256 | fa3905ed1362ea4de880676db33e60fd9fabab30a5a3ab4867aa26f763868649 |
Hashes for dimod-0.8.18-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 418f5e7fb2f9b5b62739dd71fbb83bb1a00c99899273d4d7ef7cb2787a61b8b7 |
|
MD5 | e9e26ef29a546a8905098bdd544f2b2f |
|
BLAKE2b-256 | 1a622d9cc56b3e856d5dfeeee8ce4b7428ae89e5210e23c82aa7d1ca89eeb47a |
Hashes for dimod-0.8.18-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb7e834ba6696927ab0095b8c12e5a8772185f299e4c31ce87748a2442c2853e |
|
MD5 | b54af8e5ad085e32f0854153efee9681 |
|
BLAKE2b-256 | 9131c2ada55d6c573efb59386d6c9a63d73341d6bb3a368677d9b3ebd8d8f832 |
Hashes for dimod-0.8.18-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d969592dc3b039433a2ed4d0e1e6a621b2781019a6409e8075f7784dfc3138d |
|
MD5 | d0c0d3fda8ff8aee3182697ddc1248db |
|
BLAKE2b-256 | eb8af60a1c13061caa9795a2f83c4c8bee0cf5cf56d52442b6708442f90b1630 |
Hashes for dimod-0.8.18-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f4c8d6aceaadccd80f1b7d4f0cd2d8c41faab4621aa3e377d40692d0d948084 |
|
MD5 | 4a7c1b207794e251dc2a6cc5e04718e0 |
|
BLAKE2b-256 | 7a497465f43d51321c94b8deb5411e3e17e6231bc7e5648641d5e32a10de7b91 |
Hashes for dimod-0.8.18-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e97fee66599222070faee82f62ae10446313ec5c15e4aa3c01864a0e31420fff |
|
MD5 | 51e558c2d40b04ad201905cc6274b520 |
|
BLAKE2b-256 | 1242baf761451a844f2f79a0306f6916fa406bcde64044300aa0d5a83bdbf29e |
Hashes for dimod-0.8.18-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1eda449615afdf914abafddcbc3ea0128879d23c1317fc8f68fa47611b9b29c |
|
MD5 | b2510c4463ddf3239ad98602621785da |
|
BLAKE2b-256 | eb12dfde92acb1d7f0dafa44426242f6686addd3e5eb9bd302825a6a757ce637 |
Hashes for dimod-0.8.18-cp27-cp27m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ce3f3b167125dc9f18e011a282f2c843edd88686362fc61bfbe44c5f2eb58b0 |
|
MD5 | 0d92fc6699703342b7590d3b1537261f |
|
BLAKE2b-256 | 435151de3e3cce525aa572bfbeb95ccc0814e950e407c967dd7c724554c8a9ab |