All Projects → dwavesystems → dwave-hybrid

dwavesystems / dwave-hybrid

Licence: Apache-2.0 license
Hybrid Asynchronous Decomposition Sampler prototype framework.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dwave-hybrid

Quantum-Computing-Opportunities
Moved to Gitlab
Stars: ✭ 43 (-37.68%)
Mutual labels:  quantum-computing
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-78.26%)
Mutual labels:  quantum-computing
qsel
Quantum programming language putting entanglement and superposition front and center
Stars: ✭ 37 (-46.38%)
Mutual labels:  quantum-computing
unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-76.81%)
Mutual labels:  quantum-computing
RustQIP
Quantum computing using rust. Efficient and a borrow-checked no cloning theorem!
Stars: ✭ 106 (+53.62%)
Mutual labels:  quantum-computing
liboqs-go
Go bindings for liboqs
Stars: ✭ 29 (-57.97%)
Mutual labels:  quantum-computing
forest-benchmarking
A library for quantum characterization, verification, validation (QCVV), and benchmarking using pyQuil.
Stars: ✭ 41 (-40.58%)
Mutual labels:  quantum-computing
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (-55.07%)
Mutual labels:  quantum-computing
learning-quantum
Study resources for learning quantum computing
Stars: ✭ 51 (-26.09%)
Mutual labels:  quantum-computing
YaoBlocks.jl
Standard basic quantum circuit simulator building blocks. (archived, for it is moved to Yao.jl)
Stars: ✭ 26 (-62.32%)
Mutual labels:  quantum-computing
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (-13.04%)
Mutual labels:  quantum-computing
QuantumClifford.jl
Clifford circuits, graph states, and other quantum Stabilizer formalism tools.
Stars: ✭ 48 (-30.43%)
Mutual labels:  quantum-computing
sike-java
SIKE for Java is a software library that implements experimental supersingular isogeny cryptographic schemes that aim to provide protection against attackers running a large-scale quantum computer.
Stars: ✭ 28 (-59.42%)
Mutual labels:  quantum-computing
quantumjava
Samples related to "Quantum Computing for Java Developers"
Stars: ✭ 86 (+24.64%)
Mutual labels:  quantum-computing
learn-qc-with-python-and-qsharp
Companion code for Learn Quantum Computing with Python and Q# Book by Dr. Sarah Kaiser and Dr. Chris Granade 💖
Stars: ✭ 62 (-10.14%)
Mutual labels:  quantum-computing
Quantum-Machine-Learning
This repository contains implementations of Quantum Machine Learning algorithms, feature maps, variational circuits and research papers.
Stars: ✭ 47 (-31.88%)
Mutual labels:  quantum-computing
Pulser
Library for pulse-level/analog control of neutral atom devices. Emulator with QuTiP.
Stars: ✭ 55 (-20.29%)
Mutual labels:  quantum-computing
QuantumPoker
Quantum Poker – a serious pedagogical tool to learn quantum computing that is fun to play
Stars: ✭ 16 (-76.81%)
Mutual labels:  quantum-computing
FastExpm.jl
Implementation of a fast exponential matrix for large matrices (full and sparse)
Stars: ✭ 22 (-68.12%)
Mutual labels:  quantum-computing
ddsim
MQT DDSIM - A quantum circuit simulator based on decision diagrams written in C++
Stars: ✭ 45 (-34.78%)
Mutual labels:  quantum-computing
Last version on PyPI Linux/Mac build status Windows build status Code coverage Documentation status PyPI - Python Version

D-Wave Hybrid

A general, minimal Python framework for building hybrid asynchronous decomposition samplers for quadratic unconstrained binary optimization (QUBO) problems.

dwave-hybrid facilitates three aspects of solution development:

  • Hybrid approaches to combining quantum and classical compute resources
  • Evaluating a portfolio of algorithmic components and problem-decomposition strategies
  • Experimenting with workflow structures and parameters to obtain the best application results

The framework enables rapid development and insight into expected performance of productized versions of its experimental prototypes.

Your optimized algorithmic components and other contributions to this project are welcome!

Installation or Building

Install from a package on PyPI:

pip install dwave-hybrid

or from source:

git clone https://github.com/dwavesystems/dwave-hybrid.git
cd dwave-hybrid
pip install -r requirements.txt
python setup.py install

Example

import dimod
import hybrid

# Construct a problem
bqm = dimod.BinaryQuadraticModel({}, {'ab': 1, 'bc': -1, 'ca': 1}, 0, dimod.SPIN)

# Define the workflow
iteration = hybrid.RacingBranches(
    hybrid.InterruptableTabuSampler(),
    hybrid.EnergyImpactDecomposer(size=2)
    | hybrid.QPUSubproblemAutoEmbeddingSampler()
    | hybrid.SplatComposer()
) | hybrid.ArgMin()
workflow = hybrid.LoopUntilNoImprovement(iteration, convergence=3)

# Solve the problem
init_state = hybrid.State.from_problem(bqm)
final_state = workflow.run(init_state).result()

# Print results
print("Solution: sample={.samples.first}".format(final_state))

License

Released under the Apache License 2.0. See LICENSE file.

Contributing

Ocean's contributing guide has guidelines for contributing to Ocean packages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].