ローカル量子デバイスエミュレータ - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ローカル量子デバイスエミュレータ

Amazon Braket のローカルエミュレータツールを使用すると、実際の量子ハードウェアで実行する前に、逐語的な量子プログラムをローカルでエミュレートできます。エミュレータはデバイスキャリブレーションデータを使用して逐語的な回路を検証し、互換性の問題を早期に検出できるようにします。

さらに、ローカルエミュレータは、次のプロセスを通じて量子ハードウェアノイズをシミュレートします。

  • デバイスキャリブレーションデータを使用してノイズモデルを構築する

  • 回路の各ゲートに脱分極ノイズを適用する

  • 回路の最後に読み取りエラーを適用する

  • ローカル密度マトリックスシミュレーターを使用したノイズの多い回路のシミュレーション

ローカルエミュレータの使用の詳細については、amazon-braket-examples GitHubリポジトリのAmazon Braket の逐語的な回路のローカルエミュレーション」を参照してください。

ローカルエミュレーションの利点

  • リアルタイムまたは履歴のキャリブレーションデータを使用して、逐語的な回路をデバイスの制約と照らし合わせて検証します。

  • 量子ハードウェアにタスクを送信する前に問題をデバッグします。

  • ノイズレスエミュレーションとノイズの多いエミュレーションをハードウェアの結果と比較し、ノイズ効果を理解します。

  • ノイズ対応量子アルゴリズムを開発するワークフローを合理化します。

ローカルエミュレータを作成する

ローカル量子デバイスエミュレータは、量子デバイスまたは一連のデバイスプロパティから直接作成できます。デバイスを直接エミュレートする場合、エミュレータはインスタンス化されたデバイスからの最新のキャリブレーションデータを使用します。次のコード例は、Rigetti's Ankaa-3デバイスを直接エミュレートする方法を示しています。

from braket.aws.aws_device import AwsDevice ankaa3 = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") ankaa3_emulator = ankaa3.emulator()

次の例は、JSON 形式の一連のデバイスプロパティからローカルAnkaa-3デバイスエミュレータを作成する方法を示しています。

from braket.aws import AwsDevice from braket.emulation.local_emulator import LocalEmulator import json # Instantiate the device ankaa3 = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") ankaa3_properties = ankaa3.properties # Put the Ankaa-3 properties in a file named ankaa3_device_properties.json with open("ankaa3_device_properties.json", "w") as f: json.dump(ankaa3_properties.json(), f) # Load the json into the ankaa3_data_json variable with open("ankaa3_device_properties.json", "r") as json_file: ankaa3_data_json = json.load(json_file) # Create the Ankaa-3 local emulator from the json file you created ankaa3_emulator = LocalEmulator.from_json(ankaa3_data_json)

以下の方法で例をカスタマイズできます。

  • 別の QPU デバイスからのプロパティの使用

  • エミュレータに別の JSON ファイルを指定する

  • エミュレータをインスタンス化する前にデバイスプロパティの値を変更する