FSharp.Azure.Quantum.Braket
0.4.5
dotnet add package FSharp.Azure.Quantum.Braket --version 0.4.5
NuGet\Install-Package FSharp.Azure.Quantum.Braket -Version 0.4.5
<PackageReference Include="FSharp.Azure.Quantum.Braket" Version="0.4.5" />
<PackageVersion Include="FSharp.Azure.Quantum.Braket" Version="0.4.5" />
<PackageReference Include="FSharp.Azure.Quantum.Braket" />
paket add FSharp.Azure.Quantum.Braket --version 0.4.5
#r "nuget: FSharp.Azure.Quantum.Braket, 0.4.5"
#:package FSharp.Azure.Quantum.Braket@0.4.5
#addin nuget:?package=FSharp.Azure.Quantum.Braket&version=0.4.5
#tool nuget:?package=FSharp.Azure.Quantum.Braket&version=0.4.5
FSharp.Azure.Quantum.Braket
AWS Braket plugin for FSharp.Azure.Quantum
Submits circuits to AWS Braket gate QPUs and simulators via OpenQASM 3.0, and neutral-atom
analog programs to QuEra Aquila via the Braket AHS format. This is the only package that
depends on the AWS SDK — the core FSharp.Azure.Quantum package stays AWS-free.
Supported devices
| Kind | Devices (Braket.Devices.*) |
Format |
|---|---|---|
| Gate QPUs | ionqAria1, ionqForte1, rigettiAnkaa3, iqmGarnet, oqcLucy, infleqtionSqale |
OpenQASM 3.0 |
| Managed simulators | sv1, dm1, tn1 |
OpenQASM 3.0 |
| Neutral-atom analog QPU | queraAquila |
AHS |
Device ARNs track the Braket console — update Braket.Devices if a device is retired or added.
Installation
dotnet add package FSharp.Azure.Quantum.Braket
This package requires FSharp.Azure.Quantum (pulled in transitively) and the AWSSDK.Braket
and AWSSDK.S3 packages. You need AWS credentials with Braket access and an S3 bucket where
Braket writes task results.
Quick start
Gate circuits (any Braket gate device)
BraketBackend implements the shared IQuantumBackend, so it works with any gate device by ARN
and plugs into the standard algorithms (Grover, QFT, Shor, HHL).
open Amazon.Braket
open Amazon.S3
open FSharp.Azure.Quantum.Braket
open FSharp.Azure.Quantum.Braket.BraketExecution
let braket = new AmazonBraketClient()
let s3 = new AmazonS3Client()
let s3Config = { Bucket = "my-braket-results"; KeyPrefix = "tasks" }
// Pick a device by ARN — simulator, IonQ, Rigetti, IQM, OQC, Infleqtion, ...
let backend = BraketBackend(braket, s3, s3Config, Braket.Devices.sv1, shots = 1000)
// Run a gate circuit (wrap a CircuitBuilder.Circuit with CircuitWrapper)
let result = (backend :> IQuantumBackend).ExecuteToState circuit
The backend exports the circuit to OpenQASM 3.0, submits the task, polls to completion, reads the
result JSON from S3, and returns an approximate QuantumState built from the measurement
histogram. Failures come back as Error (QuantumError ...) rather than exceptions.
Neutral-atom analog programs (QuEra Aquila)
open FSharp.Azure.Quantum.Algorithms.NeutralAtom
// Build a RydbergProgram, then submit it via the AHS format
let! result =
submitAhsAsync braket s3 s3Config Braket.Devices.queraAquila program shots ct
Modules
Braket— pure helpers with no AWS SDK dependency (device ARNs, OpenQASM action wrapping, gate-result parsing). Testable in isolation.BraketExecution— the AWS-facing layer:submitActionAsync,submitAhsAsync, and theBraketBackendgateIQuantumBackend.
Notes
- Dense state-vector materialisation from a result histogram is capped at 24 qubits (~256 MB). For larger circuits, parse the measurement histogram directly.
ApplyOperationis not supported (Braket runs whole circuits, not incremental gates); useExecuteToStatewith a complete circuit.
License
Same as the parent project (FSharp.Azure.Quantum) — Unlicense / Public Domain.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AWSSDK.Braket (>= 3.7.504.49)
- AWSSDK.S3 (>= 3.7.511.8)
- FSharp.Azure.Quantum (>= 1.4.5)
- FSharp.Core (>= 10.1.301)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v0.4.3: Initial public release of the AWS Braket plugin
- Submit gate circuits to Braket QPUs (IonQ, Rigetti, IQM, OQC, Infleqtion) and simulators (SV1/DM1/TN1) via OpenQASM 3.0
- Submit QuEra Aquila neutral-atom analog programs via the Braket AHS format
- Isolates the AWS SDK dependency so the core FSharp.Azure.Quantum package stays AWS-free
- Requires FSharp.Azure.Quantum v1.4.3+