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.21-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0b6503652c588c6391f919c569f11b3a1e24a7b47cc66400654bd72da12f52c |
|
MD5 | 684111c1b819ac4c91f22f4d87cb369c |
|
BLAKE2b-256 | 8f3d54ab5e3fc6120ecd86f28ae040b539659bbfe8f0bb823283f1c83c8d1eb7 |
Hashes for dimod-0.8.21-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc9c6b8d9b2fe8f001fb377922df833a92c215a653ce7dee9f18361f9905032e |
|
MD5 | 713874c5522d0743f84c64e339136b0b |
|
BLAKE2b-256 | 04ce562e08679de6446f1691a1708eaa01acc42c808c60619682a44fa701c86d |
Hashes for dimod-0.8.21-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce213068e46fb4c1acbae88578f3286d29fe7eb56a918b591f1e25195700048a |
|
MD5 | 35f317c317f5f5ce6ad903911bbfa8d6 |
|
BLAKE2b-256 | 164e56d36c89653b41f0daa9f4e1fcb1b0f748471e9c0f39eaaab35cbc1c57ee |
Hashes for dimod-0.8.21-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | beefcb7c4039eceb0fa8557b32ccf5cd58ce6a1c6e69988f7cb3c7a746cb9d18 |
|
MD5 | 5c9352cb89e91e73a3d614ab0788e0ec |
|
BLAKE2b-256 | 47a685c96db8d8a80879a3251d41b7bb80a55b4961f2d4338960857d2d305065 |
Hashes for dimod-0.8.21-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d3fa8b3d595836717854e2406d90941ab3e01e086a9f1735b57462c1221f8b9 |
|
MD5 | 85458b70309ac5cf4a2344f7cf072831 |
|
BLAKE2b-256 | ef0cd29d14c63c221e61f28a77a43f469e35ed9ee8f73ef76d1ae3f82928f857 |
Hashes for dimod-0.8.21-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dffb13b959aecf4cddf05359b2518aa0e2d083f4358fdc47a1fc3c7130daf552 |
|
MD5 | 0c2ef274927547db7f5558954a0421ea |
|
BLAKE2b-256 | 368483877eeb0e564e147e687f561572b735959902502a6553335cd1d92c55d0 |
Hashes for dimod-0.8.21-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 930be55c5220dd96f7232761017ac10a021b0040b639b10374d658641bfa3ac4 |
|
MD5 | dc856bbdf50d048f6c2c13b16b1f80e1 |
|
BLAKE2b-256 | f97fbe71116e081b6b831266f911224106a0042248251c443cd1b1eeea8ec433 |
Hashes for dimod-0.8.21-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed2a33b8c36986b4ff9edd0c58980e0aa6ee511f8b3e69157dc30958131bd7ff |
|
MD5 | a50a820bc3058867155f6b5883056c39 |
|
BLAKE2b-256 | 21836ff3fa05efbb384d8ac289d05f085c90890f1223be9bcd9fbcc0811b503b |
Hashes for dimod-0.8.21-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee403b981b58c42b2a1660aaa6e862fa31a2bc6509405cb5f1c9e7637427b15 |
|
MD5 | 8ffbdb0e8ec1f219ccf0d2f7524b219d |
|
BLAKE2b-256 | f7f33439ec9a003fe731c1972a9607bedbd172ff647e53909c4296bcd536403f |
Hashes for dimod-0.8.21-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b2d3bc15c09d735adda4173bd4cec0f96408c7d5b92085833845cc0bf49e22f |
|
MD5 | f75e87c85f681a8bb72633088575bdc0 |
|
BLAKE2b-256 | bd8264653e7ca2bc9703c435adc117c71079ef7a99b3040d6620c7973485cc6f |
Hashes for dimod-0.8.21-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 489301d267f7c6372577a3490523348cc0fdf41b9681714285a43dccfaed581c |
|
MD5 | 36aa6b7ed82fc474cc80b2643c9db8ba |
|
BLAKE2b-256 | 3ef6ce0fa68d2c3187f7842a82ed1ef965ec534ba0e78607c3e3d9f22de749db |
Hashes for dimod-0.8.21-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ceb35d3348fedb81be25a479216881533f53db0cca8914d62fbebab949db43 |
|
MD5 | e7c1292dba0d7cbcc5be1e585531fec2 |
|
BLAKE2b-256 | 8bab08415a0055bbd76689f479f52369028562ebcf78a587f95551c9c8c2aae7 |
Hashes for dimod-0.8.21-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38962fd3816b598a192c11d978b8930d87b67b279929822c1f966e22d99ff958 |
|
MD5 | 0caeb9cb50a9f1a2605e77e2f57aebfc |
|
BLAKE2b-256 | 4d162050dc2d4ce09ae24836c2d7ea81f5feeb38d50c3fa35ec8f2c0fa2927fe |
Hashes for dimod-0.8.21-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6571b17d08628b8dc8c73f043f14568cbe34a5eb0722c083292ba9052620146d |
|
MD5 | f36f11847c2ddb280bcca1ca2dba9984 |
|
BLAKE2b-256 | 1daff681c35a5591e0e07338b89bdab6f3c263a06c11ce60176a8a852be72285 |
Hashes for dimod-0.8.21-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9530c80e9f37152915d79bfa68da7e215e131a203ef3ab33d8fb8661f49a9d5 |
|
MD5 | 79513d30fe020b9543f22f879b0d0afc |
|
BLAKE2b-256 | bc6e83ab7716fe10401acbbb4b7026746fd46e0b37ae0d7095699e8548a30872 |
Hashes for dimod-0.8.21-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be0a449d8a52f93608e1f4c293568027acec5ea9e8cfbf9d6b18be5f749320be |
|
MD5 | e296d3184642fec8328938d043d4bbed |
|
BLAKE2b-256 | 2e8f214d278745b4210ba8387a7df54aec9467e48c514596f46d814617c59f3a |
Hashes for dimod-0.8.21-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c63af99464e677ede6cbef17bc897754a9a4bcf88429c77e872fcee7eba587f |
|
MD5 | 5acedaa749d06c8cd66e4fe8e78e35e4 |
|
BLAKE2b-256 | b11a102cacb9e803c9ee700c5d4fc314e78ab2ef1802ca9155d84352443ba8ac |
Hashes for dimod-0.8.21-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba528f4693893b48b1874ac49107b9229aa10fc081e977dea8745c5b30f2f392 |
|
MD5 | 636a00a6390774a0f93f07320cfa27bb |
|
BLAKE2b-256 | 19ee22add4d5a99badf397c7e10f981ffbc2ab5a2f3f05089a6b91f875be1598 |
Hashes for dimod-0.8.21-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb200cf665cb371abe06a12f414f3554a2c7c0e8e317ec3d761441b8f6302fc7 |
|
MD5 | f2a1238b2d79c533d5e6ad850d69f69d |
|
BLAKE2b-256 | 09a549ee1be28f41e6e4859dc6b8c83959cb00f523cb474df3b6b080487f8b80 |
Hashes for dimod-0.8.21-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc5bc3cd849d9267f4ec81ddadf548538dcedaa6429c2ac815f9f964b98e3433 |
|
MD5 | a69edad9e4c1f29a4f8cd57ed688c9ec |
|
BLAKE2b-256 | 4d04033ea847bf1bebab7e70e7d04f345fd74441185de351715d0f094936d4d1 |
Hashes for dimod-0.8.21-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16ecf353262e14059c03af7253fd90a92e53a2f245eeea3e4ca27e18cbb215ff |
|
MD5 | a65d1756dcf3013d24807752c25b0e1f |
|
BLAKE2b-256 | c4e79a273ce91e0a326b15153717f160e8c55a97572036a374207aad58f492ac |
Hashes for dimod-0.8.21-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f17d88dce9bdd22fa414212d5a0933720dd8858f072c0f4e2d7e4aac2629c195 |
|
MD5 | 2b45f708063f881793727e502cd830d1 |
|
BLAKE2b-256 | a8bfeb549086152a9fb589cd6b7810b930d95b340dc95f223a4ede6bcfaffce2 |
Hashes for dimod-0.8.21-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a89de611ce3f4dab5beca3fc9d1c61d74d4af073804d397da984a44a887bb59f |
|
MD5 | 1f4a5ceaf8dc226ea75d2461408d483e |
|
BLAKE2b-256 | 2601acefcb92af274ae75e118aba6ff272144c4ae0c01679b9c394ff957a9720 |
Hashes for dimod-0.8.21-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fee10b3c976fd6062fef5b634b8ef7e79d0f72419953edf154cbfc3b3443ba26 |
|
MD5 | 99d36b4f6d7058797348a03c358e9510 |
|
BLAKE2b-256 | 308a53c08bed706e277744819c61ac3b4abb1c2b8b6e96a39a2333b6e144cf27 |
Hashes for dimod-0.8.21-cp34-cp34m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1028828d94d2227d3911d1b0a39a24e2e7d0551323c2c9ff37b08fe34c938f3 |
|
MD5 | 0b2422eaa698fd34a0cf12e4817be257 |
|
BLAKE2b-256 | fe9b75f7d14e28f9b7d568773d73195d46ec4bf741b0298b1f95eb571215557a |
Hashes for dimod-0.8.21-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69173bbbc32dcc905284502341e68a6f8922f49fe9ae7198f290065c5ceccdf5 |
|
MD5 | 101cc67ad759ecb00caf8c7e74de4536 |
|
BLAKE2b-256 | 28143aaefadabc8a9d8183307243a501cc79ed4ec1e7911f74ab4827ed24c9a2 |
Hashes for dimod-0.8.21-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b48397a2a6c2d1dc55688f199d115809185f916c6c1b7df343aa70418d6b2eb5 |
|
MD5 | 82686234908659f9ad5c9e81c7284d86 |
|
BLAKE2b-256 | 5a742567a3cbfba9028025bc4b2e929e5d5de1cb08323b331bb8357bfcffc20f |
Hashes for dimod-0.8.21-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6efe35814fe0b513ddafe200f432933d1245707bd851fae1e55fc70e73827bb |
|
MD5 | 19bbefb9846fe27e3df6b26da43e6a42 |
|
BLAKE2b-256 | 0d1950693919a1927975cd03b047020c8944d23d24ca2660b57edaf544120a14 |
Hashes for dimod-0.8.21-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5467fa0db1b80dbe672ba7036f8ce060251cd34e90cc34c14fb6e6b47f587d1 |
|
MD5 | 83d88affd212e7d7deac6ee225e6c860 |
|
BLAKE2b-256 | 10577bd48f9efed5d9cbb61dfc72353a13a32541f1653a3ef6b072e1dea28b00 |
Hashes for dimod-0.8.21-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53e5ec75d1237eb77b7985787e2ef73685c9128c03954cca3f94f9e8084ec841 |
|
MD5 | c0b6c7b665699744f3e0ecf7c789218d |
|
BLAKE2b-256 | e3363c20e4bae796e243f9ce1708ff48dd7434305cd179bde8be082d1a3c1022 |
Hashes for dimod-0.8.21-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84b36572b061d9ef79af0e616bfda5bb89f9141fb9dc67187577b6291a79914e |
|
MD5 | b21dbcc2570f7554067ed272ab1c4b62 |
|
BLAKE2b-256 | c5736f0202d0d26983a0e2bfe8e02f1224c06115dcbf72b2a1b9a17c2e3e48d4 |
Hashes for dimod-0.8.21-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3a849625c92ad1dff4e8bf0cf86c38712a759ce358eda3c03ffa6e5bce85b8f |
|
MD5 | c42951abc19d81b5467f42d55b0e902d |
|
BLAKE2b-256 | 1d7484f4fa5c93d76993367c3d8f4181550daf58594530873689ca300ee59ed2 |