

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

# 本地量子设备模拟器
<a name="braket-local-emulator"></a>

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

此外，本地模拟器通过以下过程模拟量子硬件噪声：
+ 使用设备校准数据构造噪声模型
+ 对电路中的每个门施加去极化噪声
+ 在电路末端应用读出错误
+ 使用局部密度矩阵模拟器模拟噪声电路

有关使用本地仿真器的更多信息，请参阅存储库中的 [Amazon Braket 上的逐字电路本地仿真](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Device_emulation/01_Local_Emulation_for_Verbatim_Circuits_on_Amazon_Braket.ipynb)。 amazon-braket-examples GitHub

**Topics**
+ [本地模拟的好处](#braket-local-emulator-benefits)
+ [创建本地模拟器](#braket-create-local-emulator)

## 本地模拟的好处
<a name="braket-local-emulator-benefits"></a>
+ 使用实时或历史校准数据根据设备限制对逐字电路进行验证。
+ 在向量子硬件提交任务之前，请先调试问题。
+ 将无噪声和噪声模拟与硬件结果进行比较，了解噪声效果。
+ 简化开发噪声感知量子算法的工作流程。

## 创建本地模拟器
<a name="braket-create-local-emulator"></a>

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