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.12-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d7552b50a89d711232907db44ad07ef1ec81c7c9a542c414fa746c498d2888b |
|
MD5 | 1a916af7ae8f33e8dbecd83322c22bc1 |
|
BLAKE2b-256 | 0f845bffcd5fd13b393bfe2e0be146e69d5da71c67eb38b06e88d15128984e49 |
Hashes for dimod-0.8.12-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e5ea064b1da79b69ef3f0d66ed8a0e93f518b4bc6bbd5b8bb25bd75eb96c04a |
|
MD5 | 13ec95d3204b86a68aaec1d2e000e518 |
|
BLAKE2b-256 | 0ffb620b79eefa3cab826f46c5be54f983068739e945bdb86b5ad5f75fe31904 |
Hashes for dimod-0.8.12-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a27165b12901eba0b6290c21f55581fa206df1de21c93dc7bfde8866a17b7f6e |
|
MD5 | 0549de254bf4acbc6517f003e67c4920 |
|
BLAKE2b-256 | bc2e3f22a7e808fba4b9bf99f9e12c886dc1c53720110ef1c89f21a3b3c461e8 |
Hashes for dimod-0.8.12-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d4e1505de6ae37f38f72211b3123c46bd31b016c5993792cb242817f737e9fd |
|
MD5 | 176db39c3905c97ddbb5ac8f480b215f |
|
BLAKE2b-256 | c325ec4236ca2d259f49c11b6849b2fb65d7cb3bd90982db79b4d7d67954a010 |
Hashes for dimod-0.8.12-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 223519742cd3e58ebede82080862ccb14e8d10057746265a12bdda36f595956d |
|
MD5 | 5f1bb61587c4a665aa88d5e5eeb92fdd |
|
BLAKE2b-256 | c3b9beeeb8309f8f74f0b75a2af927dcfb68b637ecd8d6573e49c6df664ccd2f |
Hashes for dimod-0.8.12-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ee4f47584e34338b8eec1445617393a06008a7a859c1dc7ff7093592cddaf3b |
|
MD5 | c231862142467dd00c7293840d1e71b7 |
|
BLAKE2b-256 | c639bd982927bef2e764ab9d7d4f23df0c62ef402b7a511de11e2f74dd8cbfea |
Hashes for dimod-0.8.12-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1edc182eef77aacc82e8157ced2c9d9c88e6897fe670226912b256ebfd8ef4c4 |
|
MD5 | cad84ee8ad0c08c05833b866cec4e8d4 |
|
BLAKE2b-256 | 65852226691ffb3145d08c77054841228c5e88702d2f6c2fb0d21a678d68c917 |
Hashes for dimod-0.8.12-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56822f159ce8a1b59c0b25fdddb6749c0746a3a750a15e046e61a12c44d79eaa |
|
MD5 | 7b081a30475fa6ceecd9f7508db6217b |
|
BLAKE2b-256 | 3ee2bb3d1cfec72fa396940603acc080455f752dc3b70269a8dd436f59ae550f |
Hashes for dimod-0.8.12-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b3ac9982e35fc356670091ce86b36ef54f9c50a16a2164cb1c6b3f2f2c7d697 |
|
MD5 | 1733646405143eeb043beef0a5669e89 |
|
BLAKE2b-256 | 53ffac7af683bbfd6ba5601cd900bb7f53a1149d05f3adcdb91664a9272e5bd9 |
Hashes for dimod-0.8.12-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 746e22ab62ae75631f8296f7c5ce541d8beed799aceccf5a006d0e7af50ca69c |
|
MD5 | cbfcbb20fa00870a16dc9eaf0c0d83c9 |
|
BLAKE2b-256 | 29cd497171c4df9f19fb69ccab73ed77fdea3c06e1db333bc605d199dba07a1d |
Hashes for dimod-0.8.12-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d68a66a932a577d4a7c2706c0bf7534a23134398f1552d1db511cf24a7ba857 |
|
MD5 | c9a6706981562074dc6e6718ff037e78 |
|
BLAKE2b-256 | c0ad05c23f3919c236c1743402967681e17b20c2212f5f3206a369db2571fc00 |
Hashes for dimod-0.8.12-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 084816575948a5fbd7062b174ede59c6dbd87d83e6a36cb13ff5b13dfd7101cc |
|
MD5 | 6dc44842777841810efa0c168dfd29e8 |
|
BLAKE2b-256 | c5d45b9f5083eaeff3274e385136892617484063ce07bffca5cca1d0f38e6803 |
Hashes for dimod-0.8.12-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cc8b5d375045ac33534c0ff46c525707304220b53e7c3f6853bedf6aa3b4be0 |
|
MD5 | 107ec3fd73f802e45abd574b55551211 |
|
BLAKE2b-256 | f26a30a20dc1e727b8a0be32db36058419b7d2bbcd844af2c57691d6daafc3a7 |
Hashes for dimod-0.8.12-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed6e3a16e71f4824f7f7fe96372731786aa491dad12a9466df4d095b778b220a |
|
MD5 | ad71a534275c8d29bc16e702341a8f87 |
|
BLAKE2b-256 | da35a3a909212a6fb7f6ded72d8031b698dd0d2a13896d3fc25b6f80381ea3ca |
Hashes for dimod-0.8.12-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e286866e0ccf9c70ff27b5166122f7ae4ff3f35c5e0615b751517afa9246a94f |
|
MD5 | 5287d05a710dfe380868b4068da05e01 |
|
BLAKE2b-256 | d987c072ccbee1c00ba71e088def5477335decef6d305525775a310e798689f5 |
Hashes for dimod-0.8.12-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c248cf6e4e23ec6dd113a551995746733264a9370e19f820e2e5527d1a59e7eb |
|
MD5 | f80684dc835ef69b21dc8b77192320d8 |
|
BLAKE2b-256 | 35363e0039aeb34ddd50f27d32c98ab781e87540ce70ad689ca3c0ebe6c82c99 |
Hashes for dimod-0.8.12-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b998ed577d41c14b35f468041c66d3af50a662482020414413accc89f69d411 |
|
MD5 | a5f883c0f65555805f3a742cd4509f2c |
|
BLAKE2b-256 | 4e449f950a077e96804ee1e2de077e1aaa3f41387b803e1711c2c899d1c69717 |
Hashes for dimod-0.8.12-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 883aae2c4a1f0cd186dc853d4c0b0dafc39ece47272633593a07cc7faacfa708 |
|
MD5 | 0f43d0d51fde35bf1cfc07ee657abbdd |
|
BLAKE2b-256 | b576a143c429c1647fc8d11a2548091bd6437c6e7f67cbb2afd755799a84ed84 |
Hashes for dimod-0.8.12-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e9e5e8b3f87b8bdb2123289fcb5be585fa76db0e103e693a5a13441048304ca |
|
MD5 | 9c009cac04574ee509b24f96eba694be |
|
BLAKE2b-256 | 2ddbd43c4240274590dd18306d350a60e93003ac3a8c4fdf4afb6ffac991d3f6 |
Hashes for dimod-0.8.12-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eab03ba8cca043e14c252d875a3e5503bf6334055bf512487fa68389a6cb2313 |
|
MD5 | 7140ffef0e8d0a7313cfe71a5fc3b638 |
|
BLAKE2b-256 | 6c66ed98ad6334cd8b3110bfdb866f8d583a931dcd728ca29f7b11c5658744b1 |
Hashes for dimod-0.8.12-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91dbd20b0708272b43f769694e77a58a7ebce33eb44eb91a033c80632b751e01 |
|
MD5 | d348a8c8398cd1a59c55a810805e9b66 |
|
BLAKE2b-256 | 6515f2436035bed59be4ae7c4921b670d16deee5054e1ccdea0bb301fbad549a |
Hashes for dimod-0.8.12-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e82e88e36e54cfc9585ef61155ab9db0bff8f291f42aa296b4ae0ebb3b9b87b4 |
|
MD5 | ac6d48b57faa67c7e3a2f1f464c5b4f4 |
|
BLAKE2b-256 | 930e37724a510fb02a5ebb5a48344823ba5c4e7bc39fd0bd249e407bc966657b |
Hashes for dimod-0.8.12-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f6fcdff84ef71ad544cab02ca3660235cb53628436881829ed9300f1ae97c7c |
|
MD5 | 1b1454ad714c9c031d58b282d1804e10 |
|
BLAKE2b-256 | 870bc2f6763615c6e82ce8e4a8287acdb6cbf0cc6f219acd095d0fbdb515863b |
Hashes for dimod-0.8.12-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd2078668c2c0cbe71d37598be72e862e92f1822feacb492d88b06bb623ef750 |
|
MD5 | 865ec605943bb9de5ef6518958f0bab6 |
|
BLAKE2b-256 | a08888c774f51faa503a36e14f43d19500f8208e2f9bfbc3cb0f5069d4857756 |
Hashes for dimod-0.8.12-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 278a970f58c404184d532ba1b856e990e6d95ee0db3c1375af09feb8188d2b20 |
|
MD5 | 908b17aefe080755c95d203a4413bc44 |
|
BLAKE2b-256 | 7beb81dac0c242171097f81e00bfef0bc3c066f5b4a4b1f6c5866f000bec0592 |
Hashes for dimod-0.8.12-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73187ca96771ed8b8616de0366f944d1324058fd34a24132b31f20dc5bc0eb87 |
|
MD5 | 0f7a434afd3754c9720c3c1c4b2e4253 |
|
BLAKE2b-256 | dcc5a4742928dc19ed3723b642940587b63c90a979630f3f00c070a2bf7521cc |
Hashes for dimod-0.8.12-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7b0d8d12e35f251bf3e37537e3f668cd8410e51351bd9e1209343292770aebb |
|
MD5 | 4621f7ccdc2b6cd72e2ad8a522e18200 |
|
BLAKE2b-256 | 250bdb5be8f088749943190ae91ff7b1772b59732d4388a4b7051bdef44a82fe |