本機量子裝置模擬器 - 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 檔案

  • 在執行個體化模擬器之前變更裝置屬性的值