Skip to main content

Ocean-compatible collection of solvers/samplers.

Project description

https://img.shields.io/pypi/v/dwave-samplers.svg https://img.shields.io/pypi/pyversions/dwave-samplers.svg https://circleci.com/gh/dwavesystems/dwave-samplers.svg?style=svg

dwave-samplers

Ocean software provides a variety of quantum, classical, and quantum-classical hybrid dimod samplers that run either remotely (for example, in the Leap service) or locally on your CPU.

Supported Samplers

dwave-samplers implements the following classical algorithms for solving binary quadratic models (BQM):

  • Planar: an exact solver for planar Ising problems with no linear biases.

  • Random: a sampler that draws uniform random samples.

  • Simulated Annealing: a probabilistic heuristic for optimization and approximate Boltzmann sampling well suited to finding good solutions of large problems.

  • Simulated Quantum Annealing: a heuristic for optimization or approximate sampling.

  • Steepest Descent: a discrete analogue of gradient descent, often used in machine learning, that quickly finds a local minimum.

  • Tabu: a heuristic that employs local search with methods to escape local minima.

  • Tree Decomposition: an exact solver for problems with low treewidth.

Planar

There are polynomial-time algorithms for finding the ground state of a planar Ising model [1].

>>> from dwave.samplers import PlanarGraphSolver
>>> solver = PlanarGraphSolver()

Get the ground state of a planar Ising model

>>> h = {}
>>> J = {(0, 1): -1, (1, 2): -1, (0, 2): 1}
>>> sampleset = solver.sample_ising(h, J)

Random

Random samplers provide a useful baseline performance comparison. The variable assignments in each sample are chosen by a coin flip.

>>> from dwave.samplers import RandomSampler
>>> sampler = RandomSampler()

Create a random binary quadratic model.

>>> import dimod
>>> bqm = dimod.generators.gnp_random_bqm(100, .5, 'BINARY')

Get the best 5 sample found in .1 seconds.

>>> sampleset = sampler.sample(bqm, time_limit=.1, max_num_samples=5)
>>> num_reads = sampleset.info['num_reads']  # the total number of samples generated

Simulated Annealing

Simulated annealing can be used for heuristic optimization or approximate Boltzmann sampling. The dwave-samplers implementation approaches the equilibrium distribution by performing updates at a sequence of decreasing temperatures, terminating at the target β.[2] Each spin is updated once in a fixed (by default) or randomized order per point per temperature according to a customizable (by default Metropolis-Hastings) update. When the temperature is low the target distribution concentrates, at equilibrium, over ground states of the model. Samples are guaranteed to match the equilibrium for long, smooth temperature schedules. Schedules are customizable so that the sampler can be used for standard Metropolis, Gibbs, Block-Gibbs or reverse annealing dynamics.

>>> from dwave.samplers import SimulatedAnnealingSampler
>>> sampler = SimulatedAnnealingSampler()

Create a random binary quadratic model.

>>> import dimod
>>> bqm = dimod.generators.gnp_random_bqm(100, .5, 'BINARY')

Sample using simulated annealing with both the default temperature schedule and a custom one.

>>> sampleset = sampler.sample(bqm)
>>> sampleset = sampler.sample(bqm, beta_range=[.1, 4.2], beta_schedule_type='linear')

Simulated Quantum Annealing

Simulated quantum annealing can be used for heuristic optimization or approximate sampling. The dwave-samplers implementation performs dynamics defined by a schedule for the driver(transverse) and problem(diagonal, binary quadratic model) Hamiltonian terms. Each spin is updated according to a model-appropriate update as the schedule is stepped through in discretized time (by sweep). Using these methods equilibrated (thermalized) quantum Boltzmann distributions can be approached, or the QPU schedule can be provided to simulate by classical dynamics the annealing process. Although out-of-equilibrium dynamics and dynamical timescales cannot be simulated by these classical methods, some phenomena can be emulated beyond what is possible with simulated annealing. For algorithm details see [1]

[1] https://doi.org/10.1038/s41467-021-20901-5

