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.13-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aabacae8f5c83454c6659c5146a8be5c5c14d887a5be8096e6c76eb4c4d62f0e |
|
MD5 | 04d54ac8a1064a5125d1bc8c983c82ef |
|
BLAKE2b-256 | 6ae96f3dbfbb67ff2c00cd3991670a086077f23842314271bcfc8fa3c0928974 |
Hashes for dimod-0.8.13-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c28f6bb1ac16f1248547de2de9de310bb9f031edb7f69860e3018e05d84212b |
|
MD5 | 8ee62827cd2d8fa4e41367a6c1ed51db |
|
BLAKE2b-256 | d45ed51cc6458deb3c732d9d4523c19a1b146def8c782863bae6bd78c32fad4e |
Hashes for dimod-0.8.13-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfe94c1fc7ed0951ec87bdbcdf8b85a57624f39af56c7b23d7b295bb8c5041b2 |
|
MD5 | 4ec80bf04d22b33901f86af99e7a8ebd |
|
BLAKE2b-256 | 2a20cdb467aa8f659ea9338b719a2f59427b74553b8a0956dfe2a01873f8b02c |
Hashes for dimod-0.8.13-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d004fb9534a3bf1777057b72c623a73b1e5332440f75e8d0236c3085c487a8c3 |
|
MD5 | f8815c6d0c3a6c10c63dc822d44b064c |
|
BLAKE2b-256 | f06b9752ae9e5cbab4b9a54181a3d1ee7bf8cce86b008ab1da31fa5d638742e7 |
Hashes for dimod-0.8.13-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0bdbef90bf236d3374cef74e2e1fdadb05f09f016cab3da008a9b86ccd2c580 |
|
MD5 | cb8848c38494f8592498c6991c3d7486 |
|
BLAKE2b-256 | 122389153b83a85b2ffd94b00f997bb3e4e6935979d72e68cec4710c641bc216 |
Hashes for dimod-0.8.13-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9acdf25249ffef28c504c03af886edcb0faf209ed1323ff85b919f8faa196329 |
|
MD5 | 0127cd665e4bad1bccd686ce11ce063e |
|
BLAKE2b-256 | 69a3654d878d67d6cd1d61b15c98a8fc5f882888b36b3a3aacac1ec67609e994 |
Hashes for dimod-0.8.13-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae7c44330712d17e8f490304ecb8a054366ad0eb84c9bd045f766f564081867e |
|
MD5 | ad509cdc62fa2c772943691147b5a6bb |
|
BLAKE2b-256 | d29018eef4241873c0b149a0b40b0803928b2b0095711f9c4980293f3bc1c338 |
Hashes for dimod-0.8.13-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b77ce95cafb7f17e37b17e9ec62663f5beda2a4eaea1645dac65c91a4cd2936 |
|
MD5 | 4c6a30bcf8bf20f22e7a46d1880ee66e |
|
BLAKE2b-256 | d18feaff95b5470c833989334ae03643956e6c4dd886a1eff3efea74a91c112a |
Hashes for dimod-0.8.13-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94a657efb04dd1eb0b2e6e3e41c9482ddcca0b4fba9e40d7a7d7a38baa2ed5c2 |
|
MD5 | aa09e7c756ea02e39c9125960f5d9739 |
|
BLAKE2b-256 | f7c16b81b63ef96fd5c53a9a3b4b7f699acec9f90e37dd01c7050df72a4c392f |
Hashes for dimod-0.8.13-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1289f1ec520aaff9ed9e62f9d5c721d9455a980c9d6735b3e35662c4ce7d32ab |
|
MD5 | 3828eac91c9ff4a845568cfffd415315 |
|
BLAKE2b-256 | 30cf0562c7f0ead9f6972a77c20be6130e75cbf16c0875632a568af0c377f8ee |
Hashes for dimod-0.8.13-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fe16c446e07b34a44a8bc107445428e88decf97d4594ec60c5f91457eba389e |
|
MD5 | e6ca3f5c73b87d83798f6ec5316967d3 |
|
BLAKE2b-256 | c68f2d572d1fb6854a46c17e00ebe32c489206cfe5fb6697c394fc75a9756537 |
Hashes for dimod-0.8.13-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 089fb7f7a686a79ad2378c2fc354b806e7f1d6a83602172ad1104a6dd5e6a8f6 |
|
MD5 | 7ec77917dd25e91936071438888b090d |
|
BLAKE2b-256 | bbb8ec6159a529dd1b1a0090e941674ec35d681c56b8826dcc2a2d02d6706511 |
Hashes for dimod-0.8.13-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df4d41f12437448a0044974f1b03cd828240d3d7a353b63f0b61a05a74769f9e |
|
MD5 | c75b8b57d99fa81340b6646c24d52cc6 |
|
BLAKE2b-256 | ca4f6a670a503c6a3429cc5ea871bd60ec6ef2eca89159e560ad75ff308e6a9d |
Hashes for dimod-0.8.13-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ccbbf111adff2004acf3ea8e2885447f16881180f89e5870fbf4754bea07669 |
|
MD5 | a50172ada37b605bc9bcf9937abd2c1d |
|
BLAKE2b-256 | f64c7bdc66d6cafac98095d52c75c8167b8118b770bba4506e0009412bb0ee1e |
Hashes for dimod-0.8.13-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0a6c2d99291804cfef037687e271ad06158ca24aa443a1274a80d37b1f00f73 |
|
MD5 | 3bf32287024599a81eda8578fc969056 |
|
BLAKE2b-256 | c819b6db5d9edc789b3fb08f1664832c367a943a7185840a6b2f3963a4bfd4b3 |
Hashes for dimod-0.8.13-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21ec3774363659026e39e4ee17bca10a302354927828058044e0a9a5cc40b11f |
|
MD5 | 743ca6f9c96529a702bba0c5ffe22b2c |
|
BLAKE2b-256 | 6a02279bfe154989804329ac5a8091a90fba1c7841d66ab7950513518c9da5a5 |
Hashes for dimod-0.8.13-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf720ae9aa7f77a17f584255514718a58b47fe2337dfdea4085a6f235dee9635 |
|
MD5 | 1f8b9d451ca2f5ba7955ac9d01f0824f |
|
BLAKE2b-256 | 29b2ec2e657184d5d90fb6c01a886db8dc972a61e00a964a8dfa4ea97a08e101 |
Hashes for dimod-0.8.13-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5630229583a56a8d2735817b9ffc3890b340022604d97b988c69a4b66165e71d |
|
MD5 | 3ec255c94263862f3d0af37a057928be |
|
BLAKE2b-256 | 8c82ac75700019e07380e177e6e3ae2705a761ce2ba64e1cbc8d90c45c70a04c |
Hashes for dimod-0.8.13-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 602238394d037f10dfa5ff8bc2fa80fee09e377dcd6dec79d1be71c12f54681b |
|
MD5 | c3c86ea68dab32d341cf68eca038be60 |
|
BLAKE2b-256 | 64c31a4a919c207ac4893d81af69757bda9de437a1a33e0ffe49cb5a66bfa2f8 |
Hashes for dimod-0.8.13-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d48c6ffb74b6fb5baba328e334954a07ab6b687e72e3cb7eae99dd6bf5602a5e |
|
MD5 | 4daec5964f5bcf99e65df348b9f5fdd3 |
|
BLAKE2b-256 | b9f8e3c1564612edbc4b4c37f7e2611f67727f42346904aacccd0a3081b1fec7 |
Hashes for dimod-0.8.13-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfdc0d7560c7551f020204c396ea21976d032cc057719132426524eca97985f6 |
|
MD5 | 27e43cd8f34e543718321922957bd59b |
|
BLAKE2b-256 | 8e8eb4cd4c7326ff5ddb4a620fec1663294bacf808c1010d95445c7c0a9bdbb3 |
Hashes for dimod-0.8.13-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94fa6ee93fe5138bbe009869d4135b52b3fd310cc99bb1cf85a9d918f60ce848 |
|
MD5 | b6158c450f6ed0101633dac1ccf55f7e |
|
BLAKE2b-256 | f0c89cfbe5c0bf27189888cb038ee9672098d4336004ce7b73372954ba4de742 |
Hashes for dimod-0.8.13-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a20a082fb8006728d39335d19007a5f6036c130945291814ca21ebcd3d9a152a |
|
MD5 | 1333121ea23ed3e6e9b95f69ea72d392 |
|
BLAKE2b-256 | ab8d63662ba793eb971eb5c1aa0bb59f476b4a0baaf8429176e2ea3778ecd274 |
Hashes for dimod-0.8.13-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b862b118652e834e0b06d5c03f8b33879c2760492d27d4679d32ff77a375a2cd |
|
MD5 | a649e5965c84e94896bb8ec50b7e3fc4 |
|
BLAKE2b-256 | 5123197e1d8743e2967514ad83c0d1e6471013cb1273eb0767c4eb976ab6d09c |
Hashes for dimod-0.8.13-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6267061932f34fbefac1b2615ede8a53bb52465f02b12aec6b451188490e55b |
|
MD5 | 14d5fc8ff77eda4f4e92b992c67ee4e2 |
|
BLAKE2b-256 | 6734a189026bc797c5908bdc5944374ac701a680e63fa8c5107a3747a2cc6c52 |
Hashes for dimod-0.8.13-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7c2d2c7d06d4fdb84c6dd14da32beef3ce39dec2ea10b1a6c07258a997d7332 |
|
MD5 | d914005580bee3d474e557f4189212c5 |
|
BLAKE2b-256 | 5d0cde72c32ccf2cf65b5866a626cc9dacc3185c9a16c6bd71c4cf14336dd451 |
Hashes for dimod-0.8.13-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91cc54a94c34ba54c4d77e06777eef2ca1338aa127b9653216a35cb97b33ba57 |
|
MD5 | 32382a536bc266040eaf2c8b99667dab |
|
BLAKE2b-256 | 5ce0c86caeb4dea0582da8622c3594f6dba7dfce598c4527b35b568c9f244a29 |