支持的量子算法与当前状态¶
pyqres 中算法分为三类:
YAML DSL 定义并生成到
pyqres.generated的 composite。pyqres.algorithms中手写的复杂算法模块。为 QEC-Compiler examples 做 gate-level parity 的 YAML mirror。
当前支持矩阵¶
算法/家族 |
pyqres 表达方式 |
QEC AbstractCircuit |
说明 |
|---|---|---|---|
GHZ / W state |
YAML mirror |
已逐门匹配 QEC-Compiler builder |
用于 state-prep benchmark parity。 |
Bernstein-Vazirani |
YAML mirror |
已逐门匹配 |
覆盖 oracle CNOT 结构。 |
Deutsch-Jozsa |
YAML mirror |
已逐门匹配 |
覆盖 balanced/constant oracle gate pattern。 |
Grover |
YAML mirror |
mirror 已逐门匹配 |
|
QFT / QPE |
YAML mirror |
已逐门匹配 |
覆盖 |
QAOA / VQE / Ising |
YAML mirror |
已逐门匹配 |
覆盖 rotation-heavy benchmark。 |
SWAP-test |
YAML mirror |
已逐门匹配 |
覆盖 Fredkin/CCX-style 结构。 |
small Shor fixture |
YAML mirror |
已逐门匹配 QEC fixture;pyqres Shor 可 lower |
|
QDA-tridiagonal |
hand-written |
多尺寸 smoke 已通过 |
当前测试覆盖 |
QRAM-based algorithms |
YAML/hand-written definitions may import QRAM wrappers |
暂不支持 |
QRAM wrappers 显式抛 |
为什么有 YAML mirror¶
QEC-Compiler 的 curated examples 原本直接构造 AbstractCircuit。为了验证
“pyqres YAML DSL -> generated Python -> AbstractCircuit”这一步,pyqres 提供一组
QECExample* YAML mirror。它们通过显式 QEC IR primitives 发出与
QEC-Compiler builder 完全相同的 gate name、qubit order 和 params。
这条路径的目的很明确:
证明 YAML DSL 可以承载 QEC examples 的 gate-level 工作流。
避免把 measurement/metadata 和 PySparQ reference 混在一起。
为后续把 gate-level mirror 逐步提升为 register-level algorithm 提供回归基线。
限制¶
当前 parity 测试比较
num_qubits、gates、qubits、params。pyqres QEC lowering 目前不表达 QEC-Compiler examples 的 measurements 和 metadata。
部分 QEC IR primitives 只定义
AbstractCircuitlowering;资源统计交给 QEC-Compiler。