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.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12244c5c7677a8031cb4f0175ca8f9ea976414641b331d88d1d22a6990d1cab8 |
|
MD5 | 453d29701c9ac428c008958aeb212668 |
|
BLAKE2b-256 | 67f1bcccdbc77b254e8d71430bf89e58c5a4c4a3a7fecf679f920deccd3e9189 |
Hashes for dimod-0.8.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e4399161a034f73c153334dccaf4a78fa1c12158246e77e973b66e6a04b866e |
|
MD5 | 2a65e070d28269a66031df832a368e37 |
|
BLAKE2b-256 | 1f4e10247633a95f9a8999f4790d60b6a04cd661d8d8e07234c6193c69c3bc48 |
Hashes for dimod-0.8.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 587afad1882cae1940f412ab70ce50c8d368521be500b4a724ef90ae589ad5ce |
|
MD5 | 25e960a8b2f47893c3689453de866f02 |
|
BLAKE2b-256 | fdb7a170a0bdcf499c70579fc200fa36deec1b850d67da06ec2bfad8a3cf38c6 |
Hashes for dimod-0.8.1-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23ae4565491f9b82e55efa2656f1a1b2eed43a8c7c629202ca11b5acde878bc5 |
|
MD5 | e34d586559cece5502c9696f8eb02fb3 |
|
BLAKE2b-256 | fae91d31a2541f72127c01cb9c8ae75f7dd1fc4b783cab4943ad0609320e6936 |
Hashes for dimod-0.8.1-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c99778a3b5196e5a7dacb9be8275c17ead704b0fe3151c5baaa6e432f9c7fbd2 |
|
MD5 | d8bfe109affc870f2210b1f891928860 |
|
BLAKE2b-256 | 54ee418ebc7775a2c94306b19173a466dbf76e30e1aee39fac928f94c2d03c7e |
Hashes for dimod-0.8.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 120b02b982ea505ec9fe9065dc0ca1b1a25ba5c7dbbdf281e5ce263f65b01769 |
|
MD5 | 285e925f9e011444aa13970fd68adadf |
|
BLAKE2b-256 | 7a94b58521c7cd560548acc94289eaac3e542acc126e5fa26b317cee146d8fda |
Hashes for dimod-0.8.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83d748cdf6ef3f764e974cbb2627ae63bd9e53c19f1c16ca6715edaa7d68663f |
|
MD5 | 9b4a48fdedeeddf91b15fce41a6ca9a0 |
|
BLAKE2b-256 | 9d0228d9d142956b47ebec2d2790e8c0bb09b296a9b3c50b9cd42b6068a89ade |
Hashes for dimod-0.8.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56007e86018f00f6a6952943cb0f94967f963bed5b6bc26d299893540f238ef0 |
|
MD5 | d9824f2792563c3b570ce4a70a5e9caf |
|
BLAKE2b-256 | c9d6fe139fd64c4a4d8cf682c7ed1e8dc8f7c4bf746fae3474b5112696dc3628 |
Hashes for dimod-0.8.1-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5825f9a96293292a4abf957e0a864826c488edf8903826c099ce192b61f53c0 |
|
MD5 | 553edecf493d44ee2957d73c508085bd |
|
BLAKE2b-256 | cb54fb64828ae0ea2222ed53f154d3a852a3f7c355b57e083752826136a21795 |
Hashes for dimod-0.8.1-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 806e2f56cf127fd0a351da52ee6d1a8d75dcc5076a1523dcea290d3100424334 |
|
MD5 | ca44ef9132de340e48438cda2843146e |
|
BLAKE2b-256 | e0461692bbdc022dea1c13d138aff70c4a902d6ac1fecc01aabc8b3ff3ef4050 |
Hashes for dimod-0.8.1-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f41f4a6c001c201f0a7ba1165ac6d0dcbb9eb1a51b61e8ce5cb9c6414a55aefd |
|
MD5 | eaf1634684da58776d7d9e3c8e0e821a |
|
BLAKE2b-256 | e5514dd3b14f0fb06bcafc9ff588423a6c6bb2d0f58cc0c329ef9bcedd26fc83 |
Hashes for dimod-0.8.1-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8497f212e5907e94187f209a794d8963c4dd0607790d3eff89322af0a9de127b |
|
MD5 | b9a135e9fab6d36fcffbbe84f7537068 |
|
BLAKE2b-256 | 17234ffb8d30e2d4852b2b42643b6fa3e75441a898ee634ca7cad403c3c08492 |
Hashes for dimod-0.8.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d42ab40b0fe702cb76d7baf4e068c58c74489cb003c02bfe488c49e254e0fb1 |
|
MD5 | d48fe0d8cf73185c45abe486d66fd986 |
|
BLAKE2b-256 | 8d90e230bc80ce611fd70a5830c87da3c18b1edab885a8cc98cc5d358e97999f |
Hashes for dimod-0.8.1-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e6761eca95465e629b5643bad053d74a31abbb575ffbd96fe924099bd8ab068 |
|
MD5 | 60efb22a5f1a080a817e61c3a635a887 |
|
BLAKE2b-256 | d491ea32d845cd6952700f009cd4d4f6a5280dfa206783ca9b7cbb16849b6ecb |
Hashes for dimod-0.8.1-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 246d0989dea907aa46a2ff61f9a7dd7f38749298e3f1792486386f30664e2b59 |
|
MD5 | d338e41e16ff50a0a2f122aef6c81b39 |
|
BLAKE2b-256 | 6afd4a9000f0bd3c9ad5ec2371a9946ad9952ba788d0fdd41cfa897e2fc80e8b |
Hashes for dimod-0.8.1-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9ae7e464887c6530fda3b01b163491a63120a59bc2aefba708bc986ac16cce9 |
|
MD5 | c6566dd60210eaeecec5406c98b165e4 |
|
BLAKE2b-256 | 42daf2192fd2d1d821e5e4a9998b8fbfe2b20a4047c4b8f53dca1eab4aeeedee |
Hashes for dimod-0.8.1-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8846be87ea51fee4f48309e3c1216eda9851546b7167206c71333716e4fe1f4e |
|
MD5 | 5903b548b5c053c5d1a1e9a696f69215 |
|
BLAKE2b-256 | dbbec38f80e1ab23f7f2b9b85f89725ae3a75173d2b964d2f65661afcfa09a39 |
Hashes for dimod-0.8.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f340dd21183817631b54e06b0c96b4b2fb046370a1a4d74937e4f5ec569d72c |
|
MD5 | e007e0973f31953370301e8c8c5ea909 |
|
BLAKE2b-256 | 136137298603f63fb1359df0cdfdb00c41e9a32afcc46921e20afb364ea5e797 |
Hashes for dimod-0.8.1-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d532246bf16bce3df074fad0022d1e9d5256245887506de9f7eca96dbf8f815 |
|
MD5 | bf19e85bd4d627f93c4cc816f901e922 |
|
BLAKE2b-256 | 9651aae11d28ee1788c8d376ae2ee97906d0c04fa1cfd93afaa5c2e90662000b |
Hashes for dimod-0.8.1-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4f93b0fd292a19e1e70b23a0a53a0d84e4b1bc58539a94ef66b9a63748f8dd7 |
|
MD5 | 2376ff286ef697ffaa60ee87355fb636 |
|
BLAKE2b-256 | ad71f391a0795eb3f3b496a4aad16531177362f0d4813b45442be630010a38b8 |
Hashes for dimod-0.8.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50ae940c1f611c3caa41368546deedb0ff0f8a08e98e049745d4bb509ba9431c |
|
MD5 | f8b3e61b7da7e7455e8c070d455d9c5f |
|
BLAKE2b-256 | 662e6b52fc2c2f26c59dcea0780a94efc17d3b7502a58fc3b0de7f6488793d30 |
Hashes for dimod-0.8.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0095132ff65519c34ff32468347198381eb0a7eab93e32d9f96bdd4d089a334a |
|
MD5 | 7f4c8f0728a6bccfd81076e83bfb382e |
|
BLAKE2b-256 | b3572be1355fa74ca088bc0ac31ad5fb29d6552b54296d2361b06de85e188ae2 |
Hashes for dimod-0.8.1-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 998a2a0655907bf4bf372bbcc653e70adc5163aedc55dd7db70aa0e9d0a398d0 |
|
MD5 | 610d5ee776175a301704a20fbb7bc7f5 |
|
BLAKE2b-256 | 6aa5814f6caedfaf7dbd6f51dfa739378c8e70ea682ffe3ee133c962068366ac |
Hashes for dimod-0.8.1-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7223b5d64daa6b3c96ea123686a56daeaf57d78c5d599125931197a535fafcdb |
|
MD5 | 07b2f1f5f1144b261f0c1b7b5bd6806f |
|
BLAKE2b-256 | a1158233393a6637c7d8b9a10e6ffc8a5212c182b47b3a6d59ee889802625e7b |
Hashes for dimod-0.8.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26299c8a6ba837820698644b102d7891d17816179fe31835e09f803fa6498a29 |
|
MD5 | 2e68b3703db39ca3bc1850016eb1d3b1 |
|
BLAKE2b-256 | a85713b0c09666f85aa42826e37a590fb85439485c14440f6ab02009410e88df |
Hashes for dimod-0.8.1-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f02d15eb1d43399355642da07566da64bbfaeb9dcab2898b33a6bc6ca5b2d82d |
|
MD5 | c9486d3a6707ab64abed539e65e8c9ac |
|
BLAKE2b-256 | 9704a544af72b3d0481b4d4bb163cc95260470674798db241c4853da3650378e |
Hashes for dimod-0.8.1-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a921f60c1a1b5a301f8383306b720c04f2082fef60f6575e2acca36f834236e |
|
MD5 | 0b7194ab0ea6d0783fce93f33225b446 |
|
BLAKE2b-256 | 5aca45c2be50a15f4682b484d5c4c8646b2bd2cfdb1fc80e0d59cca0500367b8 |