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.10-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61963a8ac2a140ef4fcac7aba95e84f0507148cbe5fcb19ea5240e533f001c8a |
|
MD5 | b798408a26be2d8275bf3e9df23ee2a9 |
|
BLAKE2b-256 | 1c7c5ed09cbfc39dc440689d89be6da7e731a610f623e0d1f44d7e60edd0b774 |
Hashes for dimod-0.8.10-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88d46b2680c56b42525732eb253defda89a3f9f3842da51de48892c1cec6352c |
|
MD5 | 4f4e9b0cb14902ed8acd0b3db953a63e |
|
BLAKE2b-256 | 6f7b51a7cd8e232ddb48be576127e85826743df49ce0dd296485ca0895bfd923 |
Hashes for dimod-0.8.10-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92b4dcf7774ff86b5b82adfaed6be6f0ae5c6e839581a321f5c68ea595ab520f |
|
MD5 | 5e86ae1ad32678ce8aac13dc001f7852 |
|
BLAKE2b-256 | e552645e1d47f5cd2354f67e1bdeb1a698d2e72f396c271b5da89a3344e81089 |
Hashes for dimod-0.8.10-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c3b2e42aae27384b7707f2561d97fcdd07a8dda8fab5e1a658eb2cabbdd3cac |
|
MD5 | 7067c14a1f803c8fdcb1e8b29836432a |
|
BLAKE2b-256 | 9477711c00e8bdaa05b2e2eac781e8a695f63c876ec58e48332cdc482e0bc9b7 |
Hashes for dimod-0.8.10-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15ee4adc0bc3f713037dffbafae5f21e4a34891295e11ab8848affb6dc365e19 |
|
MD5 | 02527a6f80f6ca9701f625206869eef4 |
|
BLAKE2b-256 | 6c7a2bbd0a82f424655f3c21d4d937b7376cf4db2e9d34fd3851ab8315faa9e0 |
Hashes for dimod-0.8.10-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b04d49b4802e5c4041f1b35751eeaae23ba1576e550cbb64e48669acde5ee4e |
|
MD5 | 9f89d8e4ea036515bc4e7f4466d33f38 |
|
BLAKE2b-256 | cb7f53a497216ada05b01b6f76709b29cda0b32d7df6432cfc9d8d83f463a7a4 |
Hashes for dimod-0.8.10-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56cbd0ba4a92b9cd1ce0a3a6910479ccc18cbf8db5a8296242ccdd41994e8adc |
|
MD5 | 94cabf423b05a931525bd09e6de94c25 |
|
BLAKE2b-256 | 00544c995dcce9de403d6b0384e2f774b2ce2f0f99a5e8fb6edf0149f8136a88 |
Hashes for dimod-0.8.10-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9c1ca754e06ecafc48ee14ff0fdfbb557a3b3d7199e08ecdfc56018f432d018 |
|
MD5 | 8645a76b1d660f5b0ea3eed5ec2dc6e9 |
|
BLAKE2b-256 | 4f1f0bf6823400db86e4a0818674ed48b442f14be12528502ff4d7f89e84bc8d |
Hashes for dimod-0.8.10-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e2819c8c8e4f91d888df24a6a608f98891e7d74f3c23ba9fe36ec10f3f872c7 |
|
MD5 | 1c43fdfa1f5fdc3fc53ea862675456bb |
|
BLAKE2b-256 | 430e67f15dbc7553658b240304709de8bfce1a4949cf5db31eb4b4e89c78b60e |
Hashes for dimod-0.8.10-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71d552dedb926e14c1bff3d71a4903d2949cac77a2d958711eb64d0eaee99ec3 |
|
MD5 | 48188dc053f608f585cc25cea425aaed |
|
BLAKE2b-256 | b3f886584e0ea3472817d858eb1d99c891fa55c1556f781d11b364f336373781 |
Hashes for dimod-0.8.10-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50e801b27414e5bb08f3024fdedabfcca260d102be2c2e473806e2bf54aa351d |
|
MD5 | 797e2c4ee6e04c20abd44403eba12037 |
|
BLAKE2b-256 | b9e591c312ea51bb467246af5b4365bbe8ddfb0bfd8bfb33b412344c5081f833 |
Hashes for dimod-0.8.10-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3889d775abc4acd01972ed90e271d66a7c3a0354833cf74f1ad58bb432c12bf6 |
|
MD5 | c607c048851b1480ff1838e4d3fb2b09 |
|
BLAKE2b-256 | 1fdb9845b20cfa49842a0a084d1fc1ef571fea8dd3093e201fea31c653aaf2d7 |
Hashes for dimod-0.8.10-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f19d0e6fe2a617be7b955354e0ad6e0587a136300f7e8b2dad6e80ce8d8be1af |
|
MD5 | 75d9c24f4dd543a2e41dc597e123779b |
|
BLAKE2b-256 | 42db258715db2654b47a45b3defae660f0670ba8efa656e9eef7bd0d660bf549 |
Hashes for dimod-0.8.10-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e7aa7a230b4c632515e3e577410fa24107abbf79aa56087c4eda411999106c3 |
|
MD5 | daf015802b7e280308aaa556e8e27b64 |
|
BLAKE2b-256 | d70c21dcd56efad0ac29ae71c73d97c85a3e008dd34ec11355db589463f71b36 |
Hashes for dimod-0.8.10-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1af6d5a911be424bc29dd6862b6b5876f0dc3141790254f6321159eb9dadd81 |
|
MD5 | 1987bbfde942beab272d2104c949d32b |
|
BLAKE2b-256 | de1c809cae5f643d6853c55cd28ad54d1aac0eecf7a1e69d7cfa899100dce952 |
Hashes for dimod-0.8.10-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e624ffea7884f8d32a1f5c9f37be8866c68c0db900b008b0c9339a8a2821449 |
|
MD5 | 0b657c1aa63399cb0680427b91291a13 |
|
BLAKE2b-256 | fe9ef2cd963ea7e678312cc05b432cf7be0e03042dfc07af7e63329eb474af39 |
Hashes for dimod-0.8.10-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37373502292ab6cae263d43bcca185680f29204602537047014c3d217dd4161d |
|
MD5 | f6b609e83477787db8c543506a65bf0f |
|
BLAKE2b-256 | 75d5a18c571519e40fed01b3edf42482a4042e8b202bb3b003a0d82d7996a979 |
Hashes for dimod-0.8.10-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cef7a48220768b3fd5cbd5c028c68ed532e9c92c3f18687b519969e2f482b03 |
|
MD5 | 0352b689527fe208ac35149934b89148 |
|
BLAKE2b-256 | db9ddd78902ceff448bb1ea49be1d60a00f8f3100f114370e2b1b8b1ffe0d5cc |
Hashes for dimod-0.8.10-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e81152711c2b305c345197dd5a55a61161db7241fe1e7c6fa737113a1a40fe7f |
|
MD5 | f2d5e6bbc83f368a4253d6765be6f513 |
|
BLAKE2b-256 | 91d766d702a5946a85fc62033b59e4127d71a1fb3182bc642d93894d40ca73c4 |
Hashes for dimod-0.8.10-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8e3885b60af1e0dcec817a7f17fb3596d09428845a65d6959484f61b965a57e |
|
MD5 | 13546e0c5486dcc07ae9c4c5f50b9ca7 |
|
BLAKE2b-256 | 0384257922efe78dafe62ede07ed7492b787a38888b3589328f1d115021aab31 |
Hashes for dimod-0.8.10-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37aa3998d8184d0dd38a7b09bb7e9a5080ad9ca3528e7f23e660bfb844a7df3c |
|
MD5 | a48ca321aa7db16d51488a07c9d36f62 |
|
BLAKE2b-256 | 82d412f55e1479b84b59565f79a3ff7f01f2c3e75f2419db3c75cd84927b08b4 |
Hashes for dimod-0.8.10-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36cb7d1fc0bf83ac7b6c963bf08633c989f70ddd1e3c095dddf97458885a1867 |
|
MD5 | 7f77d96a7ba7a51c5e76ade54ab967e5 |
|
BLAKE2b-256 | 2f1e9d248008bb4b97f5d1d814306aec75a28d34686f14f2721011bf0d896a3e |
Hashes for dimod-0.8.10-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632088590456074628d4ba0b70abe5e2e1fb73ffbb07f03cde3c549d66c9bd6c |
|
MD5 | 79a325c691feba97f889cdfbd183d839 |
|
BLAKE2b-256 | c0eec842132be4cbc3b211c69196a0a4a398f7a6717b15546a1f55bf6af301dd |
Hashes for dimod-0.8.10-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17b24bb5359e9a71fe01ebf0a1d28f131292a4b2da31c966a49ccf2295ffcb3d |
|
MD5 | c4f4e31c447376713bbc12a65669b78b |
|
BLAKE2b-256 | 12ab4f01a9ed1475fdb5ee4863f709c990850efe6e3dcde895c72996feeb5202 |
Hashes for dimod-0.8.10-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43644eee59ceb33539cd5ed745072e508e4fdfc7f1cadf7f9c7296c2852f24d4 |
|
MD5 | 20c0310d8bea9b392ebb9299340d308d |
|
BLAKE2b-256 | abf6f10779e7e6375fc33850c543cdd9aab373d3fd86ac71ab83790ffa08300c |
Hashes for dimod-0.8.10-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e48cdd93846d60f36f0d257a79ab292e593bde128e39af7192540e2c40ef3d2e |
|
MD5 | 793b395296177cf537406c02e55dbad5 |
|
BLAKE2b-256 | 3163c603ec93b34a077951add62475ba70bdb2a0d749bdc60f0d047bb2b7f4ea |
Hashes for dimod-0.8.10-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bcc3278ea1b2b721a02f8be26579d6db5d93bf1a5b415c55952c60df8680495 |
|
MD5 | ebc60eb6e7effd6e18ae0f20ee10273b |
|
BLAKE2b-256 | 0ba56dfb6315061f2c65951dbcf125a100e1208d650153df4f9ba14a24b54348 |