

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 本機量子裝置模擬器
<a name="braket-local-emulator"></a>

使用 Amazon Braket 的本機模擬器工具，您可以在本機模擬您的逐字量子程式，然後在實際量子硬體上執行它們。模擬器使用裝置校正資料來驗證逐字電路，讓您可以更早發現相容性問題。

此外，本機模擬器會透過下列程序模擬量子硬體雜訊：
+ 使用裝置校正資料來建構雜訊模型
+ 將去極化雜訊套用至電路中的每個閘道
+ 在電路結尾套用讀取錯誤
+ 使用本機密度矩陣模擬器模擬雜訊電路

如需使用本機模擬器的詳細資訊，請參閱 amazon-braket-examples GitHub儲存庫中 [ 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)。

**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 檔案
+ 在執行個體化模擬器之前變更裝置屬性的值