VQEStabilityDiagnosticResult¶
from cascaqit import VQEStabilityDiagnosticResult
VQEStabilityDiagnosticResult ¶
VQEStabilityDiagnosticResult(
diagnostic_id: str,
source_result_hash: str,
source_result: VariationalResult[Any],
config: VQEStabilityConfig,
starts: tuple[VQEStartStabilityDiagnosticIR, ...],
selected_start_index: int,
status: VQEStabilityStatus,
optimality_claim: Literal[
"not_claimed"
] = "not_claimed",
convergence_claim: Literal[
"not_claimed"
] = "not_claimed",
schema_version: str = VQE_STABILITY_SCHEMA_VERSION,
)
保存一次只读稳定性诊断及完整源结果。只接受原生 SPSA 的 VQE 记录。常用入口为 result.diagnose_stability() 或 create(),不建议手工填写 starts 与 status。
source_result/hash 绑定原始结果,config 保存阈值,starts 保存各初值的末尾窗口、逐项检查、成本与终止原因。selected_start_index 沿用原结果的选中初值;总体 status 只采用该初值的状态,不能理解为所有初值均稳定。状态为 stable、unstable 或 insufficient_evidence。
直接构造或恢复会从源结果重新推导各初值诊断,核对源摘要、诊断 ID 与总体状态。optimality_claim 和 convergence_claim 必须都是 not_claimed。更改阈值需重新 create(),不能只改已保存状态。
from cascaqit import HamiltonianTerm, OptimizerConfig, PauliHamiltonian, PauliZ, VQE
vqe = VQE(PauliHamiltonian("z", (HamiltonianTerm("z", 1.0, PauliZ("q0")),),
logical_order=("q0",)))
result = vqe.run(optimizer=OptimizerConfig(method="SPSA", max_iterations=2, seed=7),
initial_parameters=(0.4, 0.2), final_shots=16)
from cascaqit import VQEStabilityConfig, VQEStabilityDiagnosticResult
diagnostic = VQEStabilityDiagnosticResult.create(result, VQEStabilityConfig())
assert diagnostic.status == "insufficient_evidence"
assert diagnostic.convergence_claim == "not_claimed"
restored = VQEStabilityDiagnosticResult.from_json(diagnostic.to_json())
assert restored.stable_hash() == diagnostic.stable_hash()
assert diagnostic.report().profile == "algorithm"
create ¶
create(
source_result: VariationalResult[Any],
config: VQEStabilityConfig,
) -> VQEStabilityDiagnosticResult
根据完整源结果与 VQEStabilityConfig 推导诊断、生成 ID 和源摘要,返回 VQEStabilityDiagnosticResult,不调用模拟器。类型不符、非 SPSA VQE 或缺少初值记录会报错。
report ¶
report(
output: str | PathLike[str] | None = None,
*,
language: Literal["en", "zh"] = "en",
title: str | None = None,
) -> ExperimentReport
返回 algorithm 类型 ExperimentReport。output 非空时立即保存 HTML,language 选择该次保存的中/英文,title 可自定义标题。output=None 时只返回报告;之后 to_html()/save() 仍需显式传 language,不会保留本次语言参数。
从字典还原 VQEStabilityDiagnosticResult。恢复完整源结果与配置,重算并核对各项诊断;源数据、摘要或状态不一致会拒绝。 缺少必需字段或字段不合法时可能抛出 KeyError、TypeError 或 ValueError。
解析 JSON 对象并调用 from_dict(),返回 VQEStabilityDiagnosticResult。非法 JSON 会抛出解析错误;顶层不是对象时抛出 TypeError。
返回完整记录的 JSON 兼容字典,嵌套对象也会序列化。它保存已有数据,不重新执行实验。
返回完整记录的 JSON 字符串;indent 可设置缩进,不写文件。
返回完整记录规范 JSON 的 SHA-256 摘要,用于内容比较与来源引用。它不证明实验结论正确,也不等于物理等价性判断。