PilotNoiseParams
PilotNoiseParams 是一个 pybind11 数据类(在 C++ 扩展中定义),用于保存 QPilot OS pilot 服务的噪声模拟参数。它定义了噪声模型类型和用于含噪量子线路模拟的相关门错误率。
注意:在 pyqpanda3 0.4.0 中,
PilotNoiseParams是一个内部 C++ 类型,其构造函数未直接暴露给 Python。要创建和配置噪声参数,请改用pyqpanda3.qcloud中的QCloudNoiseModel—— 请参见下面的示例。
属性
所有属性都是公开可读写的字段。
| 属性 | 类型 | 描述 |
|---|---|---|
| noise_model | str | 噪声模型标识符(NOISE_MODEL 枚举名称之一,例如 "DEPOLARIZING_KRAUS_OPERATOR") |
| single_gate_param | float | 单量子比特门的噪声参数 |
| double_gate_param | float | 双量子比特门的噪声参数 |
| single_p2 | float | 辅助单量子比特噪声参数(用于某些噪声模型) |
| double_p2 | float | 辅助双量子比特噪声参数(用于某些噪声模型) |
| single_pgate | float | 单量子比特门错误概率 |
| double_pgate | float | 双量子比特门错误概率 |
NOISE_MODEL 枚举
NOISE_MODEL 枚举(来自 pyqpanda3.qcloud)定义了支持的噪声模型类型:
| 枚举值 | 数值 ID | 描述 |
|---|---|---|
NOISE_MODEL.BITFLIP_KRAUS_OPERATOR | 0 | 随机 X(比特翻转)错误 |
NOISE_MODEL.BIT_PHASE_FLIP_OPERATOR | 1 | 比特和相位翻转组合错误 |
NOISE_MODEL.DAMPING_KRAUS_OPERATOR | 2 | 振幅阻尼(T1 衰减) |
NOISE_MODEL.DECOHERENCE_KRAUS_OPERATOR | 3 | T1 和 T2 联合退相干 |
NOISE_MODEL.DEPHASING_KRAUS_OPERATOR | 4 | 相位阻尼(T2 衰减) |
NOISE_MODEL.DEPOLARIZING_KRAUS_OPERATOR | 5 | 均匀去极化噪声 |
NOISE_MODEL.PHASE_DAMPING_OPERATOR | 6 | 纯退相位错误 |
示例
使用 QCloudNoiseModel 创建和检查噪声模型:
python
from pyqpanda3.qcloud import QCloudNoiseModel, NOISE_MODEL
# Create a depolarizing noise model with 0.1% single-gate
# and 1% two-gate error probabilities
noise_params = QCloudNoiseModel(
NOISE_MODEL.DEPOLARIZING_KRAUS_OPERATOR,
[0.001], # single-qubit gate error probability
[0.01] # two-qubit gate error probability
)
# Read noise parameters
print(f"Noise model: {noise_params.get_noise_model()}")
print(f"Single gate params: {noise_params.get_single_params()}")
print(f"Double gate params: {noise_params.get_double_params()}")运行结果:
Noise model: DEPOLARIZING_KRAUS_OPERATOR
Single gate params: [0.001]
Double gate params: [0.01]也可以先创建空的(默认禁用的)噪声模型,稍后再配置:
python
from pyqpanda3.qcloud import QCloudNoiseModel, NOISE_MODEL
# Create an empty noise model (disabled by default)
noise_params = QCloudNoiseModel()
# Configure parameters
noise_params.set_single_params([0.001])
noise_params.set_double_params([0.01])
# Check state
print(f"Enabled: {noise_params.is_enabled()}")
print(f"Single gate params: {noise_params.get_single_params()}")
print(f"Double gate params: {noise_params.get_double_params()}")运行结果:
Enabled: True
Single gate params: [0.001]
Double gate params: [0.01]注意:使用默认构造函数创建的
QCloudNoiseModel初始状态为禁用(is_enabled() == False)。调用参数设置方法后将被启用。
另见
- QPilotService -- 使用噪声参数的主要服务类
- ErrorCode -- pilot 操作的错误代码
- QCloudNoiseModel -- 用于云端和模拟器配置的可用噪声模型类