Skip to content

AWS

AWS Backend

The AWS backend class allows you to access the accelerated simulators available in Amazon Braket, the quantum computing service available in AWS. It supports selecting specific simulation backends such as a state vector simulator or a density matrix simulator. For more information, please refer to the Amazon Braket docs.

This backend only gives access to simulators

This integration supports simulated access. To access the real QPU hardware available through Amazon Braket, please refer to the hardware backends: Rigetti, IonQ, and IQM

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

Running on AWS

This backend runs on AWS.

Initialization

Initialize the AWS backend with:

from luna_quantum.solve.parameters.backends import AWS

backend = AWS(
    aws_access_key=None,
    aws_secret_access_key=None,
    aws_session_token=None,
    device='SV1'
)

API-Reference

AWS

Bases: AWSBackendBase

Configuration parameters for AWS simulator backends.

Attributes:

Name Type Description
device Literal["SV1", "DM1", "TN1"], default="SV1"

The specific AWS simulator to use for computations. Options are:

  • "SV1": State vector simulator for smaller quantum circuits
  • "DM1": Density matrix simulator for noisy quantum circuits
  • "TN1": Tensor network simulator for larger quantum circuits

See the AWS Braket docs

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['SV1', 'DM1', 'TN1'] = 'SV1'

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.