amazon-braket/amazon-braket-sdk-python
A Python SDK for interacting with quantum devices on Amazon Braket
Amazon Braket Python SDK
Amazon Braket Python SDK は、Amazon Braket 上で量子計算ジョブを実行するためのオープンソースライブラリです。以下の機能を提供します:
- デバイス抽象化(
AwsDevice、Devices):Amazonホストのシミュレータと実際の量子プロセッサ(例:Rigetti、IonQ など)の両方に対応。 - 回路の構築:
braket.circuits.Circuitを使用。 - タスクの送信(
device.run、device.run_batch)と結果の取得。 - ハイブリッドジョブのサポート(
AwsQuantumJob):古典的処理と量子処理を組み合わせたワークフローに対応。 - ローカルシミュレータ:SDKにバンドルされており、AWSリソースを使わずに迅速なプロトタイピングが可能。
セットアップ方法
# PyPIからSDKをインストール
pip install amazon-braket-sdk
Python 3.11+、Git、Braket権限を持つAWSアカウント(IAMユーザー/ロール)、およびAWS SDK for Python(boto3)が必要です。SDKを使用する前に、AWS資格情報とリージョンを設定してください。
シンプルな例 – SV1シミュレータでのベルペア生成
from braket.aws import AwsDevice
from braket.circuits import Circuit
from braket.devices import Devices
# マネージドな状態ベクトルシミュレータを選択
device = AwsDevice(Devices.Amazon.SV1)
# 2量子ビットのベル回路を構築
bell = Circuit().h(0).cnot(0, 1)
# ジョブを送信(100ショット)し、測定ヒストグラムを出力
task = device.run(bell, shots=100)
print(task.result().measurement_counts)
SDKはジョブの作成、ポーリング、結果の解析をすべて自動で処理します。
複数の回路を並列実行
circuits = [bell for _ in range(5)]
batch = device.run_batch(circuits, shots=100)
print(batch.results()[0].measurement_counts)
バッチ送信により、シミュレータでの大規模ワークロードの処理が高速化されます。
ハイブリッドジョブ(古典的+量子)
from braket.aws import AwsQuantumJob
job = AwsQuantumJob.create(
device="arn:aws:braket:::device/quantum-simulator/amazon/sv1",
source_module="job.py",
entry_point="job:run_job",
wait_until_complete=True,
)
print(job.result())
SDKはDockerベースのジョブを起動し、複数の量子タスクと通常のPythonコードを同時に実行できます。
ローカルシミュレーション
SDKには、あなたのラップトップ上で動作する高速な状態ベクトルシミュレータ braket_sv が同梱されています。クラウドにジョブを送信する前の迅速なデバッグに使用できます。
ドキュメントとサポート
- チートシート – 一般的な呼び出しの1ページ概要:https://amazon-braket.github.io/amazon-braket-sdk-python/
- 完全なAPIリファレンス – https://amazon-braket-sdk-python.readthedocs.io/
- 例 – Jupyterノートブックの例は、併用リポジトリ
amazon-braket-examplesを参照してください。 - サポート – GitHubでイシューをオープンするか、Quantum Computing Stack Exchangeで質問してください。
ライセンス
Apache-2.0。
要約:Amazon Braket Python SDK は、クラウドホスト型とローカルシミュレータを備えたAWSのBraketサービス上で、量子回路とハイブリッドワークロードを構築・送信・管理するための本格的なツールキットです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト