QCloudNoiseModel
QCloudNoiseModel 表示用于云端量子模拟的噪声模型。它封装了噪声类型及其关联的单量子比特门和双量子比特门参数。
签名
python
QCloudNoiseModel()
QCloudNoiseModel(model: NOISE_MODEL, single_p: list[float], double_p: list[float])参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| model | NOISE_MODEL | 必填 | 噪声模型类型 |
| single_p | list[float] | 必填 | 单量子比特门噪声参数 |
| double_p | list[float] | 必填 | 双量子比特门噪声参数 |
默认构造函数创建一个禁用的噪声模型(不施加噪声)。
方法
get_noise_model
python
get_noise_model() -> str返回噪声模型类型的字符串表示。
返回值: 噪声模型名称字符串。
get_single_params
python
get_single_params() -> list[float]返回单量子比特门噪声参数。
返回值: 单量子比特门的浮点数噪声参数列表。
set_single_params
python
set_single_params(single: list[float]) -> None设置单量子比特门噪声参数。
| 参数 | 类型 | 描述 |
|---|---|---|
| single | list[float] | 单量子比特噪声参数 |
get_double_params
python
get_double_params() -> list[float]返回双量子比特门噪声参数。
返回值: 双量子比特门的浮点数噪声参数列表。
set_double_params
python
set_double_params(double_p: list[float]) -> None设置双量子比特门噪声参数。
| 参数 | 类型 | 描述 |
|---|---|---|
| double_p | list[float] | 双量子比特噪声参数 |
is_enabled
python
is_enabled() -> bool检查噪声模型是否已启用(即是否已配置噪声类型和参数)。
返回值: 如果噪声模型已启用则返回 True,否则返回 False。
print
python
print() -> None将噪声模型类型及其参数打印到标准输出。
运算符
| 运算符 | 描述 |
|---|---|
== | 比较两个 QCloudNoiseModel 对象是否相等 |
!= | 比较两个 QCloudNoiseModel 对象是否不相等 |
示例
python
from pyqpanda3.qcloud import QCloudNoiseModel, NOISE_MODEL
# Create a default (disabled) noise model
no_noise = QCloudNoiseModel()
print("Enabled:", no_noise.is_enabled()) # False
# Create a depolarizing noise model
noise = QCloudNoiseModel(
model=NOISE_MODEL.DEPOLARIZING_KRAUS_OPERATOR,
single_p=[0.001], # Single-qubit depolarizing probability
double_p=[0.01] # Two-qubit depolarizing probability
)
print("Enabled:", noise.is_enabled()) # True
print("Model:", noise.get_noise_model())
# Use the noise model with a backend
job = backend.run(prog, shots=1000, model=noise)
# Modify noise parameters
noise.set_single_params([0.002])
noise.set_double_params([0.02])
noise.print()另见
- NOISE_MODEL -- 可用的噪声模型类型
- QCloudService -- 用于使用噪声模型运行的云服务和后端