QUDORAยถ

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

Available as QUDORAClient.

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()