验证覆盖矩阵¶
English · 简体中文
本文档记录"每个算法的证据在哪里",与 validation-plan.md 的"如何证明正确"和 algorithm-coverage.md 的"实现了什么"行级对应(见 validation-plan.md §6 的分工说明)。validation.md / validation.json 继续承担版本验收快照的职责;本表描述的是当前开发版本的实时覆盖状态,新增算法或新见证必须同步本表(维护规则见末节)。逐算法的接口与验证详情见各算法页(../manual/algorithms/index.md)。
类别与判定准则沿用 validation-plan.md §2(C1 精确离散、C2 近似连续、C3 概率分布、C4 启发式/优化、C5 数据访问、C6 组合骨架);阶段(V1–V4)见同文档 §5。三层证据指结构合法、小规模数值见证、可绑定性(计划总原则 §1)。
见证原语(tests/core/witness.py)¶
tests/core/witness.py 提供四个跨算法共享的断言原语,所有原语都以 unittest.TestCase 实例为首参数,失败抛 AssertionError。文件名不带 test_ 前缀,不会被 unittest discover 收集;正确性自证测试位于 tests/core/test_witness.py(UnitaryWitnessTests、UncomputationWitnessTests、BindInvariantWitnessTests、BlockEqualsWitnessTests 四个测试类,共 11 个用例)。
原语 |
签名 |
用途 |
约定 |
|---|---|---|---|
|
|
W†W = I 的抽样见证:各基态列归一(Σ|a|²=1)且两两正交 |
|
|
|
复净见证:模拟器在 LocalExit 处强制复净,原语把 |
返回 |
|
|
同一抽象槽位的各候选实现须给出一致的可观察分布 |
|
|
|
BE 的 (0,0) 块逐列与稠密矩阵对拍(乘回 |
仅依赖 |
辅助函数 block_column(be, column) 单独导出以便调用方在自定义断言中复用(如 test_lowrank.py 的 test_matches_pauli_encoding_block 自行构造另一侧 BE 后逐行对拍)。
覆盖矩阵¶
infrastructure / 数据访问层(C5)¶
模块 |
算法 |
类别 |
结构证据 |
数值证据 |
绑定证据 |
缺口 |
阶段 |
|---|---|---|---|---|---|---|---|
|
C5 |
|
|
同类 |
三绑定一致性参数化(V4 铺开) |
V4 |
|
|
C5 |
|
同类 |
|
三绑定参数化(V4) |
V4 |
|
|
C5 |
|
|
— |
定点量化误差界的显式见证未补 |
V2 |
|
|
C5/C1 |
|
同类 |
|
alias 三绑定一致性(gate/qram 当前缺独立场景) |
V4 |
精确离散算法(C1)¶
模块 |
算法 |
类别 |
结构证据 |
数值证据 |
绑定证据 |
缺口 |
阶段 |
|---|---|---|---|---|---|---|---|
|
C1 |
|
同类 |
— |
— |
V1 |
|
|
C1 |
|
|
— |
— |
V1 |
|
|
C1 |
|
|
— |
— |
V1 |
|
|
C1 |
|
|
— |
已注明不可外推为完整 Shor(保留原有口径) |
— |
|
|
C1 |
|
|
— |
— |
V1 |
|
|
C1 |
|
|
— |
— |
V1 |
|
|
C1 |
|
|
|
Johnson 图后需新见证(element distinctness) |
V3 |
近似连续算法(C2)¶
模块 |
算法 |
类别 |
结构证据 |
数值证据 |
绑定证据 |
缺口 |
阶段 |
|---|---|---|---|---|---|---|---|
|
C2 |
|
|
— |
— |
V1 |
|
|
C2 |
|
|
— |
收敛性扫描缺失;病态负例(度数 ≳ 16 或精度过低)的参数化测试已通过 input_validation 局部覆盖,单独的"病态输入必须抛错"批量参数化待补 |
V2 |
|
|
C2 |
|
由 |
— |
Trotter 阶数误差率扫描 |
V2 |
|
|
C2 |
|
同类 |
|
— |
V1 |
|
|
C2 |
|
|
|
与 HHL 论文参考值的端到端对拍(可入 catalog 目录) |
V3 |
|
|
C2 |
|
|
|
频带多项式精度标定与过渡带复振幅对拍;VTAA 日程的振幅估计通道 |
V3 |
|
|
C2 |
|
|
同类注册与契约检查 |
统一的"解析可解 ODE 族"收敛基准 |
V2 |
|
|
C2 |
|
|
|
SDE 与 LCHS 端到端 catalog 案例 |
V3 |
|
|
C2 |
|
同类 |
|
—(V1 新增 |
V1 |
|
|
C2 |
|
|
由 |
α 紧性见证:V1 新增 |
V1 |
概率分布算法(C3)¶
模块 |
算法 |
类别 |
结构证据 |
数值证据 |
绑定证据 |
缺口 |
阶段 |
|---|---|---|---|---|---|---|---|
|
C3 |
|
|
— |
QAE 置信区间声明未见证(只验证了点估计) |
V2 |
|
|
C3 |
|
|
— |
— |
V1 |
|
|
C3 |
|
|
|
— |
V1 |
|
|
C3 |
|
|
|
—(V1 新增 |
V1 |
|
|
C3 |
|
|
由 |
— |
V1 |
启发式/优化算法(C4)¶
模块 |
算法 |
类别 |
结构证据 |
数值证据 |
绑定证据 |
缺口 |
阶段 |
|---|---|---|---|---|---|---|---|
|
C4 |
|
|
— |
"达到小实例最优割"的强见证 |
V3 |
|
|
C4 |
|
|
|
identity 边界已按 ≥/≤ 容差修复 |
V1 |
应用层¶
模块 |
内容 |
类别 |
结构证据 |
数值证据 |
绑定证据 |
缺口 |
阶段 |
|---|---|---|---|---|---|---|---|
|
C6 |
|
|
|
— |
V1 |
|
|
33 案例对拍目录 |
C6 |
|
|
|
新算法(qsvt 求逆、MNRS 搜索、integration、qpca)未登记 |
V3 |
横切机制¶
机制 |
实现位置 |
自证测试 |
|---|---|---|
见证原语 |
|
|
核心静态与单元测试 |
|
见上各模块结构/数值/绑定证据列 |
维护规则¶
新增算法或新见证时,必须同步本表的模块/算法/缺口/阶段列以及见证原语一节(若引入新原语)。
新增算法必须同步新增
docs/manual/algorithms/页面(模板见docs/development/writing-docs.md的“算法页面”小节)。表格写法与
algorithm-coverage.md一致:模块名按src/oracq/下的实际文件;算法名沿用对应模块导出的公开符号。类别(C1–C6)按
validation-plan.md§2 的判定准则填写;同一算法在不同见证下属于不同类别时,取主导类别并在缺口列说明。三层证据的位置统一写成
tests/core/<file>.py:<TestClass>形式(必要时附.<test_method>子串),便于读者直接跳转到测试类。阶段(V1–V4)按
validation-plan.md§5 填写;不属于任何阶段的注明"—"。