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.16-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 915ddf2f63bef90e844e72b6d38682399ecbc82d52eb97b1e31fbe1e625e3ab1 |
|
MD5 | 1b07fa2e8729f6de026557f7a5fec8d4 |
|
BLAKE2b-256 | 0ba7f2ebedf7cce5cf1d451e8f8976da818bbba65677d95556ea68b9834fcda2 |
Hashes for dimod-0.8.16-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c67e4b83c1353a2eb061a4cbcb3da67fa6c3a33fbd44dd3f1a6992409dec492 |
|
MD5 | 256a3734c1eb93ffff8557374e82e6a8 |
|
BLAKE2b-256 | 483bc5f00a9c55ab3920ba94b3897a3a58d0e916b1e128be5403a513cbdf2b0d |
Hashes for dimod-0.8.16-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c4bd1658fb0ca68b781efdabd4f6d2895b7676b7f5ea456badcbea85bf2ea27 |
|
MD5 | bd3b9dff2e467154586fe44153dfdb53 |
|
BLAKE2b-256 | 689253630b88202163864ca943f8b5ac8e073fff4be7d86cc7f733e9fcd026eb |
Hashes for dimod-0.8.16-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5da4b3c048228dcf7433ffdc68550a90578f10c9e2cae741206ed35b2cc86977 |
|
MD5 | e59d70d36b580199be0b1762736d7305 |
|
BLAKE2b-256 | e6df360f56233b769e89afe471ad6f78b58d205c463b228c7ddb35b183dfb253 |
Hashes for dimod-0.8.16-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61d82a6e762136bdb4dcdb4db34fd12e16b9aed764ab1126e2121f486a27f665 |
|
MD5 | ae2daa63b1e2f444f391e2db3bf8deb0 |
|
BLAKE2b-256 | 68da465aec57a6852f4c6043645d4ac1c57da07b3c1a5bb97764edd946f460c9 |
Hashes for dimod-0.8.16-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bf2b0b6c732532a2505fe70cd3220a017f564198e039743b41377695dd0011f |
|
MD5 | 5671aa62bc36c0f18e26be851c3be634 |
|
BLAKE2b-256 | e2880e119069e86d9d2679fa8a18f370f3b229257c9edc0612f5ef397f7fa242 |
Hashes for dimod-0.8.16-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91a5e0ae405166d44f3f03475f8904feb45d0d29eb63c1ce3ab0a4756980f848 |
|
MD5 | b70e43a661b6593c45d2530d38723337 |
|
BLAKE2b-256 | ecf6c282d5204557328f040d8a6ef5936cf39650af1cb05a08cd89a918702f10 |
Hashes for dimod-0.8.16-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb107f9272c3f6484f9ba32435138cab8ab1e72fbb9b1c31043b552825c1cf66 |
|
MD5 | cd839b6cf4ee8d03d947150bb312a56c |
|
BLAKE2b-256 | 5d02ca3e1553c373d487517171b21894e2d31183a6fcb82325e3f68b917b1577 |
Hashes for dimod-0.8.16-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b101906683602b77d89c10bb576ea5baa8c7743d40ac9f12ed474a72f92e8dff |
|
MD5 | 6368a41e25f8eaad5cc5d035afb240f8 |
|
BLAKE2b-256 | f8837397fd0a21010f9413e8a08de426f31cd645bce863f39aea733cbc60866e |
Hashes for dimod-0.8.16-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f83cc08a95abccecb985914b32fe716b0f2fc4d8614e6a50079b2a1ee7abb0d |
|
MD5 | 1726046c115244a6f79010270390674e |
|
BLAKE2b-256 | ed453268795c8f444e821a181625aae527bd7c675bb8fac163933f3f8d07fe6e |
Hashes for dimod-0.8.16-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ec53e54c9671e23de106ec1fcef6e4c771b253b06bd85c46dc97a1fe7255dd3 |
|
MD5 | 7225eea2d3755532eeb036070beb8f0e |
|
BLAKE2b-256 | 5c98ee070fc212084a3828c398ddecec542ce7912c2f2ae71a07a7ab2b889d93 |
Hashes for dimod-0.8.16-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d07932b64239f8d83bd9acb945e036bda3d586286facae2be7f023a9bc05236 |
|
MD5 | a70a42c19df8f0d90ea8a233930ad597 |
|
BLAKE2b-256 | 4962e29483f66c4723dffef4634796c3ef0fb00760fd596d4deb24db04250e25 |
Hashes for dimod-0.8.16-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a29dacaa87b6a06cebce962656672df3a8b352937afa9726acf79ea0996ba4a |
|
MD5 | 51c7b6926e989ae8780149786ee2810c |
|
BLAKE2b-256 | ea634760a0e0ac5d10d73648a22318e3dbd2ae68ab79eb89e2617a9668dafa6c |
Hashes for dimod-0.8.16-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b665dce77287bdb0d2f84927b845341dd96b44c53f2b9e61eced6a6adbe4fb7a |
|
MD5 | 7066641a22e9970166ce22b7382ba473 |
|
BLAKE2b-256 | e75f42bec6aee5c9c1f60b6cb6be89871e2809e7d319ae6727e615db7ef0c986 |
Hashes for dimod-0.8.16-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c82a5d157bfee681b5766017ad4bad84e770af450edce6c443c238d4fcff081 |
|
MD5 | 974e6dfe6f488905c8b39a0007d61345 |
|
BLAKE2b-256 | f4e40e69317ccf8028dd5407de3fb0a3cd081eb80174c9e9e85979766d344d33 |
Hashes for dimod-0.8.16-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23f7cb5f328191fea0abb3963df7dfb51109d7994705360ab28914f4e2b7d72a |
|
MD5 | b620aacc1667b9940861b6ed98ff3c7f |
|
BLAKE2b-256 | 562af607447570c25b5d6437b6adb56c2d936c4109df694d035e0e40282589f8 |
Hashes for dimod-0.8.16-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4abbbe923d0b770997b7ac573d1a4900f23dbc49aee5c65ebb04356df1d3e9a7 |
|
MD5 | 13e54fca2014da71ca2a4dceb1f771c3 |
|
BLAKE2b-256 | 130440cfda9b471ea457db8093b93a7c6aacd08b45b3a81cf2738a63234cde33 |
Hashes for dimod-0.8.16-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00eeb2a64afbae9b1955cf40f0fca1a5043b84b6e28773f6e74f9294b208b851 |
|
MD5 | 778fc2954c0ff137c4729d9845ef1f2b |
|
BLAKE2b-256 | 84059ed5856b18849ceb810c11866d9bb5708de80f816a6951889bb35536fdaa |
Hashes for dimod-0.8.16-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8560bea5b9ffb2f686ba97b4c5aefdaf94f916cb0b7c3864a500205c7df16d70 |
|
MD5 | 165b0ab87c4ea23cd9c1446e8c257480 |
|
BLAKE2b-256 | b7d5e7e0e1bd7e61ceb57bd6e7570dd9b11bd195a7a3709b321246c80c46d65c |
Hashes for dimod-0.8.16-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 345e532f64d7f1f336c55fac88f0a4bf9ad2ee7a5d57930e97aa3273a0fdfa96 |
|
MD5 | 5df212307c86c295baf979cfa34cf664 |
|
BLAKE2b-256 | f276221daa303f0bb572f040c220701d5b5ed06c47f7b18ea364670397237606 |
Hashes for dimod-0.8.16-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3e94e5edc346e3d5bed5e21c6509e625c4d15ca1862f3b35c903a324096c882 |
|
MD5 | 3f3a396d5c3b3c5c7346f855514aaaf1 |
|
BLAKE2b-256 | fccab40b5784d64446e90f1af02facf6e5fc18ab0f23beaa47f28216be80ee20 |
Hashes for dimod-0.8.16-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb40e5c915473be72aa974b673f2c3c532cd83507ef5b4cccd69391a3bfefb6a |
|
MD5 | 3067b71899ff964927f0510c59c8a470 |
|
BLAKE2b-256 | 4d3fd736b518bc059680a51c4a7cc2ca03162484fbec718b762478225b0cbf2e |
Hashes for dimod-0.8.16-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b181f69e365420a930fa217ed9434e462e149a118126008d5e786c8e4cdf6c51 |
|
MD5 | 5d8e0915fe4124f8d57197f950465cc7 |
|
BLAKE2b-256 | ce436398eb96afe071f3bcfde3ad5060b65677cc882979b76a5ba0386e0158db |
Hashes for dimod-0.8.16-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 039312926617953704b78bff9d790aeadd33ff502e3bc286cd44d021bb4a1068 |
|
MD5 | a35d8df9e8f9866fd110fd85dfa7febf |
|
BLAKE2b-256 | 96d59b3df8dec458773b61144cc2aa0eb33582cb3bd828cf14db4774e89b10b3 |
Hashes for dimod-0.8.16-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cae8d063d0af501bb2e2b6d1c9359b887ad7458e0e9e465681b4ad9572e3cb31 |
|
MD5 | 2fb297e44b2cf87fc34735f8363e2c34 |
|
BLAKE2b-256 | 9b8b7e95b8ed7dbce83440b7ca7d744910c4aa69c9a7e7d501c1bda2c4f17ce6 |
Hashes for dimod-0.8.16-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 581e85b3da24d016b20c7259e0329eb192f4c1c58e5167523d93d832d0a5fe22 |
|
MD5 | a6b060160ff732460b2d22bc9a8afb06 |
|
BLAKE2b-256 | eb1b063f9d8000b718ae75ec7a3b2ca2910a9ca676a5ccf2cf72fd59998dc288 |
Hashes for dimod-0.8.16-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74e42148987d4cdd175ecc9ab2899320d8338642ee7595f35124e732cead4955 |
|
MD5 | ad455cb5deb187381789f92775acc884 |
|
BLAKE2b-256 | 2e5cf16482333d6cf08d627dae6e56848ca5fc07a193da96c7a27996cf38c368 |