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.14-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c6efd4a7b7fb6598e874c0b011960a1401e710fa6afca286e3214417bf3b056 |
|
MD5 | 4bd0408e0b5102144274adcd0d1501bb |
|
BLAKE2b-256 | f9f32751ad582d1f7345f47186b76debcf28be6fa1800a27955a0f18796493c6 |
Hashes for dimod-0.8.14-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7e92faa25f9ae7d148b38231962d6b1d1d007859c6743de3b2f9fb5b5512eb5 |
|
MD5 | 547004ef5ae3a81bff18e0f78be78564 |
|
BLAKE2b-256 | 0c6f4badab3475093979eff4db3b944bc3c2975be35779c88c9a7ce79bc5fb2c |
Hashes for dimod-0.8.14-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 007e71f2f166c7a43a752d5f7a255d09cb10d4eaed3669a817c14ce8463a9a0b |
|
MD5 | cf05b22b592e0e03dcb14d2e8433f989 |
|
BLAKE2b-256 | 4aaec3a8653248797d9330c4346e45708006a4a322a37674b4a588d24d122db2 |
Hashes for dimod-0.8.14-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d6e71063b6ca43abd0c6ba0f5aff172ca6cb84c1241d35efa53f1e99c842599 |
|
MD5 | 0d59392d23dd0c0c186e7be0b405333f |
|
BLAKE2b-256 | e1373f478060ec7b4e54e057f6ddfd657626dbf618d97664c238b2e216d343dc |
Hashes for dimod-0.8.14-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5ac936924f5b251f43d963cb754175c1b0327c5eb6c911ea81a92dc1df0b523 |
|
MD5 | 674b594c8c627a8f73563997f9478561 |
|
BLAKE2b-256 | 1b2eb962acc2304a04d193549266f84a50847839404f836e2a830fddee201126 |
Hashes for dimod-0.8.14-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b982c06a893bb967e98e0f5c5eee0043672150bdf147685fd10c016b5bacf70 |
|
MD5 | 1bf9706b7afbed2088d8bfa3ad28bbe8 |
|
BLAKE2b-256 | 7fe3564cbcdaffc2ac5cc4a3c0cde104cdf51cf452df9353dc2bc9370c7c2aed |
Hashes for dimod-0.8.14-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9708c6fe8a4c43f3dda37d8d21a31e925ef889101e4993ba6b85273d6c53d0bc |
|
MD5 | 88bbad9f6d6a48f7e21f76141c422cde |
|
BLAKE2b-256 | 11b18ab295d144bf0c8a08df4700fed40c6ebcde459d3dc030aae67549d6d9f5 |
Hashes for dimod-0.8.14-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1357781c3d323a89748db4033cc9600e26b93ff50e2e0cd7021a8f4570c4c4c3 |
|
MD5 | 903ac73b5052852091cc7e8d39c0c34c |
|
BLAKE2b-256 | fe33c2265d92c214004bb9216a228af9626fa65fccf3aa6ca729037ba947c54b |
Hashes for dimod-0.8.14-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf8685329a61db76c47b98fc32825a36e74c75d527f153ac31578223066c80ed |
|
MD5 | 225f506c778fed2d4b3ae6bb2a68544c |
|
BLAKE2b-256 | ea9f2e8a9e213b7246f3b402c4598bc021d97b1c7c24f8d970e7dbc3735d0e51 |
Hashes for dimod-0.8.14-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e46cd60a41daec1860bc1dc7266f993477dc8344307c809b8245a77ee9af0739 |
|
MD5 | 16c2518dc71ab99df2d82732c02b4b27 |
|
BLAKE2b-256 | c234ff3c6c75eb2b3913620c94eb6e211d1a31f92dcf24f0d835ec2ae1487853 |
Hashes for dimod-0.8.14-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc61026566c19203f1cd7578299c5b339b7233ddf17941fd8a3dd0320d7262e9 |
|
MD5 | 0aa18c52e72c85cf842ab34c9e734e2f |
|
BLAKE2b-256 | 87888b0a606af3d3c5a36f5b4acad4210020dfc4973af12b607a255b3581fa80 |
Hashes for dimod-0.8.14-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6fe00992d00bf69018f52fc41e801676fc8eeea092cb605469299a63bae5f43 |
|
MD5 | 25114b6f2213adfc53d75fe59835137e |
|
BLAKE2b-256 | 0d0d39dd444be06b3eb9cbca579d0846875bddbf011ebfadffa196dec5aa368e |
Hashes for dimod-0.8.14-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b2d1abad45c6cae6f1b00dab056e7533444cb6ea8ece999a36c13518368cfcb |
|
MD5 | d39731413d10257ac375ac3ec1fbeeab |
|
BLAKE2b-256 | 2f4459e65f15f35b9eb1bdaa1112d25305417497735e82c5b23de767d892e75a |
Hashes for dimod-0.8.14-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a16cd6bf99bcaa2d74b5e1e1f46f2992de3d52b057e577f6739ff4d4dd320754 |
|
MD5 | 2291a9dd0408fe86c7d669148a48fb21 |
|
BLAKE2b-256 | b228b2252fd1bc38ac51b147cea18e3cfac5ab3989a4977ec18ff38843964fb3 |
Hashes for dimod-0.8.14-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c19779f8ad805eb2d5f90270ceea5062de864356718340d8bbfc147226b1661 |
|
MD5 | 49b6fc1495d164392d2a32a4c802c9e3 |
|
BLAKE2b-256 | 9d19ba48c58df6e19a6fd9de56c1225e6a68e9f2679dd9d2a64ef7e1bc07e391 |
Hashes for dimod-0.8.14-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 710d41759f7942f0c3e772c65cadb8af2678ab0c935343b4165bc8ef98e42e5f |
|
MD5 | ec25d156694d91a2c2ab894e9c8af753 |
|
BLAKE2b-256 | 633149c5968b28229162cfef87e249c33b360394cbd15d6b3d55324982f4d5d5 |
Hashes for dimod-0.8.14-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a8dc0c35ec86f214d52e5ed6a3efd8795d7906bf5b6d70e097ca3bc31437925 |
|
MD5 | f537908fd29e3a14199396d188b8adc5 |
|
BLAKE2b-256 | b4c6ac6d0b2d6ad19a5156f4322b03482fef2248812adf7776c7ed88ccb911bf |
Hashes for dimod-0.8.14-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce5b7bf31998e57227e639dd707a5f06b80585eb7aaf0d2e021b46f676d57354 |
|
MD5 | d7c1d3c8b604ea8be64d7f20eeb88c0c |
|
BLAKE2b-256 | f3bb2e81df81a5b689b849b0c53d53ea049a143ab91f198275cae7693df75462 |
Hashes for dimod-0.8.14-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03c6f9233711b0fabfc1fbd9178606dd696981ca495dac60baf25989a27a5c34 |
|
MD5 | 88300b17adb5a4e088260ff5c92aa40f |
|
BLAKE2b-256 | b7b247c383b2d3565ff2a81820772cfe18ff4050a581b1b52ee1c822eaad1979 |
Hashes for dimod-0.8.14-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2539c264379f8a2adbc8742e205e81fbda6788d4c62e58339d9e5d153e7687dd |
|
MD5 | b2582e8f241f2e6f916a2aac55f0141f |
|
BLAKE2b-256 | 590c63dfe5f7ca47a5f9074fe6c7ed6f3d8f0edfa28e897d76a5b4feadfcb45e |
Hashes for dimod-0.8.14-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6436bfbc4f05190f845123bee57dff538fff5c1511c35d5663b6f190eeeeead4 |
|
MD5 | 564772ddb834596ca8ded2618b5f583a |
|
BLAKE2b-256 | 373e10273e870435b874cbf907a6330e40291a4df8544b928ee17285c72107dd |
Hashes for dimod-0.8.14-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8a4b62e0ee10a627d22b8d8dc6ef5f7f4d1d62ce0d5c1245523cc86e9820098 |
|
MD5 | ca457b1f99bee081159e76edcf67a67c |
|
BLAKE2b-256 | 5e0dda41ccdb037749416705eaa910a28b79beb6f9757b271b731fc2707768b4 |
Hashes for dimod-0.8.14-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd9f78ad29f5daa234aee767965093afb6738ef71f89c7545725910d2bbd2d78 |
|
MD5 | 83d8921b772c2b910d0ceea6de0032a9 |
|
BLAKE2b-256 | 5223f9dd53750c3c69890755deea57a158b3f72ada1cc0845bafa50793b80989 |
Hashes for dimod-0.8.14-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 537792ffd4b4586db91b518e184661a72d42012c58f86894b410c36cf691c9bf |
|
MD5 | 442e6c300dd8501d9996db671a60e02f |
|
BLAKE2b-256 | 2621806298e9b140cf0b0f9063a56191ecd5f3c6bd9d7238c8e888a801af49f2 |
Hashes for dimod-0.8.14-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39155ce7685f4e87e21cab98985672aff5aecf977cc4c6a68cdb969da5be270d |
|
MD5 | 951102db692bda9803c9cf7cd0a7974b |
|
BLAKE2b-256 | e72cd28c2cfb10fdffdc30ce6e6ebf40e0820d1c18597f5b0a4fe5ca9ea90e25 |
Hashes for dimod-0.8.14-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d55d6e03bfd0f49d3a6f6418554195d516d24f28dd252eea19a51e8cccaff40 |
|
MD5 | d8a96e14334055475f9429d2eff912d4 |
|
BLAKE2b-256 | 6c136d305e6b69f813268f45bc3b4759f4f8ececfe2e68a999bee8844fcc6c80 |
Hashes for dimod-0.8.14-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 870242164da52e7a8ed98f1e85b9aa01e501fa885d731db8863c52c434a61b6d |
|
MD5 | a5a6414be5a440240ed2acd015f1078e |
|
BLAKE2b-256 | f39533f5e35f8896e4d14988689476ac59e25ca544c86afcd360ef8867a4acbc |