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.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 463de0c2a18c53ff50b8cd2b0a8b6962d82a92895bd0cf1256f2aa44ab4ad0b4 |
|
MD5 | 4c1c066ea0ce9a09e563dc9d890819f4 |
|
BLAKE2b-256 | 055a9b5013c397e6ddebaee38b30d9a04a74bdfa24ef62824ceb07caaafb3f5e |
Hashes for dimod-0.8.2-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b4c69303b6fe0e82a8b7d45c66c18585c538953f2073d2c54e1719c62867f38 |
|
MD5 | a9dbf82445dc77b1012626196c402ba6 |
|
BLAKE2b-256 | b72a0dce04b09ddd1d718ed11e5a1f099131016ec07b5667943a15e89260befb |
Hashes for dimod-0.8.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf340b48b0802d00819561ea8dd87eb8c693a662e60accf334dac3210b5fd5a3 |
|
MD5 | 4890b1d342f773e077c108a9ac2745d9 |
|
BLAKE2b-256 | ad06b0aeee7f4f3cbbdcc0ae361be296ac9df61758c6ae32288961d7f8ebe427 |
Hashes for dimod-0.8.2-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f3d2b2424b953f4bdfbde37846b617579f135ce172730d690e5f8981f5e87dd |
|
MD5 | 831d9b9725b4b894db834ca0feb05ad9 |
|
BLAKE2b-256 | 370adefd2540a0434779623b1743fde508d2241ff13319ee6428f625022ec1d6 |
Hashes for dimod-0.8.2-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96f960f99e9341b9382c86b26e462d258c81744ded1c0d1dddcc48f028dfcb3a |
|
MD5 | 90213f44fe7d83b83be4afa180d00379 |
|
BLAKE2b-256 | 4b85f88edd9c8a6021f0941009e750423392a54896c6411724aef3bc1b97fe47 |
Hashes for dimod-0.8.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04d4138e7755a3b9323100f1722d74ab1b1a37f0069e182af7d9e558f004564b |
|
MD5 | 3eec1c7c24613aa82a85e8f76e135a38 |
|
BLAKE2b-256 | 75b77e6f0bd1206da4743fb7ba3d66366179b43977e220c164be41820371224e |
Hashes for dimod-0.8.2-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 352da5da796029e78c354dd0ebc6f5d13bafdf285a37640d83d78e373880beaa |
|
MD5 | 048a420ee8345185557f9c985230e8e7 |
|
BLAKE2b-256 | 12e841ba2b48ac49559ffd16b23c89b54104c94b1f2c63d476495889974e1006 |
Hashes for dimod-0.8.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 178bf4366078ad0ca3338e53897f710ecd65d749b7aa715065e630ae7bf154a7 |
|
MD5 | d98f0664834a072616af49cb1f4a8457 |
|
BLAKE2b-256 | cd7f5546afd2a16e4f3639879c5f81858f888c0c90603cb39f5d09f4ed6616e4 |
Hashes for dimod-0.8.2-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29cf4279a91853c5258e74fbeb31583ba6377b4aedc78250d944b57a20927b81 |
|
MD5 | 4da15069c161ba875106506be937eba1 |
|
BLAKE2b-256 | 20276b5738026f4308dbdfc0ddae7accc582f3dc937fc563c89790f027b58efb |
Hashes for dimod-0.8.2-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 574af9f7010e83a2c714aec07fc2784ea278ca454c3aff76e7361b76c4fb5b2b |
|
MD5 | 9af54c9d8f531e8b9de3b0145c555132 |
|
BLAKE2b-256 | 43c52cd42dbca814ff8f2a1f286062cb4affef0a17e53527a2703078c03dca4c |
Hashes for dimod-0.8.2-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b11642f310cd6c18a852083dc72a18fc9af938f09f93c74e3b1c160dec427dd |
|
MD5 | aded0f67a4d856b1156689babab91a3a |
|
BLAKE2b-256 | 66a27da713e5ba99eb7148aad70d8b446f6926f859a7be2d346bc44efc6a661c |
Hashes for dimod-0.8.2-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4b7259e95cc67f9fbddefa52da52ea7edebab2609a84708cb9a3857e50cecea |
|
MD5 | 077e01b396a38593507d1c4868748df1 |
|
BLAKE2b-256 | 5686eb8cf179b37ea40948d48bb1e26466c8ac9ddca90d32192a58a9af5d73c3 |
Hashes for dimod-0.8.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fcb10ec6a0f7252a902b467d0c6c712227420a5f532854cb7dce0d823862e28 |
|
MD5 | 48141da3e61e00b159870b041e51c12f |
|
BLAKE2b-256 | c949c6f022a981d1bf981ced02605a85775bdc83abe8f49a5983ed67e32e353e |
Hashes for dimod-0.8.2-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06a51a788b1c34efac66083ca75fe040501c44ea51c8d2a31ac7bd02d3ef70a3 |
|
MD5 | 42b08d637688d7113e77ec4b4a2bc039 |
|
BLAKE2b-256 | 7c04570166ccfee486d97d7f83d168db56c8aa400e76e24909534a79da989246 |
Hashes for dimod-0.8.2-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e766ed4764e8241cfdbeaaab9477cae4926bdb5e740a23937a78274788248fd5 |
|
MD5 | 7a264be2f1b538957d3234884498a09a |
|
BLAKE2b-256 | 2150425125d466a75bc629ec6d6e277abc68704c1b357524376fda0266b6d9c0 |
Hashes for dimod-0.8.2-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ba4d67e7eaca2579623404ced1500b474084fd11be623241dfee4f2ec14a24 |
|
MD5 | 2b2ba72f90ee0a7bca2f89eafb73526b |
|
BLAKE2b-256 | 5adcfa71d781cd7bcb8271c9a3186efa77d2c3bbf56972242b365645c8c7707d |
Hashes for dimod-0.8.2-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8b86c6fb33100dca501207b80942b75d31e4ffa3432d685386a675cb6fdc86e |
|
MD5 | b5670f8d121e5fcc956557b420a804ca |
|
BLAKE2b-256 | 5131167a323831c73f78b3db7c3364edf92cc290d04e94166908f512480c9f46 |
Hashes for dimod-0.8.2-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8187cbc918eaf4be7088d84037acfc8d43e2d084f63a3a38643c684c8a86b678 |
|
MD5 | cb51f35b9d42365b2b95b1fd357d04c9 |
|
BLAKE2b-256 | eb406cd71720b9e30783b9596507e50a9550711972000ce62cef88524887017c |
Hashes for dimod-0.8.2-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9fcd7a5e405a8c2dda76cd0b6914833a487ebaa3d3777d317b3651eea67e353 |
|
MD5 | 76d56531fe1992c619db4caef67a7971 |
|
BLAKE2b-256 | ec1d0c340cf353baec93e4b539c7b33bad14d528c58925ba3e65ef64a513ba3b |
Hashes for dimod-0.8.2-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb1815c8fdbacfca8b2d9a355fcd4da8ebf890ed9b28f734beaea208ff68ebf4 |
|
MD5 | 70467c93d278cd0b77004c62c2e7c8d5 |
|
BLAKE2b-256 | 077c71443834e2be95b67f858f17593a736546be2f7c20410b6dceff6fd11bb3 |
Hashes for dimod-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 287cc70068c11984a172ad668bd663b68581e4b1b9d70cc7f6608432af53820e |
|
MD5 | 2d508855c899e7514306135c4c21dceb |
|
BLAKE2b-256 | 5afc965e2f738d3d138de39f55181f95b49abbf7c03f684a5329616eecd681ea |
Hashes for dimod-0.8.2-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fc58025411351459887b26d2d29438a8970d9f52b3d517c17e5262335eaace2 |
|
MD5 | 97c1ff8a28505e47c52fe1354600196d |
|
BLAKE2b-256 | 115f9ab287c73c7f30ecbd52ec1fac9a3e87a77c51dade6e07aec6a63a62ed3a |
Hashes for dimod-0.8.2-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf78dc2f4c49c3a1dd29a3ddc715c06c397f316b4775c8a1f0b82f022e1ebbca |
|
MD5 | 9dbeb8e66944757fffe8269c5bf102ae |
|
BLAKE2b-256 | 0db06c2a8b364b7f7a6af01fe61c47e548f38bdd2d8128e5aedfb6c36773f53a |
Hashes for dimod-0.8.2-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a50495523f92e21f4011f0dc3ac4b1508d780ed615a5cdda5cad013fdfb4ef08 |
|
MD5 | 6fc81cd472bb094f3d2e9f8234e895ae |
|
BLAKE2b-256 | 116cc2d0c239637e2480878e174b0741079e953b9956b42ce4cc1f28f1278646 |
Hashes for dimod-0.8.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1db8736955bc0bebdf40f4a6a7fe7b58746871cac686a5a814745137cb8b716f |
|
MD5 | 418970dbcd76b3de77a373faf90ee183 |
|
BLAKE2b-256 | 0627352d601fbc2b972ad409edacd32c6992051228b087dc7c2965036d444985 |
Hashes for dimod-0.8.2-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cda50b7d33955a9e6a6db1e0c20e814810deba20c2842c4d2eaca746b5d8d8ea |
|
MD5 | a3824cf3b8f9b76062415c1c83b5bacc |
|
BLAKE2b-256 | 17abf94c638080a27aa2eb05ad822207d2019939adec55470fd19b890456b575 |
Hashes for dimod-0.8.2-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b77e7edec1a64f46f6ba6b1e85e2fb85239791c875cd0deb153aeeb3595b7528 |
|
MD5 | 1f9a5fb6d417ae925098f9cf2296e48e |
|
BLAKE2b-256 | ae3de0009ed18b0e756136d655c44ebbb7a5214a2ebc07dfea6bacb69ea5fa3c |