Skip to content

QCloudNoiseModel

QCloudNoiseModel 表示用于云端量子模拟的噪声模型。它封装了噪声类型及其关联的单量子比特门和双量子比特门参数。

签名

python
QCloudNoiseModel()
QCloudNoiseModel(model: NOISE_MODEL, single_p: list[float], double_p: list[float])

参数

参数类型默认值描述
modelNOISE_MODEL必填噪声模型类型
single_plist[float]必填单量子比特门噪声参数
double_plist[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

设置单量子比特门噪声参数。

参数类型描述
singlelist[float]单量子比特噪声参数

get_double_params

python
get_double_params() -> list[float]

返回双量子比特门噪声参数。

返回值: 双量子比特门的浮点数噪声参数列表。

set_double_params

python
set_double_params(double_p: list[float]) -> None

设置双量子比特门噪声参数。

参数类型描述
double_plist[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()

另见

Released under the MIT License.