Amplify Quantum

The Amplify SDK provides features for researching and validating combinatorial optimization using quantum computers.

🔱️ Multiple device and algorithm support

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.

🔱 Multiple solver support
🦖 Powerful interface

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.

🔰 Intuitive and easy to use

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

IBM Quantum

AQT

Trapped ion

AQT

IonQ

Trapped ion

IonQ

IQM

Superconducting

IQM

Rigetti

Superconducting

Rigetti

Quantum Circuit Simulators

Both local simulators that run on the user’s machine and simulators offered as cloud services are supported.

Qulacs Simulator

Local

Qulacs Simulator

Qiskit Aer Simulator

Local

Qiskit Aer Simulator

Amazon Braket Simulator

Local / Cloud

Amazon Braket Simulator

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)

QAOA / Constrained QAOA

Constrained QAOA

Ising polynomial of arbitrary degree + N-HOT constraints

QAOA / Constrained QAOA

Recursive QAOA

Ising polynomial of arbitrary degree (unconstrained)

Recursive QAOA

For details on each algorithm and its execution parameters, see the list of supported algorithms.