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.8-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdd3026bbc5a1bd81dd36417f01ce67cfb55449862359c781fc2f7e5db140a96 |
|
MD5 | 1c8b9515c5df8add1bcbf7b7504bb0a3 |
|
BLAKE2b-256 | b66bc823c1ce8556d369fcc5da9a29a3fffd35d8a322834507d06dacb54d0721 |
Hashes for dimod-0.7.8-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13f5d58d56b36c297cd4422206620f480702ca98403ab8885b62991e50e97d4c |
|
MD5 | 414056e17d5e3d11e1b22db550518776 |
|
BLAKE2b-256 | 0ef266a20f5d9a5efdff693e30a4b9ae57372910799332ce0b7e15777ea06032 |
Hashes for dimod-0.7.8-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dca79e30c628dbe4b47f27981375600588d6620a68b80da7d747b21c243777d |
|
MD5 | 49ac2fa95dfd29be75233bd5b5240ab3 |
|
BLAKE2b-256 | 6a37b6cb9d18c442a47df18e47861466cbdbc107ddb6f99313d250b8c2f1685a |
Hashes for dimod-0.7.8-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 736c5fb874b48ef84878d457c7d942bd5b36196fb7c783625f21d1650bd921de |
|
MD5 | 5e7ea1fd8f8aba052f41bcfa3e29d9e9 |
|
BLAKE2b-256 | d88a46e0b84a591b12bfb7c35aa6b1132734930ba3bc62682a573bd036432523 |
Hashes for dimod-0.7.8-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37017350e0007526a6320bf7a19cb22ac73e48f3dc6de08c0dddae222be708ac |
|
MD5 | 6a24aa1b4b58df515e840c6a69d9ecaa |
|
BLAKE2b-256 | 269f3d75fcf1ec661b79a5308fee8afd6cfb94470e69484e18dd3cab31c4d7b1 |
Hashes for dimod-0.7.8-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a383d241fb4812dc7c7678801a51531de291471db44ab74a2541cb148e8ba4ab |
|
MD5 | e74d0f665a27575d809404fa8d34969a |
|
BLAKE2b-256 | e981a7fc2d6a1e4a1d09f8be83d9b06c72e4f3c255329445e01816d8a48dd350 |
Hashes for dimod-0.7.8-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d172b98f499d5eda7e7a016deabde592a15e93a484de140325d29815ab99ae7b |
|
MD5 | a6eca2356fef42d58c6318fdd3efe5ba |
|
BLAKE2b-256 | 147ae3d6dc8be482f19a335cc8324616435ea55129387e65dabb3eec69d20a1f |
Hashes for dimod-0.7.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 370698b992e2f295432c3cc29d00ad9f34c8964b54d51341366f1e43e85ff4f1 |
|
MD5 | 106a0b3b768c3710c5dfb3bcf0bcae3e |
|
BLAKE2b-256 | 760623252aee9b0455e367a660917c8196c8d2dbfb121dc39f6c9d88ac6e0fe7 |
Hashes for dimod-0.7.8-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17a1db7d4a82a645ccb855d80002a5bf1b8bf17055507f6f9eb526f1dff82e81 |
|
MD5 | cf687601bf052be2a5585b7e0fcf8b37 |
|
BLAKE2b-256 | 42b534a4f7304c0768fadf4e7e6ffc1171cfbd52a52651eea70dad144df2ed2a |
Hashes for dimod-0.7.8-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99e32ba865def57eeffb2ae3200506af49a11de521fca3c811ea1a6266ad4132 |
|
MD5 | f5fe8eb71f03f237defcd8551f1ba313 |
|
BLAKE2b-256 | e0ef979bbaaf2eb06c8cc53991fa49b64c2ceb77dfeb5677a6c8ec5a2d43e7dd |
Hashes for dimod-0.7.8-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2122f3f2cf705cf3e9ebb05d139de5bfbc7b9c17f7cf2e569dbb146915d91f52 |
|
MD5 | cd1caf27e308b46df12f26158088dc82 |
|
BLAKE2b-256 | 6d6672a6fbe024f94fbb5724521be8106df685552de0c74b5d75762f89d292d4 |
Hashes for dimod-0.7.8-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8931d88dba2ae036bce165a3d5dd38bb9694cd23f075404867e71c772c43a09 |
|
MD5 | 315b7b538e236afb0c562cfa9267d208 |
|
BLAKE2b-256 | 8d3f4e185f3b6aedf78a2101d95174cb3d9f210b82e8ebb3a5b144f033075415 |
Hashes for dimod-0.7.8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 796b8a0e8828b22e6a690c6ec9e26b861feb9ad41efe1316bd890004d47b1e18 |
|
MD5 | 3830b094f70bb0dc762aa0ad6ce0703f |
|
BLAKE2b-256 | 9424c953e0f8b6c3fbbc1ab7993f902170af0126213e24e1501155f7d37799f4 |
Hashes for dimod-0.7.8-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50c0c85da411f09088faab65a5d931fd84e4b64979a27f10d48cd8f1b61a4dfb |
|
MD5 | 959410720034f6ffe02e09bf1200954d |
|
BLAKE2b-256 | 04325b5879c8759e67167029df5f7c7e8e9c6a45f3718d9094fa38964cebc942 |
Hashes for dimod-0.7.8-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 063663568863d4bd41ad6c8e2f899448360bae8dc7537bd58d35eb736b34bbd9 |
|
MD5 | 7ac7816bf662b0843a30a4bb757bb536 |
|
BLAKE2b-256 | af8da9627e8a8c57eb10fd85394c4546babdb4e630710ace7d9afd3a0cdd166a |
Hashes for dimod-0.7.8-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cf2a87d7064de5b7d651bc600329a44d0bdd5ed347c85e0b306b53c834a80c9 |
|
MD5 | b8c1b410dcdfd7b1b74dbe8724bde892 |
|
BLAKE2b-256 | 4d99588602945b3f1e29d99171eebdacbb2fcbdb85ccf9a7da47d7d829d8d544 |
Hashes for dimod-0.7.8-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e755f2378643552a83df055396f3439ce7f4f4d01aa5dc055e5966af61078446 |
|
MD5 | 3660afd240a694b16e62d30ff541f689 |
|
BLAKE2b-256 | 2fc0db1e9a36242658820d36e590c26dae076e090ee3017a1b71a1495243c67c |
Hashes for dimod-0.7.8-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40f2d68e31d0d18bd121b41709ad3f0813c2f59a53368cef285c0f8c0f47e392 |
|
MD5 | 105b3b1fa2445da03768693cd08409cd |
|
BLAKE2b-256 | 9439b3e381ce6c991866f629dd74b75ddf6086cd13eb23fd07a24d56142c98f2 |
Hashes for dimod-0.7.8-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0336e2b25a3a1f3e4d14415cb2e043fe79a115351c61e4708b895c1178bea4d0 |
|
MD5 | 54de660343fa2fb5ff51a00ee3477e01 |
|
BLAKE2b-256 | ce6b0fdfc3320cc39f0775ced7e1403cdf758a0c06d95b25b1f98c87cf16fdc3 |
Hashes for dimod-0.7.8-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae32479a9b644e614b6345cfed9eb2f15f7490add5c7aaf00471ff99c041031c |
|
MD5 | 6f31855922ae9d313dda948f9bd9e289 |
|
BLAKE2b-256 | d97cc0d74b7a50f26e46927d442a9f271edd212b133896eb022f8dda87e57d3a |
Hashes for dimod-0.7.8-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3a2eb0797a295f248c9d85e94f791dfe9643a6ea108b04ecfd0fb657b4a57fd |
|
MD5 | 891e3263b469010e575912c3bfefd4e2 |
|
BLAKE2b-256 | c2b56e1d4d876e8f862cbda071d531142e0a37ff3f07b25e64e00380790c9644 |
Hashes for dimod-0.7.8-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68eae4e6376a670ee86c5e80492be4b85f744b75b625d7796dc62dfd46e4b65b |
|
MD5 | 44dd4cbd751f17f5bc7c156817358fdd |
|
BLAKE2b-256 | 48211c4cc65d8a285a1055d8cb586240abfb35a80719345e574c42897c29c729 |
Hashes for dimod-0.7.8-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a518e9f62ee3164678947bee0c210a80ce22f53d96e1a9603de0d6e0a360ed9d |
|
MD5 | 0464e9ae8eaaba5028528cc80cca5a20 |
|
BLAKE2b-256 | c15c6d3631915ddb4a56eb85ae0425093975a9caf0a2562503bcff20b5d1b20d |
Hashes for dimod-0.7.8-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5101b60345750fd1a743e28a665c97ad8aa94d3afc3a8d9adef6987300353de |
|
MD5 | d65c87b4e5a6170d027bb57f773b969e |
|
BLAKE2b-256 | 6496ed3a1865bc6df271e882da631bb73448cbb2318541f8c068ddec4e60b967 |
Hashes for dimod-0.7.8-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb5b61b1f4b1ed940046330479941e6ed69526d1df9f48221b8a66fd1d63d7fa |
|
MD5 | f1a14b62e31a8d996019969589a7dae7 |
|
BLAKE2b-256 | 6f2c473b23dd3a0d8cfda93e086460bd142853439f91c51a9e2c0601394a4950 |
Hashes for dimod-0.7.8-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89e646a087f143ca1163f73366f133ec9eb669ff84a55c911f538506a1c6bd90 |
|
MD5 | 3d58eca43df491d8ba3b181dd9121e64 |
|
BLAKE2b-256 | 88de6addab3313aa380f27d9dc0efdaa9fd6ab9516f66be2eb9fa5d0c88f0ee6 |
Hashes for dimod-0.7.8-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbecbb1a8a2f35ba4ecfa8f120628f3293b4ff0b179c7719565c4cab005226c6 |
|
MD5 | 076b88baa6f4ffa123324faff58b7b74 |
|
BLAKE2b-256 | 0347e72ede5ad7207a9857e6a8897101fb8d32f3521dadce1713c4f931572493 |