Skip to content

Rigetti

Rigetti Backend

Rigetti's quantum processors are universal, gate-based machines utilizing superconducting qubits. The Aspen chips feature a scalable architecture with a grid of alternating fixed-frequency and tunable qubits. Rigetti builds integrated quantum systems for industries like finance and pharmaceuticals. Currently the Rigetti hardware is hosted on Amazon Braket. Find out more about Rigetti's hardware here.

Using Environment Variables

You can set your AWS credentials via environment variables to avoid passing them during initialization:

export LUNA_AWS_ACCESS_KEY=your_aws_access_key
export LUNA_AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key

Initialization

Initialize the Rigetti backend with:

from luna_quantum.solve.parameters.backends import Rigetti

backend = Rigetti(
    aws_access_key=None,
    aws_secret_access_key=None,
    aws_session_token=None,
    device='Ankaa3'
)

API-Reference

Rigetti

Bases: AWSBackendBase

Configuration parameters for Rigetti quantum backends, accessed via AWS.

Attributes:

Name Type Description
device Literal["Ankaa3"], default="Ankaa3"

The specific Rigetti quantum device to use for computations. Currently only "Ankaa-3" is available - Rigetti's latest superconducting quantum processor featuring improved coherence times and gate fidelities.

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_access_key: str | QpuToken | None = Field(
    repr=False, exclude=True, default=None
)

aws_secret_access_key class-attribute instance-attribute

aws_secret_access_key: str | QpuToken | None = Field(
    repr=False, exclude=True, default=None
)

aws_session_token class-attribute instance-attribute

aws_session_token: str | QpuToken | None = Field(
    repr=False, exclude=True, default=None
)

device class-attribute instance-attribute

device: Literal['Ankaa3'] = 'Ankaa3'

provider property

provider: str

Retrieve the name of the provider.

Returns:

Type Description
str

The name of the provider.

_get_token

_get_token() -> TokenProvider | None

device_provider

device_provider() -> str

Return the device provider identifier.

get_qpu_tokens

get_qpu_tokens() -> TokenProvider | None

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 TokenProvider interface if tokens are available/needed, otherwise None.