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, ExactSolver, 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.20-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1ff9c87f684cf9b83d5c1e8c6b970834a3dd9f7d2b90d74f0c10ddf01a7da7f |
|
MD5 | d15c754b85d0575ba0771975d29cc70a |
|
BLAKE2b-256 | 08405c364eaf87554425f1d5f986494c85bd6bd026f97da1e18f368a3d22655c |
Hashes for dimod-0.8.20-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7da71401fd6ca614f559d38f67ba55270e19434b4ea217e8198c832670c1da3 |
|
MD5 | 9660f698645df6bb4d8d95227ca52241 |
|
BLAKE2b-256 | 6bba4d8ebf2f63b6ce08e658b2f0c7186a42be25c0e3063974b5374bd65dd6b0 |
Hashes for dimod-0.8.20-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f1c1ab210c49cf3d48abb39517f86c0a3dec8512ac814d12f75ddfe7b65023f |
|
MD5 | 48213c057338f539550ee1fc473a1076 |
|
BLAKE2b-256 | a3a5e9cf7fdff6dbce2542fa8f945ec7e03460832c405ad1862b50a1ce08254f |
Hashes for dimod-0.8.20-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d00db6e653a4caffaf40f8bab30089d9d4453e965c52f474abc8457b3e905b92 |
|
MD5 | c6cef92375b15f393fd6dda7a34ba4f4 |
|
BLAKE2b-256 | 0ba359f46bf93a93b5b2b29f3a64eed5fa19b4afeed9f2975c523c3eaf5ee80f |
Hashes for dimod-0.8.20-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1275bb2bb913c2a24a554cc9333aeb97d2f531de254adb0eca774bedfe0214fd |
|
MD5 | 0a8b251de5d2c1f9acb3feb97e014529 |
|
BLAKE2b-256 | a82f5990f857d2b2520ac4aab6c1e6a941c8a8d78eee5812d63e41eb44168a11 |
Hashes for dimod-0.8.20-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29070e07a9b0595661ce36bc6806239d73bfe3ed2ee83fe2a5310484a2595fa0 |
|
MD5 | a49554969dbf5465b062b4132edb4e5f |
|
BLAKE2b-256 | 6309eb9982182edc273aec373c97564e3ca76d36c2acefc3bdb57e0dac100f4b |
Hashes for dimod-0.8.20-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cef8be8a9bf21e54dd0a9bccde54a4ec2c665c23694bd19c38353649131a5ce |
|
MD5 | e661b90dfd120a55bfb6b97a3a260042 |
|
BLAKE2b-256 | 560f4bef57025a9378701232b413768e4449957a33b6c6990c44763a5ee67599 |
Hashes for dimod-0.8.20-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a6abaa49fadaacea3a3b0ad49254ca0af4850ff9a777a5fbd4be7b3aaa00e80 |
|
MD5 | 85abf026512416b7ef86e5fd90201d8c |
|
BLAKE2b-256 | 7b72e568028e4964ad8e945b79da80f9cd5b9dc8b2afd607139c0445fa912746 |
Hashes for dimod-0.8.20-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ce01969c5736ab77d57c68e73eaca3bd281d8b70b29d0b4b04238e1ffe1450 |
|
MD5 | 4e2b116c88773c6fce373517ccdefdd0 |
|
BLAKE2b-256 | 1dd767e80162d309f1f63f61ba74f62c56203a0d6da8b104993645f9b489c76f |
Hashes for dimod-0.8.20-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8125fe7ff51d7c2ad54bd51f84e2e698185fb7aa3a0a5e75af06af5866110fe |
|
MD5 | 8e3e71c20515546dd216f54fd9b67752 |
|
BLAKE2b-256 | 3b90d28eaf722c34345b115f725e9cad88743004569cdf135b1bda0e364194ea |
Hashes for dimod-0.8.20-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 541da1094a2b26fd84510607af98d1dc3a673c96273f2cf3d293eea76bfca6d1 |
|
MD5 | 54f9d61d63018f9eac0104659371af0d |
|
BLAKE2b-256 | 42c57dc37c0d1cde22acb43be5f5a42568f82bb46a9cd2f8f071c00c846e1264 |
Hashes for dimod-0.8.20-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84939c97b6f1918cd522ceb6b03f36be5e518fb1747e93d234885fae1e5abcd8 |
|
MD5 | 7aa0a7b63d85a3ae56ca5721e673b97d |
|
BLAKE2b-256 | 608d365c59ea1b8fb86b237a987124b77c9893242579f761d57322f6b2974e5c |
Hashes for dimod-0.8.20-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 144611f77674fabf5ba3c9d7df3bb122f57109dfa8beb0d6ff1555ce0d311700 |
|
MD5 | 8ad52748f3c5fc164b9f2621674ded4b |
|
BLAKE2b-256 | be200db9627ebee4e5949b14c191c7d52f8068664ea33b962a170c71ebb89412 |
Hashes for dimod-0.8.20-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36b1581d09e5742cf35d9243c4e3433ea82c63951fad5f542924424910faea27 |
|
MD5 | e6b6751aac30291846a83cd04f441329 |
|
BLAKE2b-256 | dd48b1ae78c4474970de8106a30a85e56a0240d889144d336f8c91d9d625ce21 |
Hashes for dimod-0.8.20-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f513acc9ddfe54f4bb822e3da5d2b060af9d1ad75ce94e6199c036b917765619 |
|
MD5 | e07aba640e68289d0c62d515dcd8f2d3 |
|
BLAKE2b-256 | 3080bf1326825f2de8863a5ef1f198c758455d65b0aa4fcdd4e8463006fd0e87 |
Hashes for dimod-0.8.20-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 018f34b155e6d738f7cee7ac073670ae7e169b3a3ba5e29c89ef1a67981ba881 |
|
MD5 | 2fdcb700424a3416d79ed5248daf4c3c |
|
BLAKE2b-256 | 964be6768c7b12041acabde07ad0a49718645b2c7d365c5fa0b6d2c552013dec |
Hashes for dimod-0.8.20-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a01883550222a276d4ba67e03db007c251ba4d857b124ab1f0d953e8275b8387 |
|
MD5 | bf66220d8d741b78121352e3f2d1c542 |
|
BLAKE2b-256 | 6a242bb5fea695da0c7e4ea4063412c9f6926bcf68ba325e7b0cda421ad3016d |
Hashes for dimod-0.8.20-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fa812e14d0376d5a76cc17bf61246af658f3f589bbb6d01529c761ca05fdfb9 |
|
MD5 | 60949a7e3da51424a64c74cea79089dd |
|
BLAKE2b-256 | 55b823840f42c7df5292539852b042cc66236c2e02acb422e1bd31181ef2f9f4 |
Hashes for dimod-0.8.20-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebe8c7a77a69052a902ab6e9bd2aef5045c9502798e1294b80b3845fb3a38997 |
|
MD5 | 0b2bbd42f94772aa765b8e01fbef63cf |
|
BLAKE2b-256 | 33635b45ffec4d3c23365dc4f8eea27ed9ed8686a3f7eeef7b72f7538ba7d9c7 |
Hashes for dimod-0.8.20-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd688670be7cbfd77cd0b47728c414f0a5da48c6a820c056efc7ce005756d968 |
|
MD5 | 85ccf81c5fbdbaf90f3a289c3c7c624a |
|
BLAKE2b-256 | 4be76a0f904e949e225b6f125b2c55de7134ac33db56e1ab9e7ef7833247820a |
Hashes for dimod-0.8.20-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77c0cc1b0190b2ca7e2006c6155e2f2c4b146fc639708650cac2d14db9884480 |
|
MD5 | 9f1c4f69e8b21fa10751f20e4bc9f1ec |
|
BLAKE2b-256 | 50a39fcb5bbb819775e06369bda7d870fe0c8f2d6c1819fa707ebe8816528daa |
Hashes for dimod-0.8.20-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7e2d6d1f128f5a6f69ec0da3a76eec8646b2da2d0ce3c30a6e547ef4f2285b5 |
|
MD5 | 4b0a046b0941cf2610eaeeb23a3226c5 |
|
BLAKE2b-256 | 24df83abc69e0736c2b4a05fb001f1e920905ae382dd5fa68ea566ce3d894581 |
Hashes for dimod-0.8.20-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24ab7ac3f4720627d1bedf40ef7c8474c3eb9b8d823e22e5615488f641434e3d |
|
MD5 | 0eb856a659d587f655132d8dbcfaacdd |
|
BLAKE2b-256 | 6de4e52649d5b36863fc5c670646264524f58defbefc18a01635ff4a18519873 |
Hashes for dimod-0.8.20-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac5fb3978389a50c0683a9c8ee3b119b30f7e96dbfb0b51057705316d00111c8 |
|
MD5 | ce9088a5f17beea787f382d45d46f1d5 |
|
BLAKE2b-256 | bb37c32a35af5863c56558792effbb54aa4adaafac0d0c211ed7f3ca82dd4918 |
Hashes for dimod-0.8.20-cp34-cp34m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d5a5b4f0428b38397c6006aef5276473a00a5820736b017caffd5c73f78314 |
|
MD5 | 222d20cffc5039f100d72f5824749ec1 |
|
BLAKE2b-256 | aee8001f5cdf7dab7cbb35a480171ad72cf4c76aa9b5c3e9ec3a2019a2f14b50 |
Hashes for dimod-0.8.20-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b033aff0599b45c450d4092c7f1361c8d35e9a6d512aa501c7453ceaeb3ec445 |
|
MD5 | 69c261b267b6855b6bb2a7ca5ebc94ff |
|
BLAKE2b-256 | 27e946e9f9855b7eec9ba9e904cea93c0356ee4f78f15ee7ac6be51a3d045876 |
Hashes for dimod-0.8.20-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e51e55dbcd0116318d68de5b54d44ea86064b2c09e1a72b64dce097a7239fec |
|
MD5 | 272094a84b730d62e6953b6b2eaf4449 |
|
BLAKE2b-256 | e49681fc51ab400ef5bd832c3f582842c4c7f6f9c00b981f4a4c0e5332d7f00b |
Hashes for dimod-0.8.20-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e7030837345ba08e7124f6d76de39460f2495e87182eb7dfd812782645b0b85 |
|
MD5 | 90e611349a7f09304cde785b40151510 |
|
BLAKE2b-256 | 8e041934b328ce0c369a5124143b5d13238e1f52188f26a364553f21bfece7a4 |
Hashes for dimod-0.8.20-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2625660a4d4dd9edcd1df12fe55e3afd75003284f0cb50fd161fda4ce1541b4 |
|
MD5 | 501c1f3d70b718cb873576ef0a4be69c |
|
BLAKE2b-256 | f64fffce8711b728d92200247a4ed96f051b9496122d0407e9305edd4898620e |
Hashes for dimod-0.8.20-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 637e448e867294c6e53bffb092a3c0e90cf73dfed2473d9da96db9317959253b |
|
MD5 | 440600dcae255339960073fecb527c93 |
|
BLAKE2b-256 | d666873298c299f35b912213903e96822cade8406f5e76caea5fa08aee42caef |
Hashes for dimod-0.8.20-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dacd8aef85e6e098c3ef4e441569843f36bb1141650dc67590d8a32dd741800a |
|
MD5 | a463a05b4949aaaebef30ed10521c871 |
|
BLAKE2b-256 | 0a03c563451df27c9cbea90a21a18772135864aa3aa050ec205decbc4bf6c066 |
Hashes for dimod-0.8.20-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5345281c28230ac070d4368f56db345eae9339fd7a53444aa309c9aa1cef1bd7 |
|
MD5 | 3eb35f9cf3a1cbdbf50235c13b1acf76 |
|
BLAKE2b-256 | c79c6046bacba53ef0e7b2e06510c3e43c7cfc6fd0190043fc4ecae5382d03ea |