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


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


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

Training loop 1: loss is 0.67
Training loop 50: loss is -1.25
Training loop 100: loss is -1.35

Result(bitstring=100101, energy=-1.5)