本地量子设备仿真器 - Amazon Braket

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本地量子设备仿真器

借助 Amazon Braket 的本地仿真器工具,您可以在本地模拟逐字量子程序,然后再在实际的量子硬件上运行它们。仿真器使用设备校准数据来验证逐字电路,这样您就可以尽早发现兼容性问题。

此外,本地仿真器通过以下过程模拟量子硬件噪声:

  • 使用设备校准数据构建噪声模型

  • 对电路中的每个栅极施加去极化噪声

  • 在电路末端应用读出错误

  • 使用局部密度矩阵仿真器仿真噪声电路

有关使用本地仿真器的更多信息,请参阅存储库中的 Amazon Braket 上的逐字电路本地仿真。 amazon-braket-examples GitHub

本地仿真的好处

  • 使用实时或历史校准数据根据设备限制对逐字电路进行验证。

  • 在向量子硬件提交任务之前,先调试问题。

  • 将无噪音和噪声仿真与硬件结果进行比较,以了解噪声效果。

  • 简化开发噪声感知量子算法的工作流程。

创建本地模拟器

本地量子器件仿真器可以直接从量子器件或一组设备属性中创建。直接仿真设备时,仿真器使用实例化设备的最新校准数据。以下代码示例演示了如何直接模拟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 文件

  • 在实例化仿真器之前更改设备属性的值