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.11-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd5700e55a0f58ecbe8a9f30be912a47f7992a8afd79823aba3d316547516bf |
|
MD5 | 246093d150a55fad9aedc7d19349bf73 |
|
BLAKE2b-256 | 3580fedf52c595c694ced5bf7faf3bed38a18af36a6d884b6152bca4e59a81a4 |
Hashes for dimod-0.8.11-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05e3226d4fb28ffb9c6aa691763b7629d0fa33c5774c8133d27bc3562780852d |
|
MD5 | 4a411f90f146965f7358d98a225b54bb |
|
BLAKE2b-256 | 5cfb6c063ab0a3a42d73bffde8c2a3be90a22901fcccab56a68d420d961fe8d7 |
Hashes for dimod-0.8.11-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69162d081bd2e54790e41129e32c4100bf5d737289729c049b5693cb9adcde11 |
|
MD5 | 155ebd5bdbd8ae9fa970d59433bc3846 |
|
BLAKE2b-256 | f07787253b8706f115ef093062da0af78ced0b8005f4774c075c0dd7d7770971 |
Hashes for dimod-0.8.11-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c6fe52a9fe2d5497336d9235aa296b2f3b7086c431ec34980f2555c20399829 |
|
MD5 | 35816f90476be7431c3189ddc5f6b330 |
|
BLAKE2b-256 | 5522c1c342f083e1e5f273453ae9e6c373545ae864c409e1f6583b37cd2958e5 |
Hashes for dimod-0.8.11-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d565b54ce908a556f009ada596d9e63f6d37b6fe6dd34e1a234990287d425723 |
|
MD5 | bedcb853034c89c12d31c9a169c73203 |
|
BLAKE2b-256 | 929b71be698e0d2dfc4e73468a768cbf84ba6afeb51249125ac8076f74c87a15 |
Hashes for dimod-0.8.11-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2a4a3bd9d15b3cf88f1711bc2e7f1cd5f828e80408547b8a0209e3d15a3624e |
|
MD5 | fab566798be3f95dd74cc4e396ed8ce8 |
|
BLAKE2b-256 | 692a4bd7f6838894dfa324f0bca66d0d2473989a0029c4eaad674fb8a4571b46 |
Hashes for dimod-0.8.11-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7754a00f989bc46d92c6a5f72224beed20521a8c8784d0d79b038f405d8d9c84 |
|
MD5 | ccb65cebdf90669fd5177968dbb403ee |
|
BLAKE2b-256 | 45b902356a85c700b1b0ef6f70e9f039e14eefccecd13b6d11e9f05fba1cb432 |
Hashes for dimod-0.8.11-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f5265ca7a8f40f0dfe16ae35c16af9099526a6a7009b89deb4fa9baf0c5c432 |
|
MD5 | b9e4fe50d047a403c29fc4357f4b4202 |
|
BLAKE2b-256 | cd5fa1b392524e5e0d4c0b34cb51273760da9ccdb1837262acf38425719932dc |
Hashes for dimod-0.8.11-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bba7500a3ab1e70300946531f6510be5edd35634c441b841901e7892ed824ae |
|
MD5 | 03db948cf70fa9d96bbcf56149ba9151 |
|
BLAKE2b-256 | e81c0f5b1b2397d823e78dbca7a368a2e2d8b5f25cac6cc6c4da8c59d127e4b1 |
Hashes for dimod-0.8.11-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfff8dda8990a039bfaae142d744cee1ecde789087d0594266881c20829d164b |
|
MD5 | 4030b94782f8d32dc29b6d8b995df479 |
|
BLAKE2b-256 | 06164f3d26f7543fdbc891eeed733512cf9112bf0f408cbdba0a9dc1800906bb |
Hashes for dimod-0.8.11-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d422aac5f010e44263e749c2d31ac88e88ae0eeca20c4e430e4b5ab6319c3046 |
|
MD5 | 4d28a7cf5ea5295764dbacdf37946a57 |
|
BLAKE2b-256 | 5977f327d86483df294a6c3ec857d078fb21b9aeaa37e38402785bba953f09e9 |
Hashes for dimod-0.8.11-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16659708a9c28d62ce00f26432f2a159602773a049431fa1dd4cb7d85802e1ce |
|
MD5 | 2f9221890c58a0679870795c270f884e |
|
BLAKE2b-256 | 841c08f7680c595164617e4b9d31823521c345eedc010cfb32f5ebc0502c1073 |
Hashes for dimod-0.8.11-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e074663244c9f670995e24e4d060b20add01739bfb706cc0134f326dff9c7c31 |
|
MD5 | fd90137c5c0ba2e98d470474c4b9df22 |
|
BLAKE2b-256 | dec08454f1fb8a392cc7972b402d9678e31b82812d5100e800d8a965f8d74039 |
Hashes for dimod-0.8.11-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc348a3920db868b4c50f5167917aca52c6118e75a23cb797cd25f8ebe2235d8 |
|
MD5 | 69b35acc9cd0f7f8729230cf7e17570c |
|
BLAKE2b-256 | f27bd0233133c02cd26ba852b2ef7c1abd72789a7450d5a29b828c62bf789a77 |
Hashes for dimod-0.8.11-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50430f420d1b2fdebe617ba7d2a1bacc941eabb1096121bda0f3ab98be8ac56f |
|
MD5 | a9d1d69c07ea14be1139eb8d45964270 |
|
BLAKE2b-256 | ba4d99a62cf157e59a946d543454378ef0580748a6b5a72157365e266c26a6d3 |
Hashes for dimod-0.8.11-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3616f053e29292c37f32a5afc9cc6f397b56a15f0e61c71887591e8504aaf886 |
|
MD5 | 5a57e99c907e98af33e841b81560a114 |
|
BLAKE2b-256 | 04205a3d0832445e72894c598aefd0765bfbf1b4b6505d8d544473448b9e6cbc |
Hashes for dimod-0.8.11-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b20c005758e99f53113a62223b1d4cf92ff4e6e6fd8f0a6e93d5c732dafc8c |
|
MD5 | da1de9d18b2d1aba649dfd9cf6b57844 |
|
BLAKE2b-256 | 0f421e8e7a19709e5245ddd0dd7cdce1fe1169adda1405f3f1e9652d8d2cb048 |
Hashes for dimod-0.8.11-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e4580ff5bb309b297285e0641ae1c8b5e7dcc274b7a2af644b9c0a04f8e2164 |
|
MD5 | 79cd310ecc3d1f260aae1442284bf0d4 |
|
BLAKE2b-256 | 3151f3a375a8d6bb92d5441294c977ebd8a0c8772c934b8f3fb90219868215cf |
Hashes for dimod-0.8.11-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fab33fcb60b9a3793a54d4a414de22948ef0aa18d6442d8e9c416288da27fe1 |
|
MD5 | a1f5a971ecccc7940f69127d75b41024 |
|
BLAKE2b-256 | 9a5a50a766eb149c16e524b6a9620f30c9b17600c66fcc81195ac85bf6e0041f |
Hashes for dimod-0.8.11-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a87d28be260ead8087c5352b9dd842457010af2948f964196dec47b1f322c49 |
|
MD5 | 084c2fcf6a08bccb837bf541bd2f4f9a |
|
BLAKE2b-256 | 46023b590a89cf72f07b7b0a74c3193431f54faab128a19b29928d8047719e88 |
Hashes for dimod-0.8.11-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd7ecaf63fa03f6d039bcbeec8ba4e5144d165901bfba9ea7af5e330f88db8a1 |
|
MD5 | a868ca5ee2f1186f89460f9421e606c4 |
|
BLAKE2b-256 | f489209dcb6292dfb8b20e79a1bb2d916e3b2e8449a6b23de453e62b77b94693 |
Hashes for dimod-0.8.11-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba9762dbb9099afef4b4f2650f958830bd51406333e1d45d9dad2d2f4ab77465 |
|
MD5 | 70f48f65a8b79eb7fad868e87754e587 |
|
BLAKE2b-256 | c67be667500a6e6c392065dc0990ae0b9b8620eb970b5845fb38c42b3cd70a15 |
Hashes for dimod-0.8.11-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e28ed696ded74ae5db3bdf0da3afdb43248e20f12b70a066f32eca5bc4d262fe |
|
MD5 | a3194d21860083c555f42cca0ae46124 |
|
BLAKE2b-256 | 6dda9466d1584ed2bbb84efabe6e9eb30474c330e8e91a400cf83565eb7b784b |
Hashes for dimod-0.8.11-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e88a406088c0ff169d84a33e61163cb7f46aadf730022f09c13654159e613c69 |
|
MD5 | 1f8cb1e3fff33239462a7a3028c82d77 |
|
BLAKE2b-256 | 40ed0c942739dc6d97c5b22a483f4779d7e49a319269125e755a638b370d517f |
Hashes for dimod-0.8.11-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89952de5959851af36dca37b454045cb10a4118ebed7d55c834833c50eb156ac |
|
MD5 | 649e7ef7941e961f2c823712ea18f28e |
|
BLAKE2b-256 | 85ba2218473106cb466e0952e2b8e828fd51bddcf724f61bc92cc1bb7d6adc22 |
Hashes for dimod-0.8.11-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f18c23af730981b24451bd22f7be811b7fad088cdd848bb7e324f1313379795 |
|
MD5 | ebc40f2c9667e168f32f7ffbfc3aafc6 |
|
BLAKE2b-256 | 89bcd30fbb0964c0010f6190b3a6a69c1c01948d4d801b6e3d6368a7d0ff3b78 |
Hashes for dimod-0.8.11-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3812ce64350ae1de446b00a7d510a4277819721ba459b367fc913f5f852815d0 |
|
MD5 | ac9090b42953a332a56bce0964a2ae95 |
|
BLAKE2b-256 | 914bb71561422df5e0d49f18060d8eaf88ac29ab12ef8b0997c334e61c9f1ece |