IonQ Backend¶
IonQ's quantum computers are universal, gate-based devices based on the trapped ion framework. Specifically they use trapped ytterbium ions that are modified with squences of laser pulses to achieve computation. IonQ's quantum hardware is accessed through Amazon Braket. Find out more about IonQ's hardware here.
IonQ provides several quantum computing devices, including IonQ Harmony with up to 11 qubits, IonQ Aria featuring up to 25 qubits, and IonQ Forte, their most advanced system with 32 qubits.
Using Environment Variables
You can set your AWS credentials via environment variables to avoid passing them during initialization:
Initialization¶
Initialize the IonQ
backend with:
from luna_quantum.solve.parameters.backends import IonQ
backend = IonQ(
aws_access_key=None,
aws_secret_access_key=None,
aws_session_token=None,
device='Aria1'
)
API-Reference¶
IonQ ¶
Bases: AWSBackendBase
Configuration parameters for IonQ quantum backends, accessed via AWS.
Attributes:
Name | Type | Description |
---|---|---|
device |
Literal["Aria1", "Aria2", "Forte1", "ForteEnterprise1"], default="Aria1"
|
The specific IonQ quantum device to use for computations. Options are:
Different devices have varying characteristics such as qubit count, connectivity, and error rates. |
aws_access_key |
str | QpuToken | None
|
The AWS access key |
aws_secret_access_key |
str | QpuToken | None
|
The AWS secret access key |
aws_session_token |
str | QpuToken | None
|
The AWS session token |
aws_access_key
class-attribute
instance-attribute
¶
aws_secret_access_key
class-attribute
instance-attribute
¶
aws_session_token
class-attribute
instance-attribute
¶
device
class-attribute
instance-attribute
¶
provider
property
¶
Retrieve the name of the provider.
Returns:
Type | Description |
---|---|
str
|
The name of the provider. |
get_qpu_tokens ¶
Retrieve a QPU token.
This method is intended to be implemented by subclasses to provide the
mechanism for fetching the required Quantum Processing Unit (QPU) tokens, if
they are required by the solver implementation. The tokens may either be
sourced from a TokenProvider
object or result in a None
if unavailable.
Returns:
Type | Description |
---|---|
TokenProvider | None:
|
An object implementing the |