Amplify Quantum¶
The Amplify SDK provides features for researching and validating combinatorial optimization using quantum computers.
Supports numerous devices — including quantum computers provided by IBM Quantum, Amazon Braket, and others — together with multiple quantum algorithms, making it easy to compare across devices and algorithms.
The Amplify SDK provides a powerful interface for working with quantum computers. It offers end-to-end support — from intuitive formulation, through conversion to a quantum circuit, all the way to execution on a quantum computer.
Learn more about Amplify SDK features
What is a Quantum Computer?¶
A quantum computer is a computing machine that processes information based on the principles of quantum mechanics. Whereas a classical computer uses the bit — which takes either the value \(0\) or \(1\) — as its fundamental unit of information, a quantum computer uses the quantum bit (qubit), which can be in a superposition of \(0\) and \(1\). Leveraging this superposition is expected to make it possible to efficiently handle problems that are intractable on classical computers.
Quantum algorithms exploit these properties of quantum computers and are known to be applicable to combinatorial optimization. In this class of algorithms, the quantum computer handles circuit execution and measurement, while the classical computer drives the optimization using those results. They are actively researched and developed as methods that aim to run practically even on today’s quantum computers (NISQ devices).
Optimization with Quantum Computers¶
By using Amplify Quantum — an extension package of the Amplify SDK — you can run combinatorial optimization on quantum computers.
Caution
For combinatorial optimization with quantum annealing machines, see D-Wave Systems.
With Amplify Quantum, a single call to solve() automatically handles the conversion from model to quantum circuit, the classical optimization loop, and communication with the backend.
You can easily run optimization with any combination of the supported quantum computers and quantum algorithms.
The following illustrates how Amplify Quantum works internally when running QAOA.
The algorithm class, which handles the conversion from a mathematical optimization model to a quantum circuit and the classical optimization loop, cooperates with the client class, which handles quantum circuit execution by communicating with the quantum computer or simulator. Together they run optimization in your local Python environment.
sequenceDiagram
box rgba(90, 100, 120, 0.20) Inside Amplify Quantum
participant Solve as solve()
participant Algo as Algorithm class (QAOA)
participant Client as Client class
end
participant Backend as Quantum computer / simulator
Solve->>Algo: Mathematical optimization model
Algo->>Algo: Convert to quantum circuit
loop Repeat until convergence
Algo->>Algo: Update parameters θ (classical optimization)
Algo->>Client: Circuit for θ
Client->>Backend: Execute the quantum circuit (cloud API / local)
Backend-->>Client: Sampling results
Client-->>Algo: Measurement results (Ising sequences, counts)
end
Algo-->>Solve: Optimal solution
Supported Devices¶
The following quantum computers and simulators are available. They can be switched just by replacing the client class.
Quantum Computer Providers¶
IBM Quantum
Superconducting
AQT
Trapped ion
IonQ
Trapped ion
IQM
Superconducting
Rigetti
Superconducting
Quantum Circuit Simulators¶
Both local simulators that run on the user’s machine and simulators offered as cloud services are supported.
Qulacs Simulator
Local
Qiskit Aer Simulator
Local
Amazon Braket Simulator
Local / Cloud
For details on authentication and parameter configuration for each client, see the list of supported devices.
Supported Algorithms¶
The following quantum optimization algorithms are available. Specify the algorithm when initializing the client class you use. The supported polynomial degree and constraint types depend on the chosen algorithm.
QAOA
Ising polynomial of arbitrary degree (unconstrained)
Constrained QAOA
Ising polynomial of arbitrary degree + N-HOT constraints
Recursive QAOA
Ising polynomial of arbitrary degree (unconstrained)
For details on each algorithm and its execution parameters, see the list of supported algorithms.