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.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17e29badb8f2dcdafb39cc91863a8c5394b98f9e83904a2b6a065147e26960ca |
|
MD5 | 33cc64cf41ac5f95bc7edee0bcd27f73 |
|
BLAKE2b-256 | 85b3245d36d6fec00cb653ca795f76249f26781e4d716257389b360a96a0603f |
Hashes for dimod-0.8.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 984da7250049a088f1d7abf5b306a5a06c793e6618f9774bef1e835eba57016a |
|
MD5 | 16c7780baf97fccc7d0bbf7619a5e6ee |
|
BLAKE2b-256 | 6d7ac491b1cbb99d337dd4fc8c3cdc948b5ca162652cb5a2e6870b91facd8991 |
Hashes for dimod-0.8.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bae93dc1efdbf8b1ee7ed8abb0801628dde60cb5a5e06662bd7f1235729a7ac |
|
MD5 | b991938b407ec27770d66ea2e7d88009 |
|
BLAKE2b-256 | 51e03329783ebdbb891adfd0a51aa385aac15f95658a6d611d105b70339e17a3 |
Hashes for dimod-0.8.0-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98c16db40c9a75b170169ee4310654fd6dcd19080b739ad89e0e7deb404b59b8 |
|
MD5 | 368985b2e8c2e2ecee197327a187b457 |
|
BLAKE2b-256 | d2a0d17de6ae1ef67e98739040593ead906cbd157db634f4116bdd9152b954c6 |
Hashes for dimod-0.8.0-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | add46cf5badbac3d05f60be2ade5842154115e6538f698d56f09331e33c1dc9f |
|
MD5 | c70168f7eaf75290c35a28ee9543f33b |
|
BLAKE2b-256 | 32204fefae226b2a68d9e9396ddab241112508f0250298952b9124d6dc800519 |
Hashes for dimod-0.8.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 736a0a2127a369a744377cd1fd28d385256c2a3cfd508933fa869496a90edf37 |
|
MD5 | 7b979e273b0ce78d0ac515c320d1221c |
|
BLAKE2b-256 | 8b85eddb150553f3e839fb22a548303cd6c123ec6bc88f92b80b312f47804f6d |
Hashes for dimod-0.8.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b688ab4e060b873b2c76e569ec1f24be9ef5bd37b38a287b2092cb350faa916 |
|
MD5 | bbdca68cb6458ca1392d2c1b6b01b85f |
|
BLAKE2b-256 | 5b76c2ff724edb37f0f584ae2c4124434a6bca6bd73840bc08fbce9215f6697e |
Hashes for dimod-0.8.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40370033dc69de51624100af048701671e78871d7307868c4d1bb31eaa0b5560 |
|
MD5 | 1a497a8a251a8176b16eb8d2e39daef8 |
|
BLAKE2b-256 | 4d9ed78dabb0cee0f0475d71fe4d60237ceea61db99939a6fd71867574dee231 |
Hashes for dimod-0.8.0-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9874b8291e772a3ca3906d5f9b857248a8c7ffdd785c9a62f5d933aa284e597e |
|
MD5 | 6d0eb0d6f9ab16b71b24a33ce28b7ca7 |
|
BLAKE2b-256 | eba1774569c476fa6c02addb682c7199a34a3ee210cee6cf19c3c5f84dc1adb8 |
Hashes for dimod-0.8.0-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cea559386a688ddc67ce1aa0a87bddc57c4d28ee5aa0af3eb4e7f4d4e508a63 |
|
MD5 | 80fd853a144b455d2e057448eaea5ab2 |
|
BLAKE2b-256 | 15e2c32d94f2129eed529e04f5fd288dda221d6f1e14d58878e1a5025c68cdc6 |
Hashes for dimod-0.8.0-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9073d2cec300ec5c51622bf79977f027fc840e010255f72553f1db6d333aada |
|
MD5 | 15a9a271658bed3f213d460a6f9e93c5 |
|
BLAKE2b-256 | 8e653e2c5a15eb1d6ec8f18c1e519e7328360e68cff632fd5dcb673c9b164854 |
Hashes for dimod-0.8.0-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01287e7397852e7d336e38bd56da097755ec236f5ba07acac26645e510231171 |
|
MD5 | cd971972be25f24132de3d702b8151b2 |
|
BLAKE2b-256 | d2def600aa2013c0bd0a4b2c34f0b3b7408b0a3e71cd0e6c351819725fd80e43 |
Hashes for dimod-0.8.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b24e2f7ff4849fe9db074eb370ca4d81fe576ce13bc200efc569afc6c86eac9 |
|
MD5 | e251902d4139d09868a9c784cd1d58ec |
|
BLAKE2b-256 | 128b93fdef9e245cdd3bfdfa02238a212172a62c4fbc3f2fe299f66efc496895 |
Hashes for dimod-0.8.0-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e928b038129c355db7f5b7176b405cafd3c76bd3ca6d5d758f81305af4af194c |
|
MD5 | 547b3e75abbdf2c4149e594ed05d7800 |
|
BLAKE2b-256 | 0d15acdececf48d6abf7cdb9f332c8a0bedde840e12b0d1fce70f5d6996a1e33 |
Hashes for dimod-0.8.0-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b687a29035e870d7d9d94710794fde21ba38fcbf0535f91fe3cf04d2162bcdc3 |
|
MD5 | bb50c4b45f390741e02d5ef7c03bc50c |
|
BLAKE2b-256 | 0ac7dd5a3fc96630b1b3584f8d29b4237a5d2eb068a57ce82e1972e9633b4db8 |
Hashes for dimod-0.8.0-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e7c39e928ecbad9d727cc990a1c955b7b2c8d3d9de89edf06a16e5aaa5ebeb7 |
|
MD5 | 26f719ae5983a6d0841828c470eaf817 |
|
BLAKE2b-256 | f660de9e71a835e743765c0e38b551b42cb9f747be975d52668bdf2321dbe5c0 |
Hashes for dimod-0.8.0-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5e4ec7114cdddd4a9f108e334d479afa37be7af418b46f504c37c82b404587d |
|
MD5 | 2b39d9f4760a4c92542476d1b4d3c176 |
|
BLAKE2b-256 | a9eed943036d04e301b6671e15c1cc367d7070c88e25efcdae2e6c706f21420b |
Hashes for dimod-0.8.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc1c139b15060915337cd48e6f40dd4b706ba069a4a330d9c066edb333723abf |
|
MD5 | 9162da3f7a6dde860238431a7f1c3e42 |
|
BLAKE2b-256 | 791de23763a736cc5feaa74911a0bd77ec26f101604c3a9935482ac3fd18850d |
Hashes for dimod-0.8.0-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 963cb1d6983a8327d64a89663d44306a4cbe7e503179e8ac2356452972659c91 |
|
MD5 | 3f0c61905435758b0e09ad44432c3274 |
|
BLAKE2b-256 | c63fbfd7be230109f6472bcb08d4fd3b2823c64b7819799d77304ee306eb9021 |
Hashes for dimod-0.8.0-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0149e5c24a9b2dd35ddd41b58051a0519ff50c13bab172385c035eaaacf5bb90 |
|
MD5 | 03b5ff4434d9c0178ea58186119af9b0 |
|
BLAKE2b-256 | 6d151c95b6380e69991399dde9f7fd503221ab45607de30150bbe975a73e5cb9 |
Hashes for dimod-0.8.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13324bdadee11a1f92b1aaf44d2196bcdfd4202a2d89914dc73c9590bf647aee |
|
MD5 | c803cc56733ecbb4ab0a905dcbc9cf76 |
|
BLAKE2b-256 | 23485a14def09f3504115e839a6a818bfcbf7006f7c7e3161aebacb5aea1d5ab |
Hashes for dimod-0.8.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 189f3b8a1222720ea52a38e9851b8bb37c2bceddd1ef0d5ef772f3770f6ad1db |
|
MD5 | f6d2f3d73b8178783743850df3951ef7 |
|
BLAKE2b-256 | 23558664b11cd0e3932e863c1178d0f450b788cfa9df61c91cc1e5310576ce3c |
Hashes for dimod-0.8.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48f5875b483851863c8afeb02a51ca2a245afda3f661043413a97cdb51a585c0 |
|
MD5 | 7e9b344fe4a15ba62d9bb0dd302ff5b5 |
|
BLAKE2b-256 | cae27f9aa23bd04510f94b17cea8cfb9faeb27e0d4f9927ddef3c61749924514 |
Hashes for dimod-0.8.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3197f5095aa182e64753c631093d2257404501838b070dbd0cae609ed526efa0 |
|
MD5 | a974cf190f0339cbce86910289e2020c |
|
BLAKE2b-256 | 6babb628b293ef9bf7f647116e377e988cf341fb945e7ba071f77819113a7feb |
Hashes for dimod-0.8.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a991e756d2ec945ab5d88ee51a9e06e3d3e15b23659b9002137ef29e2c319190 |
|
MD5 | 1ec0c763bfe85825b01586d5c967bef5 |
|
BLAKE2b-256 | ecf950e536802fc288f414b61d7731c15fd78798f8a8ea01c1d8dc7b22f2400d |
Hashes for dimod-0.8.0-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dad00fcb397f2022e8ec03b11ccb41f129ca58779a17a809807970eff3f8fe09 |
|
MD5 | 89cf8360862bd257c210cc0db279f9bf |
|
BLAKE2b-256 | 66978a1911ddb88b30bf386eef8c163bf6d59b8b4f86a3617db3b3613930dbd7 |
Hashes for dimod-0.8.0-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 814a237d472848aac8275d4dcf3a2d9a3bdf2a6fd1bf3a9c268071420955b036 |
|
MD5 | ee9db378f3917fa6cffede38668738c5 |
|
BLAKE2b-256 | be4805e45e0188f6a92c7ab8832aea0cd9b8db3851ca4f79613432856ac84dc4 |