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.9-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92c13c781ee311e6cdb59d016a6457807e189982ed805c251bdc14909ff0400c |
|
MD5 | d0ab3c403c552259eab15c42af2f44ed |
|
BLAKE2b-256 | 7ac7dff950a0458e12a9a54313294e69ffa5af867a9e4511ec54eb57ae25e9c7 |
Hashes for dimod-0.8.9-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2d9345d2209e97d5f73edba0825a84b9af13b0cfb26734213f0e7a5c44263b1 |
|
MD5 | 8fa76b076d55d9c4b4f01393144ccf02 |
|
BLAKE2b-256 | 148593bf330208ae17d12450302749eb17ce1104e72e7fc597bdbee674bfb8a3 |
Hashes for dimod-0.8.9-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af3f6df43b8a939caecc7d9246569ca836314bf79b61075c397d4df6ead01bea |
|
MD5 | 0c3568f981d5f75e3bc9c82685eb5b88 |
|
BLAKE2b-256 | 9d0df952cd1d448a5d6d460ef11faa718d817899db9a0f38c25b8cb61376f4c8 |
Hashes for dimod-0.8.9-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 122191a68abb99129f80ac245f41ec73196e8782b0b1b131653cca26fc977347 |
|
MD5 | 93568da4fe5017157dde58c429e63f65 |
|
BLAKE2b-256 | d5e232b343ae3efc05f8e0c772661f32808bf2ea6c0a6c63fa329bd03a46bcf7 |
Hashes for dimod-0.8.9-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1874f3d5d968ab813a8e2e75caffb3e3dd1fb3970413f34d0822cab1b4665319 |
|
MD5 | e81892ad460988d5f28a103b92df8e1d |
|
BLAKE2b-256 | ebd5eb7d1a069e68ae7accb1302a9b4990925a8c9094f41ae504a31a323d92f0 |
Hashes for dimod-0.8.9-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3de39a0e9b31723c372de862075279e7743999e77c0ff5125627a2c0b1ea4d91 |
|
MD5 | e5d55608d2e6ad03274d033935eff7af |
|
BLAKE2b-256 | b2019c232a5ae7359ffe0b4c62b5e48d3583c9b601ba608a9ec3c7cac676c85f |
Hashes for dimod-0.8.9-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d2c688ff77d90ce58ccc9e04375f804694c9925f6ab33e93d0e00dcd39dd98f |
|
MD5 | 5e82989de6bebdbd72f5a7392a6c597c |
|
BLAKE2b-256 | d87d889d41f727c7400739a11930814b9b4120560854528d521c1f6c10fdcd1f |
Hashes for dimod-0.8.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0830169b1037c2661e4fda51d4c1cca1ed6068b4c7a5559e096fae84a3b0f811 |
|
MD5 | f1954f5c544ebffbbbc48a44af2488ea |
|
BLAKE2b-256 | 6cd1486ce88dbc10487bb896e433e453a76903acdff09f1a029abdb7832caf8b |
Hashes for dimod-0.8.9-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f551026ce79893c5305b6e447c82f44dd2f15d461bf353115ed0eb73929bb0ec |
|
MD5 | 03044aebbe3c36bfe776afdfd803a445 |
|
BLAKE2b-256 | 66b185d8763839c304fc336717116125e8a56fb742e586220cd26135771c5e17 |
Hashes for dimod-0.8.9-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df88eb33acd549011e02feefb8394ab7e9c8927d2aae8b51bc3729dbbd1ec9a9 |
|
MD5 | 501209d9928edc1dcd42dc171263ba77 |
|
BLAKE2b-256 | 64b2660ffc06ea5bcc1e337f54bc2d7b45daf6448280e9415d9d48e0f7a85034 |
Hashes for dimod-0.8.9-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 560d20ac9224bfe32caaba0705614f12aadd3cbb37765896cc00a97521f35878 |
|
MD5 | 921054476475355857b66b05911d407e |
|
BLAKE2b-256 | ac7b607d6d6a73491fa566c440d35a7e361f05a7800e0208dc6b77375d1713c9 |
Hashes for dimod-0.8.9-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d99dfca264dedbff742da262293d3caaee78820b816ede5351ed144119e9f309 |
|
MD5 | 1b16cc6c43addefc0d6537e8bc9e7b7e |
|
BLAKE2b-256 | 6e85cebb6f0686975fc5e8f6473017b1bac2450260e30e7804e506384db0c0bb |
Hashes for dimod-0.8.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 551c72f5ee0ff8c46338e0af8d4f0aba8467768989261707a64b65023422c5e8 |
|
MD5 | b5e573b7d0b97b48b8d3a358abda2fe7 |
|
BLAKE2b-256 | 95912ec80f36503fc2c81dbca5c91a7a2255dfbc88ec650d58a1ae2bf87a0c9d |
Hashes for dimod-0.8.9-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f396856dcbd2ffa0a692bfe803385c5fa2c601cff030312a7aa6fc7f1aefc598 |
|
MD5 | e0b29f4afe693c49a1b6549ceab88c4b |
|
BLAKE2b-256 | c87c9f25589f0b47b68923aefd14d2619f75e776565cbbe64ca67c31908c7b65 |
Hashes for dimod-0.8.9-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4435f570688926aa2f565e0142beef29c23396788dd0af9c6669fafd0dcfd28d |
|
MD5 | 714b99280b2b3a3de17428c37900a316 |
|
BLAKE2b-256 | c51b6e89e1172ba03c52b1dd877eff75db19dc28980134e2b76372969c7971ee |
Hashes for dimod-0.8.9-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a47842bf290fb3045a88f1a131287cb554eac130e1d8f6b29a7ecbfdfcff043 |
|
MD5 | e01337f3092d5f9452c2b3c838ed7e47 |
|
BLAKE2b-256 | 7707508a46d6b14e15e24dbb06bbeb184bf946ce7f974dfd22da0b3024ec4724 |
Hashes for dimod-0.8.9-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1024da50fb31e90b1c7c88fbe8cd73e0670bed297e8dc85cf71336d84def8326 |
|
MD5 | edcfe3b2c5ae1a890ee51c69b30fe417 |
|
BLAKE2b-256 | 4ab8c366f6e60fdc1b0a5ceda1df346dd3cac3b959377df82c5e7c211bb57d3f |
Hashes for dimod-0.8.9-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fdaf45de17ac7d21ed6a864f87a06cd567e895dbb03b0872ec1efb71507b4d8 |
|
MD5 | 7549f9baaeb240cd8a2e7bd7d4e137e1 |
|
BLAKE2b-256 | 5677ab17035756df2d926046005d056f7c25b31328ea2dcaffc9a7de0b4a6cba |
Hashes for dimod-0.8.9-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 877c610758d8efefebc784f9dc480cad03f2664456463bd6e9c8beb42c41b6dd |
|
MD5 | 1b1aa993eebbc0fd2a32ca5e8a33e794 |
|
BLAKE2b-256 | dc072d9daa9290f241b78ea347a1f024f0f6f47873bb950e177c877fca52c54c |
Hashes for dimod-0.8.9-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0de15e231241c4fa8e12b53a967a880a94aa70dec800de23526a175bb1f874a0 |
|
MD5 | 8b61762c8c0c366b97bad38173210623 |
|
BLAKE2b-256 | d257a12d1ba044892917760900f06557e77fc2d1e09db8a5d957b093dc7b4a25 |
Hashes for dimod-0.8.9-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8693e19e96b0e59152c3fb8a0ee7b938b60e4ddb9b24ef93ffb696ceb4cbc57a |
|
MD5 | 7a44b8620e4621fd1e7b40917eec9f65 |
|
BLAKE2b-256 | db44fcb0cea97f01e82dc36b6fbd732ef03104a58a2fbcf8d824ab4bee6f2fe2 |
Hashes for dimod-0.8.9-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ead7d857dfbbbb0254c7bc1038ba4fc10eb1322c4edb36fa7fc4ad81cd8e7830 |
|
MD5 | 681d1385a95af0925159c05c168c4c4f |
|
BLAKE2b-256 | 4438ae73ac8431e7f54f74115b85a201f3346df62b5ea6d23e985bcfd4ccdac1 |
Hashes for dimod-0.8.9-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fea9f577f7e271b512b2c97043357e1b3a7a3a0227a5546f621a8ac860bb8b50 |
|
MD5 | 5bdd7713656f94c31520320d14a251d8 |
|
BLAKE2b-256 | fd0b1ba85614cd2f1383172ee37d7af3e72ba9fefec3b26ea92661f3f01d6ebf |
Hashes for dimod-0.8.9-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a72be3194feebada74b5e027826b92117f96d488d227d47d0909801e7bb68af |
|
MD5 | b44b031a838836a94f16290a93814e05 |
|
BLAKE2b-256 | 682eb1b76bcd156e8bc7b818295244486452d0400fd6131b941cc13035e74782 |
Hashes for dimod-0.8.9-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0d800a970701bd0f254007e6c49fcbffb1dc934b6a71c14940452db69babc7 |
|
MD5 | f1a46d38aa8b221f83dba8325b9bd6f0 |
|
BLAKE2b-256 | de50cb00a201968b2a10203fb80a2383b53b757a358bafb26ada788f156deb13 |
Hashes for dimod-0.8.9-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 779d0c0b742b323c35800c96fd35e4f9e6cef7c8e67af53a79d7169a84aa8acb |
|
MD5 | 596c779a00194cc600db930b43a8b503 |
|
BLAKE2b-256 | 3b3f57043fe6678397687625f163256b523656226de4ff071cf21aa941d39c46 |
Hashes for dimod-0.8.9-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d5719f92a7f610f28c5638a91f00ea10d231b74054a32b954e046bf5a834765 |
|
MD5 | f7fccb556e7ee6944b14e7fa18e703f8 |
|
BLAKE2b-256 | f3d0aede3d3e5c271018d7c9ac2ad5aadc28495683abcfe477c149fc30fcd975 |