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.15-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6b22baff335cf39d5f199eb0dd82fef9d0c7d856875fe9a66cdc45de29df61c |
|
MD5 | e14d8364c8bc90f80c0e3aeb660d6d54 |
|
BLAKE2b-256 | 4ad3ed259eae7f345312afaad7d50a748cd84160563d68ab5ca1c0a6cc39b8ca |
Hashes for dimod-0.8.15-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bd95ac47c61a940bc2644f7d5eae11b71ed9b62697a052b2a93bde2e2e8239e |
|
MD5 | a71d9a41d817c84d04a70e8299a8686e |
|
BLAKE2b-256 | 12e5698f401922fa8504cc9506152953d0cbe7723e5631463254a6f0e8bafedc |
Hashes for dimod-0.8.15-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3193565e975444b01cdeb62a24028c05bd58f458a80578a1e2c850524f69c0ae |
|
MD5 | b2eeff717de1056ce06745f745111beb |
|
BLAKE2b-256 | 6dc1e40235dac232c23ef3dd6aa70771cf544248b58883795d797781feb506d6 |
Hashes for dimod-0.8.15-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 723cfe76c9cc78e7d0f0d681ad961f480246a8b902e9068c28a48bbb0b92f5d1 |
|
MD5 | 04349d8df0cd71b52d01927a8eb5bffe |
|
BLAKE2b-256 | 49ab92267be14e85f4c7dfe7e56520509b55e4d8f9919a48a96750c9fa7f6ff9 |
Hashes for dimod-0.8.15-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3d2918890e8f858cbeeba6352ffbb7c1c392c376be71ca0010c493768a21273 |
|
MD5 | e561de728921937258d7ca72868833a6 |
|
BLAKE2b-256 | 2ec6e64b336e7169645280c725e254bf7ebe7087844b0dbce48379a7f83a308b |
Hashes for dimod-0.8.15-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a9eeba45371ac852878b1b0c054460d9b2d85c52e2b6de608b2292da48e2ad8 |
|
MD5 | 8e6588e4ff5f3111e0786b12f4cc0dc5 |
|
BLAKE2b-256 | 1a8c60448de99a75a7d27b0ce4142c2ce9eccdade1acb74c04eac3f64ba46505 |
Hashes for dimod-0.8.15-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b3ed0f1bbf76e3c8a6e2620b225c7a7545e9adcc20379f0a99465b7922298b2 |
|
MD5 | 199322d348bc7be5153847476715bbfe |
|
BLAKE2b-256 | 8f3a279a7291dc401f4138856b361a8996089f39c68fd2e395a0b66afe5e0bc9 |
Hashes for dimod-0.8.15-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4408f64e3ab44aade0211d89e166479467db2582399a1105b19d25121c489b89 |
|
MD5 | ec2028b079a5dfd15815b92e286b747a |
|
BLAKE2b-256 | fe5c6131ecd14d1edc6faac48c73bde31a0bfdefcd846154dca0fd2dfbab0ed9 |
Hashes for dimod-0.8.15-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81899038e7386cce9e0ce73a073646531b281b81db92bf89e19dad81d0a1f95d |
|
MD5 | 3973fa3d17209f8bffb32b8a64bf4b50 |
|
BLAKE2b-256 | 1dc293340e00d8a6a00552fdf601f33e24737320280ba87149f55e3b0e65f1d1 |
Hashes for dimod-0.8.15-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af69170ae2e8d541eb04d9f0cb1536ed39a646ff2dec94dfd4d56a9ebeb08627 |
|
MD5 | 87cbf829efbfe7e3a6c958c68c2b80d8 |
|
BLAKE2b-256 | 91f772e6be4ce7582c91879d591b12f1581e715456d805d7658ed6e52f8b606e |
Hashes for dimod-0.8.15-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f88dd932c6957f342fb8c0e13c87f69d82e87fc8411d1a55f05d731c1dbc153e |
|
MD5 | c94933fbd2388185c635e3a8189f6814 |
|
BLAKE2b-256 | 52f4fa4b74b5c869aa0f0ce66a4b274919af56b227bb54c341324e207d7e21ab |
Hashes for dimod-0.8.15-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b3994ca5365f1b6771b8252aeb9beb419e831c9e5591ceb58b9df8c07a58781 |
|
MD5 | 173ff468bc3b84ea02fd8973f4ecddde |
|
BLAKE2b-256 | 8342d134001d66812ef5bb4bad2bc202e94a7b5b1649a80875577f9fffc5a3e5 |
Hashes for dimod-0.8.15-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8161c4e96d2640dcfcadb982096a889212a74af863214d86b8c61662570a5e0 |
|
MD5 | 5ef61d621bf28082036423d64298942f |
|
BLAKE2b-256 | 54cfc910a6ef5c81c35b694535fa76513ff9644506d562091ce4aeca80805f26 |
Hashes for dimod-0.8.15-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1421b9f7b33db33161c924040bc720b8f6119ab583d8963ba1959bde9ad7303a |
|
MD5 | 4d432401365a713c5fd783a0ed9a3169 |
|
BLAKE2b-256 | 61878521a31699d5187af14b41c1b1c8d85c6f9410508189a7bc2f9ac86a79ad |
Hashes for dimod-0.8.15-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bfb963bafd6faadc9ce4abcdd063a7185d5cb5517c22e90bcf060fcb1a45c1f |
|
MD5 | 952c9deedbc0f11c42bf55fc0cec151e |
|
BLAKE2b-256 | a6d9aacbdc98c1869022e2aed5562082d01dcf4317b3df9b5f4c4077f9fe9585 |
Hashes for dimod-0.8.15-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94af0d5b149ce7417b8fb3647fe9d6b2f4b7eafc431506c4f4d2f2d96156885b |
|
MD5 | e7ffd6c71925a9533adb40368e7a0b1a |
|
BLAKE2b-256 | d9b06ebeaa1d2d2560cc5c471147a5d0da6a2a8691821b3c11a01a6c9255453a |
Hashes for dimod-0.8.15-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb9ee092bd76b317ceef4fdf8581cca0afb444be902a219d3476f42a4ec5530b |
|
MD5 | 3235232e9df4ee5f1054406374ac3e55 |
|
BLAKE2b-256 | 1e714be8adc063b1c793937b4c8ae2cc3a6c29a139df9ea68e08bf60df89928b |
Hashes for dimod-0.8.15-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e3f41304f0319dd51d048e69de9709d03bd78eb4dc0e5b75ace8ffbfd25d0fa |
|
MD5 | 18491f90051a18f2b12fe0f2ae3ad7b5 |
|
BLAKE2b-256 | 987bfb3f3f79bc35638fa7b9bfe3be0f32c06d6c7e53620ec514f66513971441 |
Hashes for dimod-0.8.15-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54a3d04b18bf252e83a50a3bf896280455d7b51383388a9a60fedf0ba5e18288 |
|
MD5 | e11e2c06a94792785353813775d5d7d1 |
|
BLAKE2b-256 | cd68c75446fe2426125c7f005839965303b8d34da10366cbf0a22e9dccb06658 |
Hashes for dimod-0.8.15-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9c9a4fa783bc8d59e2a9cdc293ea315c8dfa5b972d21b0f8c5f384e2628c4af |
|
MD5 | 052e1ae5a9886f4022f22889d51d4f8d |
|
BLAKE2b-256 | 7168fcb9c3d93ea6a196ab1cb4fbffc1c40c716b273d99ead67778bc493dcf61 |
Hashes for dimod-0.8.15-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a618158f17bc171c284541e3a0d9596f13ada5fd9295b0bb3ecd69cbea21b4 |
|
MD5 | 06d4258d7b38c7ee92607557132bdb8c |
|
BLAKE2b-256 | 87b92244b31af53ec1d3db353f0a76eedc624946107eb0c4e931bf4818558a64 |
Hashes for dimod-0.8.15-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f848cdbfec4167db6dd0edb51a81a35159b4c809cc20881d5cd8768717c0d7ff |
|
MD5 | 360d39aa2f0ee06697da2c1b1428e604 |
|
BLAKE2b-256 | fac2a85cf8ada0676321a003e24462db3b94bb0a446d9f8b51e95fe91a73f4b2 |
Hashes for dimod-0.8.15-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c85a0cc72e57ff2783c37ee9c9af9828946afa520c94399214f04bc522ad04a |
|
MD5 | d66ed2c6931797b026e3c18d541e3f7e |
|
BLAKE2b-256 | 4446abcbd5371be4bb4dfc51f1a28b08d1416d7783fead666d956ba8e7de3d0f |
Hashes for dimod-0.8.15-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cef6ccb285e0ac1244821e86dd9df7725982177930c59df8d6a870e6142c809 |
|
MD5 | f212941c09115ac37da55da00b70148a |
|
BLAKE2b-256 | 282851bf59c4f006a8cfc0048ab254c370ae1c983186cc2240d3e92e0bbc995d |
Hashes for dimod-0.8.15-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 992c513b8fac6c6099ac80fce980d51d09e0635035671cba966da1dcd33d8cb3 |
|
MD5 | 7cde83f3c86068469cc8af669aebb66d |
|
BLAKE2b-256 | 265087839b9b428841140a30294cf1809429b4b75b4281f1e03cfd413607fe39 |
Hashes for dimod-0.8.15-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 621272bc6952620a682232290aa436c4055f84e9343547c6fc918f46fd155820 |
|
MD5 | 02335d2f94b4cbd6681417c354b9b3ac |
|
BLAKE2b-256 | 7508837211512c42fda3eaac5e468d3a3cd1a02f6ddaba36320d8c11d10b576a |
Hashes for dimod-0.8.15-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e1d0da34fe3b3f365ac1de5b0b50af9de4090fc73f8dc823bbd56459259b28 |
|
MD5 | 28987d7a3da311b7b8054d1e9008a5cc |
|
BLAKE2b-256 | d27ff22ef5f7f00b9b623602db25624880a6a455ccc45fad66d7d970a1d46c64 |