Backends and Algorithms#

Quantum Launcher provides convenient wrappers for the most popular quantum computing backends, as well as a set of common quantum algorithms.

from quantum_launcher.routines.qiskit_routines import QAOA, QiskitBackend
from quantum_launcher.routines.dwave_routines import SimulatedAnnealingBackend,DwaveSolver
from quantum_launcher.routines.orca_routines import OrcaBackend, BBS
from quantum_launcher.launcher import QuantumLauncher
from quantum_launcher.problems import EC

Qiskit#

QAOA#

pr = EC.from_preset("toy")
pr.visualize()

alg = QAOA()
backend = QiskitBackend('local_simulator')

launcher = QuantumLauncher(pr, alg, backend)
result = launcher.run()
pr.visualize(result.best_bitstring[::-1])
result
../_images/025b2351c03e32834bc956fe430064829f97e67fdfcfc49c939a17117a7bd779.png ../_images/2c22430047fd6a631e17403f9838b7e0c668a5472e8e36ddbb60eefaf929f167.png
Result(bitstring=101010, energy=3.5810546875)

D-Wave#

D-Wave backend and solver#

pr = EC.from_preset("toy")
pr.visualize()

alg = DwaveSolver(1)
backend = SimulatedAnnealingBackend('local')
launcher = QuantumLauncher(pr, alg, backend)
result = launcher.run()
pr.visualize(result.best_bitstring)
result
../_images/025b2351c03e32834bc956fe430064829f97e67fdfcfc49c939a17117a7bd779.png ../_images/52cc7798f21cce51e3f8846bf19a53d2dfc6792174d4dc60a24a8a1808def99c.png
Result(bitstring=100101, energy=-9.5)

#

Orca#

Orca backend and solver#

pr = EC.from_preset("toy")
pr.visualize()

alg = BBS()
backend = OrcaBackend('local')
launcher = QuantumLauncher(pr, alg, backend)
result = launcher.run()

pr.visualize(result.best_bitstring)
result
../_images/025b2351c03e32834bc956fe430064829f97e67fdfcfc49c939a17117a7bd779.png
Training loop 1: loss is 0.67
Training loop 50: loss is -1.25
Training loop 100: loss is -1.35
../_images/52cc7798f21cce51e3f8846bf19a53d2dfc6792174d4dc60a24a8a1808def99c.png
Result(bitstring=100101, energy=-1.5)