transpilation 模块
pyqpanda3.transpilation 模块提供了线路转译(Transpilation)、拓扑生成和门分解工具。它将逻辑量子线路映射到物理硬件拓扑,优化门序列,并将高级操作分解为本机门集。
概述
转译是将抽象量子程序转换为可在特定量子设备上执行形式的过程。本模块提供三个核心功能:
- 拓扑生成 -- 创建描述量子芯片物理耦合图的连接图。
- 转译 -- 将虚拟量子比特映射到物理量子比特,插入 SWAP 门进行路由,将门转换为目标设备本机门集,并应用线路优化。
- 分解 -- 将复合量子操作(QProg、QCircuit 或酉矩阵)分解为目标基本门集。
典型的工作流程是先生成或获取芯片拓扑,然后构建 Transpiler 并调用 transpile() 生成兼容硬件的程序。decompose() 函数可以独立使用,将线路重写为特定门基集。
本模块还导出 ChipBackend 数据类,封装芯片拓扑、支持的门、时序信息和其他硬件属性,用于 transpile() 的后端重载。
Transpiler 还提供两个面向硬件工作流的辅助函数:virtual_z() 把分解到 X1/RZ/CZ/RPhi 的程序折叠为 RPhi/CZ 形式(虚拟 Z 相位桥接);fidelity_layout() 根据后端拓扑与保真度映射计算初始布局。ChipBackend 可携带 single_gate_fidelity、readout_fidelity、double_gate_fidelity 与 gate_fidelity 校准数据,驱动保真度感知的布局与近似分解。详见 Transpiler。
需要显式选择布局/路由/优化策略、启用 LightSABRE 路由或回收编译指标时,使用 0.4.1 引入的强类型入口 TranspilationOptions / TranspilationResult / transpilation_metrics(),详见 转译选项与指标。
子主题
| 主题 | 描述 |
|---|---|
| Transpiler | Transpiler 类及其 transpile() 重载方法,以及 virtual_z()、fidelity_layout() 与 ChipBackend 保真度字段 |
| 转译选项与指标 | TranspilationOptions、TranspilationResult、TranspilationExecutionConfig、方法枚举与 transpilation_metrics() |
| 拓扑 | generate_topology() 函数,用于创建芯片连接图 |
| 分解 | decompose() 重载方法,用于 QProg、QCircuit 和矩阵分解 |