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.19-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66fec1e255c6fd6fcd97a7b6694985275d9a832592f6945ff5ce5eaf9352d540 |
|
MD5 | 7417bf8c7b6bb0e54319dc8d32d5bc3b |
|
BLAKE2b-256 | 5654aab8e2b04c68219833276f46d67666a964a55e1f5dd010b8c4c83c419ddd |
Hashes for dimod-0.8.19-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bad1048e0f5508d2f8af732a156a547fc33a4ad3c34b524effdf22b57942382 |
|
MD5 | c73f0ce9bcd3bb6292d62fc84de300d5 |
|
BLAKE2b-256 | a45cfa63691eda23843dcc82126e25f42fb2af2414da09cc161e311934ac8a48 |
Hashes for dimod-0.8.19-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67445401d84bb151fa6bed3ed658c384e4d3ecda145d78d988372a442fbd5aa3 |
|
MD5 | c4de0b288943363e29afbc3a910129b7 |
|
BLAKE2b-256 | ae2dd03ec8202bf1e2f92bba17ff30136042fc3aa16acc606242a72998b1326d |
Hashes for dimod-0.8.19-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce9ec4ac840265c683f251d4f3067f564dab9235cf47aa6d4f1ad00fd168b72b |
|
MD5 | f6294b02503c1fb85815dcd76e3ddd24 |
|
BLAKE2b-256 | 28652f1d26fd8557243d38067f9f8f1a4624f29d05117da50bfa82b0b8d92bc1 |
Hashes for dimod-0.8.19-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44d43dbdfe20351d0adb00cf1902f873a30425ae27042b81be074723b6badf87 |
|
MD5 | db2c3ac6d97389b712c2bc19f9b8ad23 |
|
BLAKE2b-256 | 1a4c2f98b11ad60056e38888b67b5391e6f4342cb80b54ab7ec68b45c2a94906 |
Hashes for dimod-0.8.19-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1730feffae28501ffa63643cb812357cf364f4f8a999d4b4885f91f87a53c39 |
|
MD5 | 01710d99d4b1deba6056606774e3ff37 |
|
BLAKE2b-256 | 8ea65f5ce5051f75b73e35346d2f020df9d457e8dc4dd1f19e6d72727b245df5 |
Hashes for dimod-0.8.19-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 549d068cb733e190ce031ad1bb080b3003bdb4d99534881ea76edd5c2f42d01c |
|
MD5 | 355e6b30c4eb3f24ea840a8db4912225 |
|
BLAKE2b-256 | 4b324db6ba85b9c03d108282134944bb54fd43491c99f1c0c87714bf81d27749 |
Hashes for dimod-0.8.19-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04e5beaba47948290a309da6b227a8d562c6d4399d01802da9b55891a6d4f33 |
|
MD5 | 4bdc81f676b9ecc18b7482348ce3551b |
|
BLAKE2b-256 | e26369409793b4940d1663225d99fdb34fe01d3318811aabed7b96d744295f8c |
Hashes for dimod-0.8.19-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d699315fb3066495b4d57beb319eecef342c1017904c363ffb8b3ba12cf0bb |
|
MD5 | 2791b31b8629cc93ce40212046aebafe |
|
BLAKE2b-256 | 290b5f6aec587f871083a1358f7d66fc81bbe24dd9ae808f265334c769efa472 |
Hashes for dimod-0.8.19-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbb5c0c387e683c0b2c00498bf34923884c4709e4b10cf11f8ef2a2b5149d5f8 |
|
MD5 | 7287716e7aa1272e4e8a6a4e12f5f8ee |
|
BLAKE2b-256 | 171eace0ef980e49976fdad901843efeaec740e1f25727bac501d856696cc433 |
Hashes for dimod-0.8.19-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39a9d03d30ade08bb331372dcecdc7c9b1d8c8d5049c025dfe4e98c040823019 |
|
MD5 | 8e471a1ebfbd99425ddc40f207423311 |
|
BLAKE2b-256 | 06c5d917797d41010f2b4a4870517143bf2ff0a7831e6252e61fce72072cf108 |
Hashes for dimod-0.8.19-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 957c1080f360f6c99eb299eabf7ce1726d9c163428bc5801ca916d9be978a452 |
|
MD5 | b09f0a2a10907456fa9e4b10cf7fbf30 |
|
BLAKE2b-256 | b31f254197092cad1c68b82a6ffc93f8515b1d5145ad09433be9cfe432922577 |
Hashes for dimod-0.8.19-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1e90372da8e55aaf60d22678cac293a8c01dca4a5348475849c3878a43fa606 |
|
MD5 | a486f9566c275d25aa3e31421b767c53 |
|
BLAKE2b-256 | 606b8f036b9237bb9b713ab419b11fd2ad8fa9b46e8340665eb4316f016923f8 |
Hashes for dimod-0.8.19-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2ed95c47ff381a189d960651f7c0377cdce1e8f5255fb09953fe0754e5a2793 |
|
MD5 | 29f938202b4d4e572a62f6291dc76c6b |
|
BLAKE2b-256 | 56863c9ccd226ce067289d525d5d97ede597821f9386508e88de874b396335f5 |
Hashes for dimod-0.8.19-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76c941979d4c9882385ae68c7af9ec3e16d026d7cbccede809cbd616fa1efdec |
|
MD5 | 5205dac326df482bab3af5bf240eb796 |
|
BLAKE2b-256 | 79f57201f059f2e901fd89d7389ea38d80fe45dcd2eb98e006fb7d7f55de3d71 |
Hashes for dimod-0.8.19-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36db36a3f80900e35c24e4ade8c279dccb64f9be65bac26d4b63ac788408f933 |
|
MD5 | 7c718d3403f0184f2810ed29f6d11d94 |
|
BLAKE2b-256 | d34c0a93203e44ec51f6a12139d729b4b85a2ebd568fe3164bf36f7e4c90d824 |
Hashes for dimod-0.8.19-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d12b08434b29197061906be15b9f15fab9bec7c36d9d3909b5a257f55f3d43 |
|
MD5 | f284a144e3168ccc64471125f3b774c7 |
|
BLAKE2b-256 | 4e274f501947496e305aaca8d13f9c1110e28bb0ce1ab53697972762adf5993a |
Hashes for dimod-0.8.19-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa8fcbd9c6df119cf127684b8ffa0acd37c2de21dfc286adad1f23e7a400be0e |
|
MD5 | 80e0496d231adecefed85c2fd84809d2 |
|
BLAKE2b-256 | 5e906aa0ca37ab42fd6681cf751569711e4928ac0693fceef3785b73cf9abb97 |
Hashes for dimod-0.8.19-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 553e8a66a302317b9bc1b6774d70d10791804f88925ea2c05e65a00ee0f88de4 |
|
MD5 | 36716bedc2e715969e7507e5bddcafa6 |
|
BLAKE2b-256 | 7f97d95819eae5f4325aa9520e0c351e96cb89a0f2f9105c013ed403fd3f61ff |
Hashes for dimod-0.8.19-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cbe48017992e82db07c2be4772bb5b853302cece7f26714403087d19a15e591 |
|
MD5 | cd665f36789490edec8bdc0ecf4803a0 |
|
BLAKE2b-256 | 2aa53768c57f1bfce927a9b877fd2661a05d4b88f242dfec5abd36ebc7e2d496 |
Hashes for dimod-0.8.19-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0887cd9c57c62d6b5f1b9bdee97cc51f14244ca003797a25e6b8fc0b2f0a04d3 |
|
MD5 | f487029109f3416653852f31a31f6bc8 |
|
BLAKE2b-256 | 9ca3916444a0e505ae6ad9c5ef24af16c20ee562f0cead58fef6982f2993ec17 |
Hashes for dimod-0.8.19-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1919969d964936b52d82b350cdbea60a2bc383f99d0c9f823c078786829e15 |
|
MD5 | 0fe3440041d85885b51996e84b6733c5 |
|
BLAKE2b-256 | db053b28b73ec9ba0ccbcdd8e5355451dc8cba9277915b8899f3fd2dcb7ec4c5 |
Hashes for dimod-0.8.19-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22c10a152b5e58f7ab1140fa6185cdaa60d4f9e822f5540fe5f35597bd63a7fb |
|
MD5 | 0aff6c3e3b568b58f5b42a9a7c8752d2 |
|
BLAKE2b-256 | 1e7f280f8299817f6dcd24d8faceba5bb7ac33427f01ecb31a35fe06a4ebc9a5 |
Hashes for dimod-0.8.19-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d77fb5af14515c8bdee7d4eb8c4c2dec8fa4fc0613f2062054634a1f5bed371c |
|
MD5 | 81257628646c863f21a9803b2c52e8e1 |
|
BLAKE2b-256 | 5b6b878f98d36330ae40873dd20f7081752b436949812c26981da78fe0fef6f9 |
Hashes for dimod-0.8.19-cp34-cp34m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 005251b20d117e84e2a092973d59df047d9d1672e553bac55cc0be1ade2dc6db |
|
MD5 | 78161e743c5eb2b25cf86afa6862b571 |
|
BLAKE2b-256 | 81ddadcdaeef03df96e1c45a2033cd6049da0a8f362e6de8896d33c1709e0953 |
Hashes for dimod-0.8.19-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8edf9892d55aa49d0b674a8ca3237e6ff947e437da8265879d65adc6a8555f44 |
|
MD5 | 209a46fabc6c5aa9a320baa37471992f |
|
BLAKE2b-256 | a0d0ef7876a9a38869ec78b752f34cff09c66ffb486f0507ef39928f86f2f479 |
Hashes for dimod-0.8.19-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 603f1ba18599a6d9633fb28a1d28e7d735f48bed3e8070c0013264b51ffbaac0 |
|
MD5 | e787638a06373ce131174000f9f11773 |
|
BLAKE2b-256 | 2ce5aafa80d769682d1818f6e7c4558316bfb17f9699ac17530c05f56ce3938b |
Hashes for dimod-0.8.19-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37ccec5ed9856d8a49a15cbf2a0afc9bff4fa4de72cbaf0714a0a62d4791cbab |
|
MD5 | 60ef11e6aa02f788790364b22dcc1abf |
|
BLAKE2b-256 | 48b18f5df758d6b189da030277b577247ae59063331b6e4848c81b3b313bc2df |
Hashes for dimod-0.8.19-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4878ff802d518790b8b437c7e00028572a4a12c8eb9798b99533b2ed6f571e61 |
|
MD5 | 38e4a6d340d5f8102e97c2f9b33c2acb |
|
BLAKE2b-256 | fd6ca9108d04bee74e1203d2b45302902fdde3151298f469b6192bbac164bb72 |
Hashes for dimod-0.8.19-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 128957090b4022713f2c6f0742342d4288da89dceab382e99cb9a9f0d1ae4780 |
|
MD5 | e1f13fe9e03e39b6e52022b5feac251a |
|
BLAKE2b-256 | 486b9b43579e4934c9df9ab04a89297b906752b3fbca711c46e61ce3c06de274 |
Hashes for dimod-0.8.19-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc14d6dba13409b007ec5fd410b9c71d4ec3f42784e3e41e7e7221637d10c57 |
|
MD5 | 9982241ba30ddd17b00029a5b89f3606 |
|
BLAKE2b-256 | ba26535905e82ea99b05180a0a2a624695e65f5af7314aff1033e2e993bc7bc6 |
Hashes for dimod-0.8.19-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e55b95a0cd6fffe187038e6886ccf3df7e77d0651324dd6727abcee8a3c861e8 |
|
MD5 | 959593bc6912dff60b5cf2f53e436d60 |
|
BLAKE2b-256 | 32da699fd6266123dc434497f22c7465c402811fa5b9331e522fd9114cae517f |