# Demo 2:块编码 > 第 5 章 哈密顿量模拟与 QSP · [本章演示](index.md) · [代码演示总索引](../index.md) **可视化**:3 子图(U_A+A+A/α+测量) —— 2×2 厄米矩阵 A 的 4-qubit 块编码 U_A 验证 **对应教程**:[第 5 章 哈密顿量模拟与 QSP 中相关小节](https://tutorial.chenzhaoyun.com/quantum-tutorial/ch05-hamiltonian-qsp/) · 依赖安装:`pip install "unified-quantum[visualization,simulation]"` ## 实现要点 模型: A = [[1, 0.5], [0.5, 1]] (Hermitian, 对称正定) 操作数范数: alpha = ||A||_op = 1.5, 归一化后 A/alpha = [[2/3, 1/3], [1/3, 2/3]] 特征值 (A/alpha): 1, 1/3; 特征向量 (descending): v_+ = (1, 1)/sqrt(2), v_- = (1, -1)/sqrt(2) 特征基旋转: U_eig = H (按 descending eigvec 列排列) uniqc 不支持 add_gate('U', matrix=...) 自定义矩阵入口. 采用「数学构造 + 物理电路 + get_matrix 校验」三步法: 1. 用 numpy 显式构造 4x4 块编码酉阵 U_A = (U_eig ⊗ I_a) · U_D · (U_eig^dag ⊗ I_a), 其中 U_D 是 multiplexed Ry 块编码 diag(cos theta_0, cos theta_1), theta_s = arccos(eigval_s). 2. 用 H (本征基旋转) + CR_y (对角块编码) 分解得到电路. 3. 比对 c.get_matrix() 与理论 U_A; 在模拟器上验证 P(ancilla=0|s) = |(A/alpha)_{s,s}|^2. ## 完整源码 ```{literalinclude} 02_block_encoding_hermitian.py :language: python :linenos: :caption: demos/ch05-hamiltonian-qsp/02_block_encoding_hermitian.py ``` ## 运行结果 ![Demo 2:块编码](02_block_encoding_hermitian.png) ## 运行方式 ```bash # 仓库根目录执行;输出 PNG 到 demos/ch05-hamiltonian-qsp/02_block_encoding_hermitian.png,关键统计到 stdout .venv/bin/python3 demos/ch05-hamiltonian-qsp/02_block_encoding_hermitian.py ``` --- [← 本章演示](index.md) · [↑ 代码演示总索引](../index.md) · [⌂ 教程门户](https://tutorial.chenzhaoyun.com/)