>>> from dwave.samplers import PathIntegralAnnealingSampler
>>> sampler = PathIntegralAnnealingSampler()  # or RotorModelAnnealingSampler()

Create a random binary quadratic model.

>>> import dimod
>>> bqm = dimod.generators.gnp_random_bqm(100, .5, 'BINARY')

Sample projected states from a quantum process with a linear schedule

>>> sampleset = sampler.sample(bqm, beta_schedule_type="custom", Hp_field=[0, 10],  Hd_field=[10, 0])

Steepest Descent

Steepest descent is the discrete analogue of gradient descent, but the best move is computed using a local minimization rather rather than computing a gradient. The dimension along which to descend is determined, at each step, by the variable flip that causes the greatest reduction in energy.

Steepest descent is fast and effective for unfrustrated problems, but it can get stuck in local minima.

The quadratic unconstrained binary optimization (QUBO) E(x, y) = x + y - 2.5 * x * y, for example, has two local minima: (0, 0) with an energy of 0 and (1, 1) with an energy of -0.5.

>>> from dwave.samplers import SteepestDescentSolver
>>> solver = SteepestDescentSolver()

Construct the QUBO:

>>> from dimod import Binaries
>>> x, y = Binaries(['x', 'y'])
>>> qubo = x + y - 2.5 * x * y

If the solver starts uphill from the global minimum, it takes the steepest path and finds the optimal solution.

>>> sampleset = solver.sample(qubo, initial_states={'x': 0, 'y': 1})
>>> print(sampleset)
   x  y energy num_oc. num_st.
0  1  1   -0.5       1       1
['BINARY', 1 rows, 1 samples, 2 variables]

If the solver starts in a local minimum, it gets stuck.

>>> sampleset = solver.sample(qubo, initial_states={'x': 0, 'y': 0})
>>> print(sampleset)
   x  y energy num_oc. num_st.
0  0  0    0.0       1       0
['BINARY', 1 rows, 1 samples, 2 variables]

Tabu

Tabu search is a heuristic that employs local search and can escape local minima by maintaining a “tabu list” of recently explored states that it does not revisit. The length of this tabu list is called the “tenure”. dwave-samplers implements the MST2 multistart tabu search algorithm for quadratic unconstrained binary optimization (QUBO) problems.

Each read of the tabu algorithm consists of many starts. The solver takes the best non-tabu step repeatedly until it does not improve its energy any more.

>>> from dwave.samplers import TabuSampler
>>> sampler = TabuSampler()

Construct a simple problem.

>>> from dimod import Binaries
>>> a, b = Binaries(['a', 'b'])
>>> qubo = -.5 * a + b - a * b

Sample using both default and custom values of tenure and number of restarts.

>>> sampleset0 = sampler.sample(qubo)
>>> sampleset1 = sampler.sample(qubo, tenure=1, num_restarts=1)

Tree Decomposition

Tree decomposition-based solvers have a runtime that is exponential in the treewidth of the problem graph. For problems with low treewidth, the solver can find ground states very quickly. However, for even moderately dense problems, performance is very poor.

>>> from dwave.samplers import TreeDecompositionSolver
>>> solver = TreeDecompositionSolver()

Construct a large, tree-shaped problem.

>>> import dimod
>>> import networkx as nx
>>> tree = nx.balanced_tree(2, 5)  # binary tree with a height of five
>>> bqm = dimod.BinaryQuadraticModel('SPIN')
>>> bqm.set_linear(0, .5)
>>> for u, v in tree.edges:
...     bqm.set_quadratic(u, v, 1)

Because the BQM is a binary tree, it has a treewidth of 1 and can be solved exactly.

>>> sampleset = solver.sample(bqm)
>>> print(sampleset)
   0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 ... 62 energy num_oc.
0 -1 +1 +1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 ... +1  -62.5       1
['SPIN', 1 rows, 1 samples, 63 variables]

Installation

To install the core package:

pip install dwave-samplers

During package development, it is often convenient to use an editable install. See meson-python’s editable installs for more details.

pip install --group dev
pip install --editable . \
    --no-build-isolation \
    --config-settings=editable-verbose=true

