# 块编码详解:量子线性代数的基础设施 块编码(Block Encoding)是量子计算中实现矩阵操作的基础原语。它的核心思想是:将一个(可能非酉的)矩阵 $A$ 嵌入一个更大的酉算符 $U_A$ 的"子块"中,从而在量子电路上实现对 $A$ 的操作。块编码是 QSVT、Qubitization、量子线性代数等现代量子算法的基石。 :::{admonition} 本课知识点 :class: tip 1. **[块编码的定义](#block-encoding-definition)**——能写出 $(\alpha, m, \varepsilon)$-块编码的定义不等式,解释 $\alpha$、$m$、$\varepsilon$ 的含义与"左上块为 $A/\alpha$"的分块矩阵直觉,并推导 $\|A\| \le \alpha + \varepsilon$。 2. **[LCU 构造](#lcu-construction)**——能对 $A = \sum_k \alpha_k U_k$ 写出 PREP 与 SELECT 操作,推导 $U_A = \mathrm{PREP}^\dagger\cdot\mathrm{SELECT}\cdot\mathrm{PREP}$ 的左上块等于 $A/\lambda$($\lambda = \|\vec\alpha\|_1$),并计算门复杂度。 3. **[Pauli 分解构造](#pauli-decomposition)**——能解释 Pauli 分解作为 LCU 特例的适用条件,计算 $\lambda = \sum_P |\alpha_P|$ 与辅助比特数,并说明 SELECT 中泡利字符串的 $O(n)$ 受控实现。 4. **[对角矩阵的直接构造](#diagonal-block-encoding)**——能用单辅助比特与 $R_y$ 旋转构造对角矩阵的块编码,验证左上块为 $D/\alpha$,并解释该方法的适用范围。 5. **[乘积性质](#product-property)**——能证明互不重叠辅助寄存器下 $U_B U_A$ 是 $BA$ 的 $(\alpha_A\alpha_B,\ m_A+m_B,\ \alpha_B\varepsilon_A+\alpha_A\varepsilon_B+\varepsilon_A\varepsilon_B)$-块编码,并说明独立辅助寄存器的必要性。 6. **[线性组合性质](#linear-combination-property)**——能用一个附加辅助比特构造 $cA + dB$ 的块编码,写出归一化常数 $|c|\alpha_A + |d|\alpha_B$ 与误差,并解释为何不能直接线性组合 $U_A$、$U_B$。 7. **[块编码与 QSVT 矩阵函数](#qsvt-matrix-functions)**——能列出 QSVT 可实现多项式需满足的约束,并对矩阵求逆、时间演化、Gibbs 态等目标函数写出多项式次数的量级。 8. **[块编码的典型应用](#block-encoding-applications)**——能按步骤说明 QSVT-HHL、哈密顿量模拟、Gibbs 态制备与奇异值阈值如何以块编码为接口,并比较各应用的复杂度依赖。 ::: ## 问题背景 量子计算机只能执行酉操作(量子门),但科学计算中需要处理的矩阵往往不是酉的:它们可能不是方阵、不满足 $U^\dagger U = I$、甚至不是 Hermitian 的。如何在量子电路上"执行"一个非酉矩阵? **朴素方案的失败**: - 直接将 $A$ 编码为量子门:$A$ 不是酉算符,不能作为量子门; - 先计算 $A$ 再酉化:计算 $A$ 本身就需要 $O(N^2)$ 经典资源; - 用 QPE 提取特征值再构造:仅限可对角化且只需谱信息的场景。 **块编码方案**:构造一个更大的酉算符 $U_A$,使其"子块"恰好等于 $A$(乘以某个缩放因子)。 ## 数学定义 (block-encoding-definition)= ### 块编码的定义 **定义**:矩阵 $A \in \mathbb{C}^{N \times N}$($N = 2^n$)的 $(\alpha, m, \varepsilon)$-**块编码**是 $(m+n)$-量子比特酉算符 $U_A$,满足: $$\left\| A - \alpha \left( \langle 0|^{\otimes m} \otimes I_{2^n} \right) U_A \left( |0\rangle^{\otimes m} \otimes I_{2^n} \right) \right\| \le \varepsilon$$ 其中: - $\alpha > 0$ 是**归一化常数**。由三角不等式与 $\|(\langle 0|^{\otimes m} \otimes I)U_A(|0\rangle^{\otimes m} \otimes I)\| \le \|U_A\| = 1$ 可得 $\|A\| \le \alpha + \varepsilon$,因此 $\alpha$ 必须至少与 $\|A\|$ 同阶; - $m$ 是**辅助量子比特数**; - $\varepsilon$ 是**近似误差**; - $\langle 0|^{\otimes m}$ 表示在辅助寄存器上投影到 $|0\rangle^{\otimes m}$。 **几何直觉**:$U_A$ 是 $(m+n)$-量子比特空间上的酉矩阵。将 Hilbert 空间按辅助寄存器是否处于 $|0\rangle^{\otimes m}$ 分块,则 $U_A$ 的分块矩阵形式为 $$U_A = \begin{pmatrix} A/\alpha + O(\varepsilon) & * \\ * & * \end{pmatrix},$$ 即左上角的 $N \times N$ 块近似等于 $A/\alpha$,其余块(记作 $*$)无约束,只要求整体酉性。 ### 广义块编码 对非方阵 $A \in \mathbb{C}^{M \times N}$($M = 2^m$,$N = 2^n$,$m \ne n$),我们先将其零填充为方阵 $$\bar{A} = \begin{pmatrix} A & 0 \\ 0 & 0 \end{pmatrix} \in \mathbb{C}^{2^{\max(m,n)} \times 2^{\max(m,n)}},$$ 再按方阵定义构造 $\bar A$ 的块编码,它作用在 $m_a + \max(m, n)$ 个量子比特上;在其"左上块"处取到的就是 $A/\alpha$。等价地,也可以把块编码定义为连接两个同维数 Hilbert 空间的酉算子,本文一律采用方阵零填充的写法。 ## 块编码的构造方法 (lcu-construction)= ### 方法一:LCU(线性组合酉操作) **适用场景**:$A$ 可表示为酉矩阵的线性组合 $A = \sum_{k=1}^{L} \alpha_k U_k$。 这是最通用的块编码构造方法。 **构造**: 1. **PREP 操作**:在辅助寄存器上制备振幅态 $$\text{PREP}\,|0\rangle^{\otimes m_a} = |\mathcal{A}\rangle = \frac{1}{\sqrt{\lambda}} \sum_{k=1}^{L} \sqrt{|\alpha_k|}\, |k\rangle,$$ 其中 $\lambda := \|\vec{\alpha}\|_1 = \sum_k |\alpha_k|$,$m_a = \lceil\log_2 L\rceil$。该态是归一化的,因为平方振幅之和 $\sum_k |\alpha_k| / \lambda = 1$。 2. **SELECT 操作**:受控酉选择 $$\text{SELECT} = \sum_{k=1}^{L} |k\rangle\langle k| \otimes \text{sgn}(\alpha_k)\, U_k,$$ 其中符号 $\mathrm{sgn}(\alpha_k) = \alpha_k/|\alpha_k|$ 已吸收进受控酉中。 3. **组合**:$U_A = \text{PREP}^\dagger \cdot \text{SELECT} \cdot \text{PREP}$。 **验证**:我们需要计算 $(\langle 0|^{\otimes m_a} \otimes I)\, U_A\, (|0\rangle^{\otimes m_a} \otimes I)$。由于 $\mathrm{PREP}|0\rangle^{\otimes m_a} = |\mathcal A\rangle$ 且 $\langle 0|^{\otimes m_a}\mathrm{PREP}^\dagger = \langle\mathcal A|$,插入 $\mathrm{PREP}\mathrm{PREP}^\dagger = I$ 得 $$(\langle 0|^{\otimes m_a} \otimes I)\, U_A\, (|0\rangle^{\otimes m_a} \otimes I) = (\langle\mathcal A| \otimes I)\, \text{SELECT}\, (|\mathcal A\rangle \otimes I).$$ 再利用 $\langle\mathcal A|k\rangle = \sqrt{|\alpha_k|/\lambda}$,把 SELECT 的谱分解逐项代入: $$(\langle\mathcal A| \otimes I)\, \text{SELECT}\, (|\mathcal A\rangle \otimes I) = \sum_{k=1}^{L} \sqrt{\frac{|\alpha_k|}{\lambda}}\cdot\text{sgn}(\alpha_k)\cdot\sqrt{\frac{|\alpha_k|}{\lambda}}\; U_k = \frac{1}{\lambda}\sum_{k=1}^{L} \alpha_k U_k = \frac{A}{\lambda}.$$ 因此 $U_A$ 是 $A$ 的 $(\lambda, m_a, 0)$-块编码,即 $\alpha = \lambda = \|\vec{\alpha}\|_1$,$m = \lceil\log_2 L\rceil$。 **门复杂度**: | 操作 | 门数 | |------|------| | PREP | $O(\text{poly}(m_a))$(取决于 $\vec{\alpha}$ 的结构) | | SELECT | $O(L \cdot C_U)$($C_U$ 为单个 $U_k$ 的门数) | | $U_A$ 总计 | $O(L \cdot C_U + \text{poly}(m_a))$ | (pauli-decomposition)= ### 方法二:Pauli 分解 **适用场景**:$A = \sum_{P \in \mathcal{P}} \alpha_P P$(泡利字符串线性组合)。 泡利字符串是幺模酉算符,因此这是 LCU 的特例:$\lambda = \sum_P |\alpha_P|$。 **SELECT 的实现**: $$\text{SELECT} = \sum_{P} |P\rangle\langle P| \otimes P$$ 每个泡利字符串 $P = \sigma_1 \otimes \sigma_2 \otimes \cdots \otimes \sigma_n$ 可由 $O(n)$ 个单比特门与 CNOT 实现(受控版本只需常数因子额外开销)。 **PREP 的实现**:制备 $|\mathcal{A}\rangle = \frac{1}{\sqrt{\lambda}} \sum_P \sqrt{|\alpha_P|} |P\rangle$,通常用均匀叠加态加受控相位旋转实现。 **复杂度**: $$C_{U_A} = O(L \cdot n + \text{poly}(m_a))$$ 其中 $L$ 为非零泡利字符串项数,$m_a = \lceil \log_2 L\rceil$。 (diagonal-block-encoding)= ### 方法三:直接构造(对角矩阵) 对某些结构化矩阵,可以找到更高效的块编码。 **例子**:$A = D$(对角矩阵),$D = \text{diag}(d_1, \ldots, d_N)$,且 $|d_j| \le \alpha$。 用 $m_a = 1$ 个辅助比特,取 $$U_A = \sum_j |j\rangle\langle j| \otimes R_y(2\arccos(d_j/\alpha)),$$ 其中 $R_y(2\theta) = \begin{pmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{pmatrix}$。验证左上块:由于 $\langle 0|R_y(2\theta)|0\rangle = \cos\theta$,代入 $\theta = \arccos(d_j/\alpha)$ 得 $$(\langle 0| \otimes I)\, U_A\, (|0\rangle \otimes I) = \sum_j |j\rangle\langle j| \cdot \frac{d_j}{\alpha} = \frac{D}{\alpha}.$$ 门数为 $O(N)$,但 $N = 2^n$ 随 $n$ 指数增长,因此该方法仅对小系统或具有结构(如稀疏、平滑)的对角矩阵实用。 ### 方法四:量子随机存取存储器(QRAM) 对任意 $A$,若有 QRAM 可以高效访问矩阵元素,则可构造 $O(\text{poly}(n))$ 复杂度的块编码。但 QRAM 本身的物理实现是重大技术挑战(详见 QRAM 教程)。 ## 块编码的基本性质 ### 性质一:缩放 若 $U_A$ 是 $A$ 的 $(\alpha, m, \varepsilon)$-块编码,则同一个酉算符 $U_A$ 可以视为 $\beta A$ 的 $(\beta\alpha, m, \beta\varepsilon)$-块编码($\beta > 0$)。 验证:$(\beta A)/(\beta\alpha) = A/\alpha$,左上块不变;误差按范数放大 $\beta$ 倍,即 $\|\beta A - \beta\alpha\,(\langle0|\otimes I)U_A(|0\rangle\otimes I)\| = \beta\,\|A - \alpha(\langle0|\otimes I)U_A(|0\rangle\otimes I)\| \le \beta\varepsilon$。注意我们不能把块编码乘以 $\beta$,因为 $\beta U_A$($\beta \ne 1$)不是酉算符;改变的是"归一化常数"这一标注方式,而非电路本身。 (product-property)= ### 性质二:乘积 若 $U_A$ 是 $A$ 的 $(\alpha_A, m_A, \varepsilon_A)$-块编码,$U_B$ 是 $B$ 的 $(\alpha_B, m_B, \varepsilon_B)$-块编码,且两者使用**互不重叠**的辅助寄存器,则 $U_B \cdot U_A$ 是 $BA$ 的 $(\alpha_A \alpha_B,\ m_A + m_B,\ \alpha_B \varepsilon_A + \alpha_A \varepsilon_B + \varepsilon_A \varepsilon_B)$-块编码。 **证明**:记 $\Pi_A = |0\rangle\langle0|^{\otimes m_A}$、$\Pi_B = |0\rangle\langle0|^{\otimes m_B}$(分别作用于两个辅助寄存器),$\Pi = \Pi_B\Pi_A$,并记 $\tilde A = (\langle0|^{\otimes m_A}\otimes I)U_A(|0\rangle^{\otimes m_A}\otimes I)$,$\tilde B$ 同理。由于 $U_A$ 不触碰 B-辅助寄存器,$\Pi_B$ 与 $U_A$ 对易,且 $\Pi_B |0\rangle^{\otimes m_B} = |0\rangle^{\otimes m_B}$、$\langle0|^{\otimes m_B}\Pi_B = \langle0|^{\otimes m_B}$。于是辅助投影可以"穿过"互不触碰的酉算符逐层剥离: $$(\langle 0_B 0_A| \otimes I)\, U_B U_A\, (|0_B 0_A\rangle \otimes I) = \tilde B \cdot \tilde A,$$ 其中交叉项(例如 $\Pi_0^B U_B (I - \Pi_0^B)$ 与 $(I-\Pi_0^B)U_A\Pi_0^B$ 型乘积)恒为零,因为右端因子中 $\Pi_B$ 与非投影部分正交。接着估计误差:由 $\|\tilde B\| \le 1$、$\|A\| \le \alpha_A + \varepsilon_A$ 与分解 $$\alpha_B\tilde B \cdot \alpha_A\tilde A - BA = \alpha_B\tilde B\,(\alpha_A \tilde A - A) + (\alpha_B\tilde B - B)\,A,$$ 取范数得 $\|\alpha_A\alpha_B\, \tilde B\tilde A - BA\| \le \alpha_B\varepsilon_A + \varepsilon_B(\alpha_A + \varepsilon_A)$。$\blacksquare$ 注意:若 $U_A, U_B$ **共用**同一个辅助寄存器,则上述交叉项一般不为零,$U_BU_A$ 的左上块是 $\tilde B\tilde A$ 加上一个无法控制的 $*$-块乘积,结论不成立。这正是需要独立辅助寄存器的原因。 (linear-combination-property)= ### 性质三:线性组合 若 $U_A$、$U_B$ 分别是 $A$、$B$ 的块编码,则 $cU_A + dU_B$($c,d\in\mathbb C$)一般不是酉算符,因此**不能**直接作为块编码。正确的做法是再引入一个辅助比特做受控选择: **引理(线性组合)**:在性质二的记号下,对任意 $c, d \in \mathbb{C}$,存在 $cA + dB$ 的 $\big(|c|\alpha_A + |d|\alpha_B,\ 1 + m_A + m_B,\ |c|\varepsilon_A + |d|\varepsilon_B\big)$-块编码。 **验证**:新增一个辅助比特并制备叠加态 $a_0|0\rangle + a_1|1\rangle$,其中取 $$a_0 = \frac{c\,\alpha_A}{|c|\alpha_A + |d|\alpha_B},\qquad a_1 = \frac{d\,\alpha_B}{|c|\alpha_A + |d|\alpha_B}$$ (注意 $|a_0| + |a_1| = 1$,故该两分量叠加态可以用一个单比特旋转制备)。以该比特为控制执行"控 0 施加 $U_A$、控 1 施加 $U_B$"的受控酉 $\mathcal U = |0\rangle\langle0|\otimes U_A + |1\rangle\langle1|\otimes U_B$。把辅助投影 $\langle 0|\otimes\langle0_{m_A}0_{m_B}|$ 作用到 $\mathcal U$ 上,受控结构使两个分支分别贡献 $a_0\tilde A$ 与 $a_1\tilde B$,于是左上块为 $$a_0\tilde A + a_1\tilde B = \frac{cA + dB}{|c|\alpha_A + |d|\alpha_B} + \frac{c\,O(\varepsilon_A) + d\,O(\varepsilon_B)}{|c|\alpha_A + |d|\alpha_B},$$ 误差项按三角不等式不超过 $(|c|\varepsilon_A + |d|\varepsilon_B)/(|c|\alpha_A + |d|\alpha_B)$,换算回矩阵范数即得所证。$\blacksquare$ ### 性质四:伴随 $U_A^\dagger$ 是 $A^\dagger$ 的 $(\alpha, m, \varepsilon)$-块编码。 验证:对块编码不等式取伴随,注意 $(\langle0|\otimes I)U_A^\dagger(|0\rangle\otimes I) = \big[(\langle0|\otimes I)U_A(|0\rangle\otimes I)\big]^\dagger$,范数在取伴随下不变。 ## 块编码与量子线性代数 块编码的真正威力在于它为**量子线性代数**提供了统一接口。 (qsvt-matrix-functions)= ### 矩阵函数:QSVT 给定 $A$ 的块编码 $U_A$,QSVT 可以实现 $f(A)$ 的块编码,深度 $O(\deg(f_{\text{approx}}))$,其中 $f_{\text{approx}}$ 是 $f$ 的多项式逼近。可实现的 $f_{\text{approx}}$ 需满足幅值约束 $|f_{\text{approx}}(x)| \le 1$($x \in [-1,1]$,必要时先做归一化缩放)并具有确定的奇偶性;一般函数可拆为奇部与偶部分别实现后再线性组合。 **常用矩阵函数**(设已归一化到 $[-1,1]$ 上): | 函数 | 多项式次数 $d$ | 应用 | |------|-------------|------| | $A^{-1}$ | $O(\kappa \log(\kappa/\varepsilon))$ | 线性方程组 | | $e^{-iAt}$ | $O(t + \log(1/\varepsilon))$ | 时间演化 | | $\text{sign}(A)$ | $O(\kappa \log(1/\varepsilon))$ | 奇异值变换 | | $\Pi_{\le 0}(A)$ | $O(\kappa \log(1/\varepsilon))$ | 投影 | | $e^{-\beta A}$ | $O(\beta + \log(1/\varepsilon))$ | Gibbs 态 | 其中 $\kappa$ 为条件数。各次数的来源见 QSP 教程的"逼近精度"一节。 ### 量子行走:Qubitization 由 LCU 块编码可以构造量子行走酉算符 $$W = \text{SELECT}\cdot\big(2|\mathcal{A}\rangle\langle\mathcal{A}|\otimes I - I\big),$$ 其特征相位编码了 $A$ 的奇异值信息,详见 Qubitization 教程。 ### 量子相位估计(QPE) 对块编码或行走算符执行 QPE,可以读出 $A$ 的奇异值或特征值(精度 $\delta$ 需要 $O(1/\delta)$ 次调用)。 (block-encoding-applications)= ## 块编码在具体算法中的应用 ### 应用一:HHL 线性方程组求解 给定方程 $Ax = b$ 与 $A$ 的块编码 $U_A$(归一化常数 $\alpha$、条件数 $\kappa$)。 **步骤**: 1. 用 QSVT 构造多项式 $P$($|P(x)| \le 1$,$P(x) \approx 1/(\kappa x)$,$x \in [1/\kappa, 1]$,次数 $d = O(\kappa \log(\kappa/\varepsilon))$),将 QSP 相位插入量子行走,得到 $P(A/\alpha)$ 的块编码,也就是缩放后 $A^{-1}$ 的块编码; 2. 作用到 $|b\rangle$ 上,得到近似 $\propto A^{-1}|b\rangle = |x\rangle$ 的态(成功幅度由归一化因子决定,可用振幅放大补足); 3. 测量提取 $\langle x|M|x\rangle$ 等汇总信息。 **门数**:$O(\kappa \log(\kappa/\varepsilon) \cdot C_{U_A})$——对 $\kappa$ 线性依赖,优于原始 HHL 的 $O(\kappa^2)$。 ### 应用二:哈密顿量模拟 $H = \sum_k \alpha_k H_k$ 的 LCU 块编码归一化常数为 $\lambda = \|\vec{\alpha}\|_1$,单次调用代价 $O(L \cdot n + C_{\text{PREP}})$。 $e^{-iHt}$ 的 QSVT 实现需要逼近整函数 $x \mapsto e^{-i(\lambda t)x}$,次数 $d = O(\lambda t + \log(1/\varepsilon))$;当存在归一化常数更紧的块编码($\alpha$ 接近 $\|H\|$)时,相应地有 $d = O(\alpha t + \log(1/\varepsilon))$。 ### 应用三:量子 Gibbs 态制备 目标:制备 $\rho_\beta = e^{-\beta H}/Z$,$Z = \mathrm{tr}(e^{-\beta H})$。 1. 构造 $H$ 的块编码 $U_H$(归一化 $\alpha \ge \|H\|$); 2. 用 QSVT 实现 $e^{-\beta H/2}$ 的块编码,所需次数为 $O(\beta\alpha + \log(1/\varepsilon))$; 3. 作用到最大混合态或均匀叠加态上并做后选择,得到温度 $\beta$ 的 Gibbs 态。 ### 应用四:奇异值阈值 给定 $A$,保留奇异值大于阈值 $\tau$ 的分量,将其余置零: $$A_\tau = \sum_{\sigma_j \ge \tau} \sigma_j |u_j\rangle\langle v_j|$$ QSVT 实现阈值函数 $f(x) = x \cdot \mathbb{1}(x \ge \tau)$ 的多项式逼近(在 $x = \tau$ 附近做 $O(\tau)$ 宽度的平滑过渡),所需次数 $d = O\big(\tfrac{1}{\tau}\log(\tfrac{1}{\varepsilon})\big)$;若记 $\kappa = 1/\tau$,即 $d = O(\kappa\log(1/\varepsilon))$。 ## 块编码的资源估计 ### 量子比特开销 | 矩阵结构 | $L$(项数) | 辅助比特 $m_a$ | 总量子比特 | |----------|-----------|--------------|-----------| | 稀疏矩阵($s$-稀疏) | $O(ns)$ | $O(n + \log s)$ | $O(n + \log s)$ | | 泡利分解($L$ 项) | $L$ | $O(\log L)$ | $n + O(\log L)$ | | 稠密矩阵 | $O(N)$ | $O(n)$ | $O(2n)$ | | 局部哈密顿量 | $O(\text{poly}(n))$ | $O(\text{poly}\log n)$ | $O(n + \text{poly}\log n)$ | ### 门开销 对泡利分解的 $L$ 项哈密顿量: $$C_{U_A} = O(L \cdot n + \text{poly}(\log L))$$ $O(L \cdot n)$ 来自 SELECT($L$ 个泡利字符串,每个 $O(n)$ 门),$\text{poly}(\log L)$ 来自 PREP。 ## 当前进展与挑战 ### 理论进展 | 年份 | 贡献 | |------|------| | 2016 | Low & Chuang:块编码 + Qubitization | | 2019 | Gilyén et al.:QSVT 统一块编码上的多项式变换 | | 2022 | Camps & Van Beeumen:FABLE,稠密矩阵的快速近似块编码 | | 2023 | 多项工作:高效块编码的构造优化 | ### 实现挑战 1. **PREP 电路深度**:对一般系数 $\vec{\alpha}$,制备 $|\mathcal{A}\rangle$ 需要 $O(L)$ 门——可能成为瓶颈; 2. **SELECT 的串行性**:$L$ 个受控酉操作串行执行,总深度 $O(L)$; 3. **辅助比特数**:$m_a = O(\log L)$ 对大 $L$ 可能较高; 4. **数值精度**:PREP 中的旋转角度需高精度,门错误会累积。 ## 总结 块编码是量子线性代数的基石原语。它将"在量子电路上执行非酉矩阵"这一困难问题,归约为"构造更大的酉操作"的可模块化问题:LCU 给出最通用的构造,乘积与线性组合性质保证块编码在代数运算下封闭,QSVT 与 Qubitization 则在块编码之上实现任意多项式的矩阵函数。块编码由此为矩阵求逆、哈密顿量模拟、Gibbs 态制备等核心量子算法提供了统一的接口。 ## 练习题 **练习 1【块编码的定义】**(→ [块编码的定义](#block-encoding-definition)) 1. 写出 $(\alpha, m, \varepsilon)$-块编码的定义不等式,并分别说明 $\alpha$、$m$、$\varepsilon$ 的含义。 2. 由 $\|(\langle 0|^{\otimes m} \otimes I)\,U_A\,(|0\rangle^{\otimes m} \otimes I)\| \le \|U_A\| = 1$ 与三角不等式推导 $\|A\| \le \alpha + \varepsilon$,并据此说明 $\varepsilon = 0$ 时必有 $\alpha \ge \|A\|$。 > 提示:把 $A$ 写成 $\big(A - \alpha(\langle 0|^{\otimes m} \otimes I)U_A(|0\rangle^{\otimes m} \otimes I)\big) + \alpha(\langle 0|^{\otimes m} \otimes I)U_A(|0\rangle^{\otimes m} \otimes I)$ 后分段估计范数。 **练习 2【LCU 构造】**(→ [方法一:LCU(线性组合酉操作)](#lcu-construction)) 1. 对 $A = 3I + 4X$(单量子比特):计算 $\lambda$ 与辅助比特数 $m_a$,写出 PREP 制备的态与 SELECT 算符,并验证左上块等于 $A/7$。 2. 复现正文的推导 $(\langle\mathcal A| \otimes I)\,\mathrm{SELECT}\,(|\mathcal A\rangle \otimes I) = \frac{1}{\lambda}\sum_k \alpha_k U_k$,说明 $\mathrm{sgn}(\alpha_k)$ 为何必须吸收进受控酉,以及若不吸收会得到哪个矩阵的块编码。 > 提示:$\langle\mathcal A|k\rangle = \sqrt{|\alpha_k|/\lambda}$;不吸收符号时左上块变为 $\frac{1}{\lambda}\sum_k |\alpha_k|\,U_k$。 **练习 3【Pauli 分解构造】**(→ [方法二:Pauli 分解](#pauli-decomposition)) 1. 对 $H = 2\,Z\otimes I - 3\,I\otimes X + 5\,X\otimes Y$:计算 $\lambda$、项数 $L$ 与辅助比特数 $m_a$,并写出 SELECT 算符与 PREP 制备的态。 2. 说明受控泡利字符串 $P = \sigma_1\otimes\cdots\otimes\sigma_n$ 为何可用 $O(n)$ 个单比特门与 CNOT 实现,并据此给出 SELECT 的总门数估计。 > 提示:先用单比特基变换把每个 $\sigma_i$ 共轭到 $Z$,受控的 $Z^{\otimes n}$ 再用 CNOT 链与受控相位实现。 **练习 4【对角矩阵的直接构造】**(→ [方法三:直接构造(对角矩阵)](#diagonal-block-encoding)) 1. 对 $D = \mathrm{diag}(1, -1)$、$\alpha = 1$:计算两个旋转角 $\theta_j = \arccos(d_j/\alpha)$,写出对应的两个 $R_y$ 旋转矩阵,并验证左上块等于 $D$。 2. 解释为什么必须要求 $\alpha \ge \max_j |d_j|$,以及为什么门数 $O(N)$($N = 2^n$)使该构造只对小系统或结构化(稀疏、平滑)的对角矩阵实用。 > 提示:$\arccos$ 的定义域是 $[-1, 1]$,且 $\langle 0|R_y(2\theta)|0\rangle = \cos\theta$。 **练习 5【乘积性质】**(→ [性质二:乘积](#product-property)) 1. 设 $U_A$、$U_B$ 分别是 $A$、$B$ 的 $(\alpha_A, m_A, 0)$-与 $(\alpha_B, m_B, 0)$-块编码,且辅助寄存器互不重叠。写出 $U_B U_A$ 作为 $BA$ 的块编码的完整参数三元组。 2. 在 $\varepsilon_A, \varepsilon_B \ne 0$ 时,利用分解 $\alpha_B\tilde B\,\alpha_A\tilde A - BA = \alpha_B\tilde B\,(\alpha_A \tilde A - A) + (\alpha_B\tilde B - B)\,A$ 推导误差界 $\alpha_B\varepsilon_A + \alpha_A\varepsilon_B + \varepsilon_A\varepsilon_B$,并说明 $U_A$、$U_B$ 共用辅助寄存器时该结论为何失效。 > 提示:用 $\|\tilde B\| \le 1$ 与 $\|A\| \le \alpha_A + \varepsilon_A$;共用寄存器时左上块多出不可控的 $*$-块交叉项。 **练习 6【线性组合性质】**(→ [性质三:线性组合](#linear-combination-property)) 1. 设 $U_A$、$U_B$ 分别是 $A$、$B$ 的 $(2, m, 0)$-与 $(3, m, 0)$-块编码。计算 $A + B$ 与 $A - \mathrm{i}B$ 的块编码的归一化常数与辅助比特总数,并写出 $A + B$ 情形的振幅 $a_0$、$a_1$。 2. 解释 $cU_A + dU_B$ 为何不能直接作为块编码,并描述附加辅助比特上"控 0 施加 $U_A$、控 1 施加 $U_B$"的受控酉如何解决这一问题。 > 提示:$|a_0| + |a_1| = 1$,故叠加态可用单个旋转制备;受控结构使两个分支分别贡献 $a_0\tilde A$ 与 $a_1\tilde B$。 **练习 7【块编码与 QSVT 矩阵函数】**(→ [矩阵函数:QSVT](#qsvt-matrix-functions)) 1. 列出 QSVT 可实现多项式需满足的两条约束,并写出 $A^{-1}$、$\mathrm{sign}(A)$ 与 $e^{-\beta A}$ 的次数量级。 2. 目标 $f(x) = e^{-i\tau x}$ 无确定奇偶性:说明应如何拆分为奇部与偶部分别实现后再线性组合,并解释实现 $f(A)$ 之前为何常需先做归一化缩放。 > 提示:$e^{-i\tau x} = \cos(\tau x) - i\sin(\tau x)$;缩放使 $A/\alpha$ 的谱落入 $[-1, 1]$,从而满足幅值约束。 **练习 8【块编码的典型应用】**(→ [块编码在具体算法中的应用](#block-encoding-applications)) 1. 按顺序列出 QSVT-HHL 的三个步骤,写出其目标多项式与门数 $O(\kappa\log(\kappa/\varepsilon)\cdot C_{U_A})$,并与原始 HHL 的 $O(\kappa^2)$ 条件数依赖比较。 2. 取 $\kappa = 10^2$、$\varepsilon = 10^{-3}$、$\lambda t = \beta\alpha = 50$,按自然对数粗估矩阵求逆、时间演化与 Gibbs 态制备的多项式次数,并指出哪些应用的次数不依赖条件数。 > 提示:$\ln 10^5 \approx 11.5$、$\ln 10^3 \approx 6.9$,故求逆约 $10^3$ 次,两个模拟型目标约 $57$ 次。 --- **参考文献:** 1. Low, G. H., & Chuang, I. L. (2016). *Hamiltonian simulation by qubitization.* arXiv:1610.06546. 2. Gilyén, A., Su, Y., Low, G. H., & Wiebe, N. (2019). *Quantum singular value transformation and beyond.* STOC 2019. 3. Camps, D., & Van Beeumen, R. (2022). *FABLE: Fast Approximate BLock Encodings.* arXiv:2205.00099. 4. Childs, A. M., Kothari, R., & Somma, R. D. (2017). *Quantum algorithm for systems of linear equations with exponentially improved dependence on precision.* SIAM Journal on Computing, 46(6), 1920-1950. --- > 返回目录:[量子计算算法教程系列](https://chenzhaoyun.com/index.php/archives/54/)