ReadoutMitigationConfig¶
from cascaqit import ReadoutMitigationConfig
ReadoutMitigationConfig ¶
ReadoutMitigationConfig(
calibration: ReadoutCalibration,
method: Literal[
"tensor_product_linear_inverse"
] = "tensor_product_linear_inverse",
max_condition_number: float = 100.0,
schema_version: str = READOUT_MITIGATION_SCHEMA_VERSION,
)
对有限采样 Pauli 估计启用逐比特线性逆读出误差缓解。calibration 必须是显式 ReadoutCalibration;method 当前只支持 tensor_product_linear_inverse。max_condition_number 必须为有限正数,默认 100,同时限制单比特响应矩阵与完整张量积响应的条件数。奇异矩阵、非有限条件数或超出上限会在构造时被拒绝。
运行时要求校准 logical_order 与被测程序完全相同,只有比特集合相同但顺序不同也不行。估计器按 g = A**(-T) f 修正每个观测样本的权重,保留同组项的协方差;它不改写后端原始计数。有限样本下,修正权重可以为负,Pauli 估计也可能超出 [-1, 1],不能当作非法原始概率直接裁剪。
逆变换可能放大方差。是否减小误差依赖校准是否准确、是否适用和采样量;它不会消除门误差或模拟误差,也不会自动计入校准本身的不确定度。
from cascaqit import (HamiltonianTerm, NoiseChannel, NoiseModel, PauliHamiltonian,
PauliMeasurementConfig, PauliZ, ReadoutCalibration,
ReadoutMitigationConfig, VQE)
vqe = VQE(PauliHamiltonian("z", (HamiltonianTerm("z", 1.0, PauliZ("q0")),),
logical_order=("q0",)))
noise = NoiseModel("readout", (NoiseChannel.readout(0.1, p10=0.05),))
calibration = ReadoutCalibration.from_probabilities(
logical_order=("q0",), p01=0.1, p10=0.05, source="teaching_simulation")
config = ReadoutMitigationConfig(calibration)
raw = vqe.evaluate_sampled((0.3, 0.1), seed=7, noise=noise,
measurement=PauliMeasurementConfig(shots_per_group=64))
corrected = vqe.evaluate_sampled((0.3, 0.1), seed=7, noise=noise,
measurement=PauliMeasurementConfig(shots_per_group=64, mitigation=config))
assert raw.group_results[0].counts == corrected.group_results[0].counts
assert corrected.mitigated_energy is not None
assert corrected.raw_energy == raw.energy
从字典还原 ReadoutMitigationConfig。必须提供嵌套 calibration,恢复时同时核对校准摘要、矩阵可逆性和条件数上限。 缺少必需字段或字段不合法时可能抛出 KeyError、TypeError 或 ValueError。
解析 JSON 对象并调用 from_dict(),返回 ReadoutMitigationConfig。非法 JSON 会抛出解析错误;顶层不是对象时抛出 TypeError。
返回可写入 JSON 的字典,嵌套对象一并序列化。元组转成数组;这个字典是保存的声明,不是执行结果。
返回 JSON 字符串,不写文件。indent=None 使用紧凑格式;提供缩进宽度可便于阅读。
返回规范 JSON 的 SHA-256 十六进制摘要。字段、标识或元数据变化都可能改变摘要;它用于比较保存内容,不判断两个声明在物理上是否等价。