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.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c27d9833ef04a66029e203a5291f79c24664d078b6d3e53d387e8a4728c21a65 |
|
MD5 | 822f692cb2f44139e94ed2aeb8375c89 |
|
BLAKE2b-256 | c2bf6ad97edfe300466549b30594b6f357f6c8a8f680d0c2cd2be3a7744a3562 |
Hashes for dimod-0.8.3-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 190039a69f873efea47d0ae73165fc347eb6eab387ecef8a0ff4bb855161faed |
|
MD5 | 771699cdf02f07eef43aef6f2e7b7b9a |
|
BLAKE2b-256 | 211ac8c75b7dc7a5d7dfc4cf18af232c33f36a1399c0ecccbc9ea86846568bce |
Hashes for dimod-0.8.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d83521ff466566833699aa5254699006871fa534a9f9e041e404ec69d1b3a234 |
|
MD5 | 536fcaddbbc1e97468e80e26dd1094ac |
|
BLAKE2b-256 | ba5a171daab4b553f6cc401cb14f4c286d7f0c381ddfd43177ab83b2b6703b6b |
Hashes for dimod-0.8.3-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d96513bcf70f24c947be95c5a6a9f7e621783167bcb788938451ef12b9ec802 |
|
MD5 | 0e77d37e39aad8f07b5ef8ab921f8891 |
|
BLAKE2b-256 | 513c981e4fd42a0947dd1cc218da9e3689925a1eba8fb7b0d256f26c349f3174 |
Hashes for dimod-0.8.3-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b538463f712c93bad835539983c218f1c1e72659eb6d860b026923291cc73423 |
|
MD5 | aa193778b3d1f43bd5bbc6eaecd7bad6 |
|
BLAKE2b-256 | b6c10734fe67ac803003e0c4674d231bc2e51ce6b4fec4ea75667bddcd856e88 |
Hashes for dimod-0.8.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87490c8a9b01204a3759e69ecfc3c2cb85e8549b0e4accf0b86cd1fee382acb8 |
|
MD5 | 344164311576624ba4ab88811393cbf4 |
|
BLAKE2b-256 | af23928b960270068abf77fe4e7503234b5f3fbda6ed4e52225eccc126853fa6 |
Hashes for dimod-0.8.3-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e83cf458649bcf9fd5aaadff2b0c65bf8fc99e1bfb1ec0573b81c0e598a7744 |
|
MD5 | 54204997aff0a78f09294e613562aea7 |
|
BLAKE2b-256 | 8ee9cba0e8002ec76882309a2f77fccc5766fbe6f7d4ced609c9f71e926aa73d |
Hashes for dimod-0.8.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d3608e038713600408079eff2b8609bc303fa848dac3cc4de093c283d8190fa |
|
MD5 | abcb92edcadf53aef64af6f686a2ec0c |
|
BLAKE2b-256 | 235a8ebda6cae724d2f56d18d6c62c288217ce7b356e53016cdd119722efbb0d |
Hashes for dimod-0.8.3-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16d0a7263e4393b00657eef9b71c61605ae7617c16675fc95fcceb14564e1d5d |
|
MD5 | a4e7801e61ca896213510751676731ad |
|
BLAKE2b-256 | 9d50ad9ca4029e7f3641f6df6fdd256d24ee5fc0131641b68d120afcfe2273dc |
Hashes for dimod-0.8.3-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3521f2a3fe1db663b0c6a75401bbb4fe79b76bbf10a36c7e015c483b7aa832ff |
|
MD5 | ea2a3446adfd6d3e9ed684389d12ba47 |
|
BLAKE2b-256 | fffaeb505ae7e50840e095e4196bdf19cdf2b61b9c238fb3487b27ab267903ba |
Hashes for dimod-0.8.3-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38bfab5f27c128afc114c935f0d9f8ba7f160c2d419561f4626e76d5ee285c7e |
|
MD5 | 680cedf5347d5373130d2bb41a915ac1 |
|
BLAKE2b-256 | a5f54c94b2194386f76189bd732c1e91faa777f82df47d902bc7d413f33e3c0b |
Hashes for dimod-0.8.3-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfb11a72ba924907202a7188e9751895d648c9626a35b119f519acd53e9541b2 |
|
MD5 | 1efda8de998f97778a0fd3051fc88a53 |
|
BLAKE2b-256 | 5a4345672c119d1d596f0494c65212ec365ac4a7ac92ca3501d0e362c2442c7d |
Hashes for dimod-0.8.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f803f902239ad7dc592e2feae29bd2224bb4cb985b23f4737dac6da76b56809 |
|
MD5 | 7b21902a753e07837ee285dbb3b05786 |
|
BLAKE2b-256 | ba07f1aba6ef88ba4ab17dff5b50d2096e857c8d72e303089a20a65106707e91 |
Hashes for dimod-0.8.3-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e647b0907f2202f8312b87d62639a32436e9490df00b071c5241129bd2e854e8 |
|
MD5 | 46b6eb9834693848ab8ea32f7329b9e6 |
|
BLAKE2b-256 | 55a48efc4e344ae719c3c58b368fccfdb6ac648f51f0d52ae72f2317a617fe2a |
Hashes for dimod-0.8.3-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a6a13552c4857afb719c4a90192d7779dfdce6d96c7f9d8b61342a1bf6873ee |
|
MD5 | 376e4f2a4ccaff3ae0f84c9880641d0d |
|
BLAKE2b-256 | 33c49f98239aa2e7dc943214b41e160b37dbc2d26f00c3a69bc742b75120ba53 |
Hashes for dimod-0.8.3-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84268a4c57f12c3e5d5a0ee9f6102d431769a106fd1ff3eec00b6979cbf2a13d |
|
MD5 | 6fb45592d50b5796e10f05d4dd3810e5 |
|
BLAKE2b-256 | fafef4db4738cb9331ab772e006a6b23cbf21bf652687fe6c31a317dbe004653 |
Hashes for dimod-0.8.3-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f9840b7db1ded28b6540d87a834e6bafe69ec052c08cac4283b6cf3577ae6d2 |
|
MD5 | 707cca7f7d967a58f95c832cbe5c385e |
|
BLAKE2b-256 | 12b5c0385c9276f9bfd9bc490e467c4c5b8bb488a0a84faf7e9e05cc73457526 |
Hashes for dimod-0.8.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44547ea5c938068cf8f333a9a37534e0e7669f3d877b9f882b7ff4445a7a99d9 |
|
MD5 | ed7919b614cabf26ad349ce9162c4cf9 |
|
BLAKE2b-256 | 421014dfc2f876933c383ee057fec752843942838421c11c5ded61d835d9b344 |
Hashes for dimod-0.8.3-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51383e186dfe98bf5378bbc739c41de931ba913f1633dd1067ec52d8fd54a0d8 |
|
MD5 | bd7d47228c67efd9c4fe6614ad2a5fb1 |
|
BLAKE2b-256 | 33457d4a884c8181a73be94f8227cb27f932a1fe731a6bd7e3deba9a5ca6eb5b |
Hashes for dimod-0.8.3-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ad8cf214e9bd81ee94f1a19c39817656b626e808b3c85c9f86c0f04efec3a2b |
|
MD5 | 39f4ed27971ea284e54105268d40b58b |
|
BLAKE2b-256 | fdf3eba81affd4ef8e0a4f8850f2a347765195a08ba5faca5589fe1ff44c3d85 |
Hashes for dimod-0.8.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b30a2a9c0e4ec26a0a481eff388f608c49db15a706b0012838e1d0f4050e307 |
|
MD5 | 934be9821aed0590b51291156d4364dc |
|
BLAKE2b-256 | d13e5e04b4b976bc13f61d55800828fb607bd7dc5721bee456f5a52e91877915 |
Hashes for dimod-0.8.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8cafe147dd49ca818dd3f14195bd7a4ff61ca33cc7ff341a97ea16a326e0b00 |
|
MD5 | 975b96eb63b879ef0fdb2c0a7d6b83bd |
|
BLAKE2b-256 | af9044ab08e32524ae75c8660e5f63e322459d2694734f267716a7912a908642 |
Hashes for dimod-0.8.3-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29a6427d3cbc7ee76451cba0f518b10bebe949734d23eb13fb7462d311866bcf |
|
MD5 | 82d2c98d8e61f25a9404dd96f4c24bac |
|
BLAKE2b-256 | b0bd99cbbf8b5d6f9038d8810227a3605d72919591ab0cf5182f2bc179037bd0 |
Hashes for dimod-0.8.3-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 558cd7048facfb5b036dcba6f9b8747257f1e3e71b0018c652bd95d1cda9a651 |
|
MD5 | 1e740bd033ea5523d5cfa9f8a45a263f |
|
BLAKE2b-256 | 89dd00df830bd2f58f42777c71a6699bce7bcab4bbaf614de1816b7f166292aa |
Hashes for dimod-0.8.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15470b173240109a5da975cc7ad29872e7c54338c306f62d1f4804f155fd2b57 |
|
MD5 | 2dd211904415f29e252737e557a44ba3 |
|
BLAKE2b-256 | 0739394fdfa8c1c02e9b4a43e842b347d7307c82bdc4cd377ca87217c951fd06 |
Hashes for dimod-0.8.3-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e945379a2e71423d89742ed4a486ac1ae90e886df067dab0bf28097309b1e24 |
|
MD5 | 3c40a5f0857d5f23b8261740e7b0a6da |
|
BLAKE2b-256 | f1f5eb63309adaeebb8a1476cde50ec55b3ad134eab107201c2972f14fcffef1 |
Hashes for dimod-0.8.3-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf88a96ac2a8a69e14142bddacc0c3ca1e847d1aed88ce3507922bb1ee3e8a78 |
|
MD5 | efa7df6a8853586508346d24c062f4c2 |
|
BLAKE2b-256 | 89b14f82c0ff8cf0234ee2368de551c7e0f702328ccf587d1cfe022f67e5eec6 |