QUDORAยถ

Uses QUDORA trapped-ion quantum computers and their cloud simulators for circuit evaluation.

Available as QUDORAClient.

Hint

QUDORAClient was added in Amplify Quantum v1.1. If you are using an older package version, run the following command to upgrade to the latest version.

$ pip install -U 'amplify[quantum]'

Note

An API token is required.

Either obtain a free trial API token by registering with Fixstars Amplify, or obtain an API token from your own QUDORA Cloud account.

Solver specification:

Client class

amplify.QUDORAClient

Execution parameters

Depends on the algorithm

Execution result

Depends on the algorithm

Execution time

Depends on the algorithm

Quantum computer type

Gate-based, trapped-ion

API method

REST API (JSON)

API reference

๐Ÿ“– API Reference

The variable types and polynomial degree accepted for the input problem depend on the chosen algorithm.

  • When QAOA is specified as the client argument

    Binary

    Ising

    Integer

    Real

    Objective function

    -

    Nth degree*

    -

    -

    Equality constraint

    -

    **

    -

    -

    Inequality constraint

    -

    -

    -

    -

    *: Problems of arbitrary degree are supported. However, depending on the qubit connectivity of the quantum computer, the required number of qubits may increase.

    **: When Constrained QAOA is selected via QAOA type, N-HOT constraints are supported.

  • When RQAOA is specified as the client argument

    Binary

    Ising

    Integer

    Real

    Objective function

    -

    Nth degree*

    -

    -

    Equality constraint

    -

    -

    -

    -

    Inequality constraint

    -

    -

    -

    -

    *: Problems of arbitrary degree are supported. However, depending on the qubit connectivity of the quantum computer, the required number of qubits may increase.

Client class:

The client class has the following attributes and methods.

Attribute

Data type

Details

token

str | None

The API token used for authentication.

url

str | None

The endpoint URL to connect to.

device

str | None

The QUDORA device name on which the circuit will be executed. Default: "Qamelion"

qiskit_pass_manager

qiskit.transpiler.PassManager | EllipsisType | None

The Qiskit qiskit.transpiler.PassManager used to transpile the circuit. With the default (...), one is generated automatically by generate_preset_pass_manager. Set this to None to skip transpilation.

Backend-specific metadata:

Detailed sampling information is available via QAOAโ€™s sampling_meta.

meta = client_result.history[0].sampling_meta
meta.circuit             # The executed circuit object
Configuration example:
from amplify import QAOA, QUDORAClient

# Create the client
client = QUDORAClient(QAOA)

# Set the API token
client.token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Set QAOA parameters
client.parameters.reps = 1
client.parameters.shots = 100
Execution example:
from amplify import Model, VariableGenerator, solve

# Create decision variables and the objective function
g = VariableGenerator()
q = g.array("Binary", 2)
f = q[0] * q[1] + q[0] - q[1] + 1

# Create a model
model = Model(f)

# Run the solver
result = solve(model, client)

Obtain the backend version:

>>> client.version()