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.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48c5a662867d366955a85c39cbd75dd0388c83ef65ce586f4ed54d1b9d1e2db9 |
|
MD5 | fa91101ac5fbb30cea1713eb3cd78b3d |
|
BLAKE2b-256 | 892dfa7c9e27bcc1066c19a79fc7c0d843c16644fa82345a342f00d782594431 |
Hashes for dimod-0.8.7-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 687e706bc3b1fc542704d624e33c168b9fab70578dd67199525ffba1f632d98e |
|
MD5 | cb19b6e6f57b18cbf6f418fc39796c70 |
|
BLAKE2b-256 | e7e91224849588e51773c532583fadfb94b41965f0bb498a84da30f373efc138 |
Hashes for dimod-0.8.7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 877b9c142197ab8085205365f3c5b2a37477e122f46c33189ca6352d73f84f8d |
|
MD5 | 13e159478d6d819f61b3307cbe62783a |
|
BLAKE2b-256 | 526cda598c246f270876ce9d3edb6bb2aa81aa23e0cbe241bf43c70e5f01b2ab |
Hashes for dimod-0.8.7-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1251f1c85034b6dc91f97f82b89f944c76231f5cb8ade13b3bfb652dfc130547 |
|
MD5 | 20ebfe37110b4bffd05627991ca83e5b |
|
BLAKE2b-256 | b6cf18907c22714a219ccc3329039f94be5d4a3613ceab8a630c3ff3ab4a2e37 |
Hashes for dimod-0.8.7-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff4a7d7570e5d41b9c77ad8bf869c778b8e7f0b45ec22d1e392990458c3e7aa |
|
MD5 | c2eadae4ac87eee4d20adb4aa4cfa44d |
|
BLAKE2b-256 | f24712e4ab5d8a570821f855882e2ad7ccd5c44d2b8c7f5fefb805298ea03bf4 |
Hashes for dimod-0.8.7-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abeeb39c0edf573d9aa840d89926c0863977f2fc1ddc34019ac125587c189206 |
|
MD5 | 1fa27cbaf8396cbc175d883f9a67f541 |
|
BLAKE2b-256 | 376617c63d56a5ecbed77344f600640c3d79b5865402d2db0aed3d069192e320 |
Hashes for dimod-0.8.7-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf6d921451ad7b31a0bd0abe4c91317881f9ac93f25cfe3241a21ca75971166b |
|
MD5 | 99c6aa53614534743d763e283e57b607 |
|
BLAKE2b-256 | 0d7af65ca9d4112bb6f1f3115d1566779a8d62469cdca189623348e2b6b072b3 |
Hashes for dimod-0.8.7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4aab893daf9c12430ea2d402656d401bee7edff91a5d1469d5457a3242c5ab2e |
|
MD5 | f87639000c26881449e2915e79166a07 |
|
BLAKE2b-256 | 2e02557bdbcaf7f23a9b0248ded26cf83b54a5e8af85ceccea199517490c3fb8 |
Hashes for dimod-0.8.7-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66a2ce78d7f69de90e8aeb348366231c4f9f614254af3fdefcd091adeed22a99 |
|
MD5 | 3ccd2da6441ad5ce8e72b62c286fafdf |
|
BLAKE2b-256 | 0c2faa747a1bc1c900fdfdf32d300ac7f80f7f50c7fcdd1a3107d177fb33177b |
Hashes for dimod-0.8.7-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89ca80fdeffbca37d086d56b8617472709b0b8ae5f818a4a839479260b9c90f9 |
|
MD5 | 6b35ab6328072bca7b317d150f2eb9b7 |
|
BLAKE2b-256 | 2b8d98c48b1de7cb351e2c1a153fa50da250595dffe0c03d9ef5b381ef3b1c8b |
Hashes for dimod-0.8.7-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60871983b9e8a8c560e117a9c74c9232860f026c4e7b9e8f90274421b15e22eb |
|
MD5 | 7552029d5f0c85c7ae0e08765423ef6f |
|
BLAKE2b-256 | dcc8681510fb365f7a552cecc8dcf9a893feeb64c78acc215b5fd7d86c2e95cd |
Hashes for dimod-0.8.7-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac79a8ca12a88160984a996bd0a89ac49bc6ee77902067f7ed7b3ef451b1d6d1 |
|
MD5 | 65cd77abf6f851cf2c6ace92d6691f7f |
|
BLAKE2b-256 | c1665e037be7857be1f3b47edd0459f81d27291b371d6135d31de5b9514fc99c |
Hashes for dimod-0.8.7-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f40704988a4ce4a90d7c0fff08d34e5fd6aadf2a01293d47be0ad11be03cfd9 |
|
MD5 | 18e42c2f61bfd1c9d911bb6d11143cfe |
|
BLAKE2b-256 | dcc3bf280ea5fd80be12f7cfb0b96329d7e55e4b838bd3547a99fb2ca9b73b0c |
Hashes for dimod-0.8.7-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e41c9236e9190f9aadbd7f4740817776c1d29ad1ef577826791e3bc8c864ff0f |
|
MD5 | 2d768b594b1266d601a265003a627188 |
|
BLAKE2b-256 | 97751c708e9ec9188c8ad5ee9cbd92b4bd87e906cc958d22c788d33920b0b859 |
Hashes for dimod-0.8.7-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3535cc12e7e158b865c78186dd1f042de4624f994bd8dfc13e9f4bb055186b5a |
|
MD5 | 8bee38d4b194765d7abb36287dda1ec4 |
|
BLAKE2b-256 | f1f4c723da99c547fdbae3e1ee8046b72f9cc8e37f48af5162df15330e265997 |
Hashes for dimod-0.8.7-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5e9da8c04f414f35933551d129ddf58e053d53226d1e55061dac9dae04676ea |
|
MD5 | 4f2a960b87027de9ab7b70c7c1c67894 |
|
BLAKE2b-256 | bb8d58d370eb0cacfd4c1d0163439d54068ca22234ff5867db424e849df37317 |
Hashes for dimod-0.8.7-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 291777a168980fd642bf7fe885231bd230b66d93b6fd1b3f12b4ff795fd4eb7b |
|
MD5 | c5e234f14370e63bfa58304d1358a461 |
|
BLAKE2b-256 | 2f01fb74e42ce67109c4f55b1bda1de6a0725bfdf2f8a59d43d5404a56a27bb8 |
Hashes for dimod-0.8.7-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4643e2752fe4ca5e55db295ec0392ea2ec2598bfa83293d0fca6a0511cfa334 |
|
MD5 | 80219cebb6d182acd3c3a2cf661e600f |
|
BLAKE2b-256 | 78d2e9f439b62094540748b2ff74cba8aea04c8591bc01cc11bfd6836bdb28b8 |
Hashes for dimod-0.8.7-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32e02098a23a83ec68783179246a94110bc6897b560dbd1a32660c9852f72801 |
|
MD5 | c2da3c7ea23b880c3fadcb654516b4cd |
|
BLAKE2b-256 | 5c0308bb5badb76066dd1d9d9d6742c9a27f4a8868bc8b44db72b02b66691c3f |
Hashes for dimod-0.8.7-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b044300cb404adbe71960e377e0009518e3cf71a57f22eca322da8d04dae5ef |
|
MD5 | efaafad1d08cc66912f29d812c396c38 |
|
BLAKE2b-256 | 35e0f39dc19e791ffb1b0cf01b138afdfd07c1ee75a1eb8225fd5eeb51d57180 |
Hashes for dimod-0.8.7-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffb15a31b33f1741db95c3d8c133f29f349729beea118c0286311bacf30a2aeb |
|
MD5 | c3e79171dd713ff7c66705ebcf4bf1a1 |
|
BLAKE2b-256 | f69d7af23c6290069efd94fd96efd3e79667fdc7e87a9b1edab6f86fe6b88082 |
Hashes for dimod-0.8.7-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c248eec112b9ac20a2133b08089928610ee206fa0b4bdac6cda38c2ce163e69b |
|
MD5 | 98b3f28afd9774b09669a6788ffc21ce |
|
BLAKE2b-256 | 9bb55a12b9b775c7a7620e5dc1c9de1746dadeb361b67210045c30baad48b1e2 |
Hashes for dimod-0.8.7-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e1f92e778fe1c3f55da7482bcd1d960d3473f4db740ba5d0c3a4fdc84b49501 |
|
MD5 | 2da049b78dcd3c4ec69b89daa279efd9 |
|
BLAKE2b-256 | d64699fe5247b4c1db372b395efbd3405ad76cedda9a52388ef65b0e37413fde |
Hashes for dimod-0.8.7-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9b2005140bbf2dd889dfd9153e18d18893851d725cde22743d3d617b233eca6 |
|
MD5 | 6013b4aa4c8a6251d4423140a278cf98 |
|
BLAKE2b-256 | d37ae826cf8d8a9cab7f1040633e28a89753165562a25aeb9eb8485e412addcc |
Hashes for dimod-0.8.7-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb0b377f0b97cab34829df0bd06f34eeaa1d8f1f2414f337f44bd8aa58ea86f6 |
|
MD5 | 79c2444236521878fd285d242fe6d2ba |
|
BLAKE2b-256 | c3b05d20973e55464374fa0a24cdab2294afee3cc6b06e9cb7b7db92b987e13b |
Hashes for dimod-0.8.7-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44567d308e04ce1d296a76ddcaa60af36c8b20ade66a71d88cec8ee05fef4374 |
|
MD5 | b730b9f8fa23c58645d3fe2a69453360 |
|
BLAKE2b-256 | 6e49e432e992a5b22a03fab06f2a69880070825033fa9ec5dfd99a878b228f52 |
Hashes for dimod-0.8.7-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e26e11b86d97f1e625cfafbc47474bbe4ce968d8b8ca388efc8b4478486f6a62 |
|
MD5 | 01c14a5931d3fcecac9b919741c42bd3 |
|
BLAKE2b-256 | 904a66df482c7fe16a59434c476be611be5d0bcc22e00d1463ca8854a1d7479d |