To run the C++ tests, first install the project dependencies, then setup a meson build directory. You must configure the build as a debug build for the tests to run.

pip install --group dev
meson setup build -Dbuildtype=debug

You can then run the tests using meson’s test framework.

meson test -Cbuild

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dwave_samplers-1.8.0.tar.gz (190.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dwave_samplers-1.8.0-cp314-cp314t-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

dwave_samplers-1.8.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

dwave_samplers-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

dwave_samplers-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

dwave_samplers-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

dwave_samplers-1.8.0-cp312-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12+Windows x86-64

dwave_samplers-1.8.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

dwave_samplers-1.8.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64

dwave_samplers-1.8.0-cp312-abi3-macosx_11_0_arm64.whl (988.4 kB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

dwave_samplers-1.8.0-cp312-abi3-macosx_10_13_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12+macOS 10.13+ x86-64

dwave_samplers-1.8.0-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

dwave_samplers-1.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dwave_samplers-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dwave_samplers-1.8.0-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dwave_samplers-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

dwave_samplers-1.8.0-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

dwave_samplers-1.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dwave_samplers-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dwave_samplers-1.8.0-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dwave_samplers-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file dwave_samplers-1.8.0.tar.gz.

File metadata

  • Download URL: dwave_samplers-1.8.0.tar.gz
  • Upload date:
  • Size: 190.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for dwave_samplers-1.8.0.tar.gz
Algorithm Hash digest
SHA256 d4bafd175544b2a17975d2818a49be2269bbae015528b6e0046be9e6631fa35f
MD5 e5502713afe51d3ba0c38770bd8871a8
BLAKE2b-256 0d0b935384c075444fdc74140049259fa3e07146db6d2fc465032c273b765aa4

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 06002cdf5b6987be0263195a783d9249c7235fae5a9c959f070f8af14bafee73
MD5 f8a79917b31b98c237d55044ee015aee
BLAKE2b-256 e2cd44fffdc3564cec0470e4d64b0ba10ffd38c0e3bfccc090e06b2c1574cbb6

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 be0ae2e04b6995c4f8d5b77ffd567032aae4ea67f95e412010dfa2c0f400b374
MD5 9c2009ba1305abb23505ac2c0e4a01da
BLAKE2b-256 9b5e875acab783032343d8f47689c88765b832231e646d595a30ad2ece569377

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f63e77068b924e76939c71075068ef389f8ee8737350c6c69db52841356348eb
MD5 34b6e944c29b1a2e93d860cf2279dde8
BLAKE2b-256 be3d20c43fdce2e1590e0f3e5dceafcdab00941b4bdbd67fb4fba8520fcde4eb

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba9cc0a857d25736faa1f58c241d9eaf63318786da99982067e7a1176b68aefa
MD5 ce92a705f0cacfb7c28d8969dae23837
BLAKE2b-256 adffdc822e0e14e387167fa9715ad4ce208efec9196d04ba062fa948f9e27c6e

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 93ec918faef170a5f8db717907539d4bda61b6f0bb7af427c3f9963b3faf5242
MD5 c65fdd0facb8b41cd0998910be080727
BLAKE2b-256 89db9d213ed015acac1ec4be8634d79323bf4a74cedbbefc2bfff6560d119be8

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 06947ccf1cd8e0394085fed67c1eda62e41ac1f2feb4d7daa35a717cfa26d068
MD5 a255d019f4320cdb8c12ff8bfecdb156
BLAKE2b-256 9b4bdaff33960b1d8ec000d945549c991ee4a4998cfa568d208963ff3d1c5e4e

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0808d8e840b6fa552a1f62a30fbd0d5a04d34044c1b1d4c3152a4991f66e26e8
MD5 d56308bf43ee455aee111a0925b8efce
BLAKE2b-256 d0d3c9a72352945811701b55540164da30dc5237a3afa8988e17458d472c96b3

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 5d3e281723004a190e079bd4488f5d7a36342a25554fb12345990b5712eafea0
MD5 c4c31bc14e4d4235300357055363b6b0
BLAKE2b-256 f018aa9f518bca61940f9d95481e3b265783cc5aca25c737cfd91b2752b6efba

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6a8225430e95e9d8f0213d6ccbaa7f20909744badc1d5b598e44bfae6deaf56
MD5 a018b26781ce3d87ef7b4145428999dd
BLAKE2b-256 3d533196fbf483be165cbf0e198ac23dd3c8d70592a6ae3914d409b1ef56edae

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp312-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp312-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5d7ba124fb5f63f1ba0292f2d4eb28e97a690dc56924aba4452f90f74e37a98d
MD5 92abd7180e57dd6d961856a110515baa
BLAKE2b-256 713cfbe5aa2ef0e48b8c60853d1ee1fbd379f6b1fcd6098fd8b807b6d04133ed

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1ee4812471c1a2fdedd69d96b87bea448f0969d3b6df9f05dea18f9f4f727520
MD5 5e6a752c705f06d68d9cc45a0c506e4a
BLAKE2b-256 e52b6f2f0c6633f77bd6fb881c86c500770d97e4d866586d78cec0835f91d280

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b08986ef9c2f7d0085c32704d07eb3f479c1a5525c97d0a1cce8aa2cc87bbd2d
MD5 90c7014776b91f28fc0c7ffeb63a67a2
BLAKE2b-256 bcc8862c162e28f4e57c4c0d246dda3fcdc68e9e7414e52f0013a2319d99f7e5

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 74ec94c7910c8b1981351a19da0951f3ae7af6fd1ef887acb4a80f85adb66308
MD5 5f4ae2758cf26d3cc90fb4d6bb050898
BLAKE2b-256 9c683720c449e971ef99a764b6dc101e69620424e625193f9d891394dcacf504

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53d0fb6663a3870c1189964385cb7c4fa5d8f35c6682c0b9aa6189b893c7dc39
MD5 9deed06a90e61940e762526236a14145
BLAKE2b-256 598c2a636cb01ce7026a5dd6cc1e8744c3f4b92362e322d0b32156329419ceed

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 57e5d8ec1c9c318ba6a7593efb99c27ae347e9c7da3ad69994605a0e9840defb
MD5 b8bddeb6d5ee1f55b2b1257dd4a10f7d
BLAKE2b-256 b856b3f523531fb095bae865140968a24a5a2f1ecef20f106e24243ce49f3c78

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 155f110d0ddeed309e8e8211cfbbee6c884f3ec31265d9fc9662374ce158651a
MD5 964b9b2502ec64c22eb73f458ec6df18
BLAKE2b-256 fae152f61e149bd6f8c9cc703454802b37b259c191e1f7f3beb326099178d878

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 712b55d86ae52492e6e335e9966a1d57431df452177159d679df890f633bcc04
MD5 7c369b2ff4a064005b01ebd0f9dcedae
BLAKE2b-256 da0d64d0235fb9615f17905a7e1bc9cb7113cb0a556c39638cbe48de5e358e1e

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 9a5b393ebe3ed5e2a7b5dc94f4132a4c6f662d69238c0504a0b65d6bb2c85e7c
MD5 97617ea585c3d94c7c35a03f03014bbd
BLAKE2b-256 7d60558bb239bc3552a404f6a859784f7a1ecf7c98f6502046e8fa5b8e73a060

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fc9c4c61eca50190466b0f085e54c1cbb49d1b1de6acb4e09b7e697ff3de830
MD5 34fefe5d437d3ad2f36b81bbb6542332
BLAKE2b-256 4061705d82c7f66994d1423f5609ee793d07a18626d782c1d2de08884e57f31e

See more details on using hashes here.

File details

Details for the file dwave_samplers-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for dwave_samplers-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db1c7548f0d7f57976b59c3d0dfc3016e5eab5d85844a04bca463f97a0a36a8f
MD5 775f3f57ff95feed84bdfbd28dcdd22b
BLAKE2b-256 dd877a6ba354f223cc884368d9c0143c477d77dd5b0cb55e382cca1cd1eec007

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page