量子 ODE 求解详解:线性、非线性与最新进展¶
量子常微分方程(ordinary differential equation, ODE)求解是量子科学计算的核心方向之一。它的基本格局可以概括为一句话:线性 ODE 已经有一整套成熟的量子算法——哈密顿量模拟、Schrödingerization、以及把时间离散化成线性方程组后调用 HHL/QSVT——而非线性 ODE 必须先线性化(最常用的是 Carleman 线性化),再回到线性工具箱。本文按"问题定义—线性方法—非线性方法—复杂度对比—具体例子"的顺序展开,对每一条推导链都逐步给出所用恒等式、代入过程与化简结果;记号与本系列 HHL 教程保持一致(条件数记 \(\kappa\),酉演化采用 \(e^{iHt}\) 约定,\(n=\lceil\log_2 N\rceil\) 为量子比特数)。
问题定义¶
一般 ODE¶
我们考虑初值问题(initial value problem)
其中 \(f:\mathbb{R}^d\times[0,T]\to\mathbb{R}^d\) 关于两个变量均 Lipschitz 连续,此时解局部存在且唯一。按照右端对 \(\mathbf{u}\) 的依赖方式,我们区分两类:
线性 ODE:\(\dot{\mathbf{u}} = A(t)\mathbf{u} + \mathbf{b}(t)\),其中 \(A(t)\in\mathbb{C}^{d\times d}\),\(\mathbf{b}(t)\in\mathbb{C}^d\);
非线性 ODE:\(f(\mathbf{u},t)\) 含 \(\mathbf{u}\) 的二次或更高次项,例如 Lotka–Volterra 方程。
量子算法的输出约定与 HHL 算法相同:我们不要求读出全部 \(d\) 个分量(完整读出需要 \(O(d)\) 次测量,会抵消量子加速),而是制备与解成比例的量子态 \(|u(T)\rangle \propto \mathbf{u}(T)\),或估计 \(\langle u(T)|M|u(T)\rangle\) 一类的全局泛函。
经典方法¶
我们先回顾经典格式的精度规律,因为它们决定了与量子算法对比的基线。以 \(p\) 阶单步法为例,局部截断误差为 \(O(h^{p+1})\),把 \([0,T]\) 分成 \(N_{\mathrm{step}} = T/h\) 步后误差累积为全局误差 \(O(h^p)\),因此达到精度 \(\varepsilon\) 需要
步。对显式与隐式 Euler(\(p=1\))这给出 \(O(\varepsilon^{-1})\) 步;对四阶 Runge–Kutta(\(p=4\))给出 \(O(\varepsilon^{-1/4})\) 步;Adams 类多步法同理得到 \(O(\varepsilon^{-1/p})\)。每步的主要代价是对一般稠密右端 \(f\) 的 \(O(d)\) 次分量求值,因此总代价为 \(O(d\,T\,\varepsilon^{-1/p})\)。信息基复杂度(information-based complexity)的经典结果表明,对仅假设 Lipschitz 连续的一般右端,达到全局精度 \(\varepsilon\) 需要 \(\Theta(1/\varepsilon)\) 次右端求值,因此一阶格式的步数已是阶数最优;更高的阶数需要相应的高阶光滑性假设。
线性 ODE 的量子求解¶
情况一:常系数线性 ODE¶
我们先看最简单的 \(\dot{\mathbf{u}} = A\mathbf{u}\),其中 \(A\) 为常数矩阵。直接对矩阵指数求导(用级数定义逐项验证,\(\frac{d}{dt}A^k t^k/k! = A\cdot A^{k-1}t^{k-1}/(k-1)!\),求和后两项相消)可知解为
量子实现的关键在于 \(e^{At}\) 是否为酉算符。当且仅当 \(A\) 反 Hermitian(即 \(A = iH\)、\(H=H^\dagger\))时,\(e^{At} = e^{iHt}\) 是酉演化,可直接用哈密顿量模拟(Trotter–Suzuki、截断 Taylor 级数、QSVT 等)实现,这与本系列 HHL 教程中受控酉 \(U = e^{iAt}\) 的约定一致。对一般的 \(A\)(例如耗散系统,\(A\) 的谱在左半平面),\(e^{At}\) 是收缩而非酉,需要后文的三类技术:Schrödingerization(情况二)、哈密顿量模拟的线性组合(情况三)或线性方程组方法(情况四)。
在块编码(block-encoding)模型下,设 \(A\) 的块编码代价为 \(C_U\),则以精度 \(\varepsilon\) 在归一化态上实现非酉变换 \(e^{At}\) 的调用次数为
另需付出与范数放大 \(e^{\|A\|t}\) 相关的后选择或振幅放大代价。这一 \(\|A\|t\) 的线性依赖是最优哈密顿量模拟复杂度直接移植的结果。
情况二:时变线性 ODE¶
当 \(A(t)\) 随时间变化时,\(\exp\!\big(\int_0^t A(s)\,ds\big)\) 一般不再是解,因为不同时刻的 \(A\) 不可交换。记方程的基本解(fundamental solution)为矩阵 \(\Phi(t)\),它满足 \(\dot\Phi = A(t)\Phi\)、\(\Phi(0)=I\),则 \(\mathbf{u}(t)=\Phi(t)\mathbf{u}_0\)。处理时变性的标准方式有两种。
第一种方式是 Magnus 展开(Magnus expansion)。我们做拟设 \(\Phi(t) = e^{\Omega(t)}\) 并推导 \(\Omega\) 满足的方程。对恒等式(可由 \(e^{\Omega}=\sum_n\Omega^n/n!\) 逐项求导并将 \(\Omega'\) 依次穿过各因子后重新求和得到)
两边右乘 \(e^{-\Omega}\),得
这是一个关于 \(\Omega\) 的隐式方程,我们按 \(t\) 的幂次迭代求解:零阶给出 \(\Omega' = A\),即 \(\Omega_1(t)=\int_0^t A(\tau)\,d\tau\)(量级 \(O(t)\));把 \(\Omega = \Omega_1 + \Omega_2+\cdots\) 代回上式,交叉项 \(\frac12[\Omega_1,\Omega_1'] = O(t^2)\) 必须被 \(\Omega_2\) 抵消,于是
综合起来,到二阶为止有
\([A(s),A(\tau)]=0\) 时对易子项消失,退化回常系数情形;该项就是"时变性"的全部低阶修正。截断到含 \(O(t^p)\) 项的 Magnus 展开给出 \(p\) 阶方法(局部误差 \(O(t^{p+1})\)),每一项指数因子可再由 Trotter–Suzuki 分解实现。
第二种方式是 Schrödingerization,它把 \(\dot{\mathbf{u}} = A\mathbf{u}\)(\(A\) 任意)嵌入一个增广的薛定谔方程,我们完整推导其构造。先把 \(A\) 分解为 Hermitian 部分与反 Hermitian 部分:
其中 \(H_R = H_R^\dagger\)、\(H_I = H_I^\dagger\)。引入辅助变量 \(\eta\in\mathbb{R}\),其上的动量算符 \(P=-i\,\partial_\eta\) 是自伴的,在动量基 \(\{|p\rangle\}\) 下满足 \(P|p\rangle = p|p\rangle\)。定义增广 Hilbert 空间 \(\mathbb{C}^d\otimes L^2(\mathbb{R})\) 上的增广哈密顿量
由于 \(H_R\otimes P\) 与 \(H_I\otimes I\) 的每个直积因子都是 Hermitian 的,\(\mathcal K\) 是 Hermitian 的,因此演化 \(e^{-i\mathcal K t}\) 是酉的,可用标准哈密顿量模拟实现。初值取在半直线上的指数剖面
其中 \(\Theta\) 为阶跃函数。下面的命题给出解的恢复方式。
命题(Schrödingerization 的精确性,交换情形):若 \([H_R,H_I]=0\),则增广薛定谔方程 \(i\partial_t\Phi = \mathcal K\Phi\) 的解满足
证明:把 \(\mathcal K\) 写到 \(\eta\) 表示(\(P\mapsto -i\partial_\eta\)),方程 \(i\partial_t\Phi = H_RP\Phi - H_I\Phi\) 两边乘 \(1/i=-i\) 并展开 \(P\),化为输运方程
这是速度为 \(-H_R\) 的输运叠加一个相位旋转,交换情形下其解为 \(\Phi(t,\eta) = e^{iH_I t}\,\Phi_0(\eta - H_R t)\)(代入验证:\(\partial_t\) 给出 \(iH_I\) 项加 \(-H_R\partial_\eta\) 项,与右端逐项吻合)。于是
支撑条件 \(\Theta(\eta-H_Rt)\) 自动界定了恢复区域。\(\blacksquare\)
两个极端例子可以直接核对构造无误。其一,\(A=i\omega\) 为纯虚标量(\(H_R=0\),\(H_I=\omega\)):增广哈密顿量只剩 \(\mathcal K = -\omega\,I\otimes I\),方程化为 \(\partial_t\Phi = i\omega\Phi\),解为 \(\Phi = e^{i\omega t}\mathbf u_0e^{-\eta}\Theta\),恢复量 \(e^\eta\Phi = e^{i\omega t}\mathbf u_0\) 正是酉演化。其二,\(A=-\gamma\) 为耗散标量(\(H_R=-\gamma\),\(H_I=0\)):输运速度为 \(-H_R=+\gamma\),按命题的解 \(\Phi(t,\eta)=\Phi_0(\eta-\!H_Rt)=\mathbf u_0e^{-(\eta+\gamma t)}\Theta(\eta+\gamma t)\),恢复量 \(e^\eta\Phi = e^{-\gamma t}\mathbf u_0\) 正确给出衰减因子,且范数守恒 \(\|\Phi(t)\|^2 = \|\mathbf u_0\|^2\int_0^\infty e^{-2u}du = \tfrac12\|\mathbf u_0\|^2\) 与酉性一致。
对非交换情形,我们可以对生成元 \(L:=-H_R\partial_\eta + iH_I\) 的幂级数做归纳:由乘积法则,\(L\big[(e^{-\eta}\Theta)w\big]\) 在区域内部等于 \(e^{-\eta}\Theta\,(H_R+iH_I)w = e^{-\eta}\Theta\,Aw\),而 \(\partial_\eta\Theta\) 产生的 \(\delta(\eta)\) 项沿特征线传播、只影响支撑边界;逐项归纳得 \(L^n\Phi_0\) 在内部恒等于 \(e^{-\eta}A^n\mathbf u_0\),因此 \(e^\eta\Phi(t,\eta) = e^{At}\mathbf u_0\) 在未被边界扰动波及的区域上精确成立(严格表述见 Jin–Liu–Yu [3])。注意不同文献中 \(P\) 与其符号的约定会交换两个直积项的位置,本文采用上述可逐项验算的约定。
从增广态中提取归一化解 \(|u(t)\rangle\) 的成功概率正比于 \(\|\mathbf u(t)\|^2/\|\mathbf u_0\|^2\):解指数衰减时需要振幅放大,代价约为衰减因子本身;解范数有界时后选择以常数概率成功。整体复杂度为
其中 \(\|A\|_{\max}\) 为矩阵元最大模。
情况三:非齐次线性 ODE¶
对 \(\dot{\mathbf{u}} = A\mathbf{u} + \mathbf{b}(t)\)(\(\mathbf b(t)\neq 0\),\(A\) 常数),我们用常数变易法(variation of constants)推导 Duhamel 公式。做拟设 \(\mathbf u(t) = e^{At}\mathbf v(t)\),代入方程:
从 \(0\) 到 \(t\) 积分并注意 \(\mathbf v(0)=\mathbf u_0\),得 \(\mathbf v(t) = \mathbf u_0 + \int_0^t e^{-As}\mathbf b(s)\,ds\),代回拟设并用 \(e^{At}e^{-As} = e^{A(t-s)}\)(常数矩阵可交换),即得 Duhamel 公式:
量子实现的关键是把卷积积分离散化。我们把 \([0,T]\) 分成步长 \(h\) 的时间片,并在每片上推导精确的单步公式。定义 \(\mathbf w(s) := e^{-A(t_j+s)}\mathbf u(t_j+s)\),求导得 \(\mathbf w'(s) = e^{-A(t_j+s)}(-A\mathbf u + \dot{\mathbf u}) = e^{-A(t_j+s)}\mathbf b(t_j+s)\);从 \(0\) 到 \(h\) 积分、再左乘 \(e^{A(t_j+h)}\),并用常数 \(A\) 下的因子分解 \(e^{A(h-s)} = e^{Ah}e^{-As}\),得到
被积的积分可用 \(p\) 阶求积(即量子求积,quantum quadrature)近似为 \(\sum_l w_l\,e^{-As_l}\mathbf b(t_j+s_l)\),误差 \(O(h^{p+1})\);于是每步的作用是"一个酉演化块 \(e^{iHh}\) 的线性组合"。An–Liu–Lin 的 LCHS(linear combination of Hamiltonian simulation)框架 [4] 恰好把 \(e^{At}\) 严格分解为一族可模拟的酉演化 \(e^{-i\widetilde H(\alpha)t}\)(\(\widetilde H(\alpha)\) 由 \(A\) 的 Hermitian 与反 Hermitian 部分组装)关于实参数 \(\alpha\) 的加权积分,积分用可积权重离散求积,从而使非齐次项与态制备的总代价从早期方法的 \(O(T^2/\varepsilon)\) 降至
情况四:离散化为线性方程组¶
早期量子 ODE 算法(Lloyd 等人的方案及其后 Clader 等人的发展)走的是另一条路:把 \(\dot{\mathbf u} = A(t)\mathbf u + \mathbf b(t)\) 整体离散化为一个线性方程组,再调用 HHL/QSVT。我们把这条推导链逐步展开。
第一步(时间网格与积分形式)。取网格 \(t_j = jh\)(\(j=0,\dots,M\),\(t_M = T\)),对方程在 \([t_j,t_{j+1}]\) 上积分:
第二步(梯形离散化)。对光滑被积函数 \(g\),梯形法则的误差为 \(\int_{t_j}^{t_{j+1}}g = \frac h2\big(g(t_j)+g(t_{j+1})\big) + O(h^3)\),因此
其中 \(A_j := A(t_j)\)。这是隐式格式(梯形格式是 A 稳定的),全局误差 \(O(h^2)\),故取 \(M = O(T/\sqrt\varepsilon)\) 即可达精度 \(\varepsilon\)。
第三步(堆叠成线性方程组)。把未知量堆叠为 \(\mathbf U = (\mathbf u_1;\dots;\mathbf u_M)\in\mathbb C^{Md}\),已知量移到右端,得到块下双对角线性系统
矩阵 \(L\) 的对角块为 \(I-\tfrac h2A_{j+1}\)、次对角块为 \(-(I+\tfrac h2 A_j)\)。\(L\) 是稀疏的(每行至多 \(2s\) 个非零元,\(s\) 为 \(A(t)\) 的稀疏度),维数 \(Md\) 只需 \(\log_2(Md)\) 个量子比特编码——这是对维度 \(d\) 的指数内存优势的来源。
第四步(条件数分析)。\(L\) 并不接近单位阵(其次对角块是 \(-I\) 量级的),其条件数需要单独估计。我们以标量常系数 \(A = a<0\)(稳定情形)、\(\mathbf b=0\) 为例做显式计算:此时 \(L\) 是下双对角矩阵,\(L_{jj} = 1-\tfrac{ha}2\)、\(L_{j,j-1} = -(1+\tfrac{ha}2)\),其逆的元素为 \((L^{-1})_{ji} = \rho^{\,j-i}/(1-\tfrac{ha}2)\),其中
逆矩阵的列范数为几何级数之和 \(\sum_{j\ge i}|\rho|^{j-i}\big/\big(1-\tfrac{ha}{2}\big)\);利用 \(1-\rho = \frac{-ha}{1-ha/2}\),该和恰为 \(\tfrac{1}{|a|h} = \tfrac{M}{|a|T}\)。又 \(\|L\|\le 2\),故
而对不稳定情形(\(a>0\))有 \(|\rho|^M\approx e^{aT}\),\(\kappa(L)\) 最高增长到 \(e^{\Theta(\|A\|T)}\)。这告诉我们:朴素堆叠系统的条件数随步数线性增长,不稳定时甚至指数增长。针对后者的标准补救是重缩放(rescaling):令 \(\mathbf u_j = \gamma_j\mathbf w_j\)(\(\gamma_j = e^{\lambda t_j}\)、\(\lambda\ge\) 谱增长上界),代入第二步的方程并除以 \(\gamma_{j+1}\),次对角块获得因子 \(\gamma_j/\gamma_{j+1}=e^{-\lambda h}<1\),等效传播子从 \(\rho\approx e^{ah}\) 变为 \(\rho' \approx e^{(a-\lambda)h}\le 1\),指数增长被压平;而稳定情形的 \(\Theta(M)\) 因子来自"小右端(\(O(h)\) 量级)映射到 \(O(1)\) 解"的固有范数比,是推动后续 LCHS/历史态方法取代朴素堆叠的动因之一。
第五步(量子求解与编码、归一化因子)。对 \(L\mathbf U = \mathbf d\) 调用 QSVT 线性求解器,得到历史态(history state)
这里出现了量子 ODE 求解特有的编码问题:线性求解器输出的是归一化态,各时间片按自身范数加权。测量时间寄存器得到 \(|M\rangle\)(即末时刻)的概率为
成功后系统寄存器坍缩为 \(|\mathbf u(T)\rangle/\|\mathbf u(T)\|\)——相对分量正确,但绝对范数 \(\|\mathbf u(T)\|\) 尚未获得。范数信息可以用两种方式补齐。其一是经典上界:由递推 \(\|\mathbf u_{j+1}\|\le(1+h\|A\|)\|\mathbf u_j\| + h\max\|\mathbf b\|\) 与归纳法,并利用 \(1+x\le e^x\) 和几何级数求和 \(\sum_{i=0}^{j-1}(1+h\|A\|)^{j-1-i}hb\le \frac{b}{\|A\|}\big(e^{\|A\|t_j}-1\big)\),得到离散 Grönwall 不等式
它给出 \(\mathcal G\) 与 \(P(M)\) 的先验多项式界,可用于判定后选择代价。其二是量子估计:\(\|\mathbf u(T)\|^2 = \mathbf d^\dagger (L^{-1})^\dagger \Pi_M L^{-1}\mathbf d\)(\(\Pi_M\) 为末时间片投影)可用重叠估计以 \(\mathrm{polylog}\) 代价近似。进一步地,对解范数随时间剧烈变化的系统,可做代换 \(\mathbf u(t) = e^{\lambda t}\mathbf w(t)\):代入原方程得
选择 \(\lambda\) 落在 \(A\) 的谱实部区间内即可把 \(\|\mathbf w(t)\|\) 的动态范围压平,使各时间片权重接近、后选择概率保持在多项式水平——这正是后文 Carleman 算法中重缩放技术的同一思想。
非线性 ODE 的量子求解¶
非线性 ODE 是量子科学计算的核心挑战:量子力学中的演化是线性的,不能直接模拟非线性动力学。现有方法可以分为四大类。
方法一:Carleman 线性化¶
Carleman 线性化(Carleman linearization)由 Liu–Kolda–Sun 引入量子算法领域 [1],并由 Costa–Jordan–Ostrander 加以改进 [2]。核心思想是:把非线性 ODE 通过引入高阶单项式新变量化为无穷维线性 ODE,再截断到有限维。
我们先对标量二次 ODE 完整推导。设 \(\dot u = a u + b u^2 + c\),引入 \(v_k := u^k\)(\(k=1,2,\dots\))。由链式法则 \(\dot v_k = k u^{k-1}\dot u\),逐阶代入:
最后一步用了单项式乘法 \(v_{k-1}v_1 = v_k\)、\(v_{k-1}v_2 = v_{k+1}\)。这是一个有限带宽的无穷维线性 ODE:\(v_k\) 只与 \(v_{k-1},v_k,v_{k+1}\) 耦合。向量情形的推导遵循同样的 Leibniz 规则:对 \(\dot{\mathbf u} = A\mathbf u + B(\mathbf u,\mathbf u) + \mathbf c\)(\(B\) 双线性)与 \(\mathbf w_k := \mathbf u^{\otimes k}\),对 \(k\) 个因子中每一个槽位求导并替换该槽位的 \(\dot{\mathbf u}\),线性项保持次数 \(k\)(给出 \(\sum_{j} I^{\otimes(j-1)}\otimes A\otimes I^{\otimes(k-j)}\) 作用在 \(\mathbf w_k\) 上)、二次项升到 \(k+1\) 次、常数项降到 \(k-1\) 次,故
即截断前系统是关于阶数指标 \(k\) 的块三对角(标量情形即三对角)线性系统。截断到 \(K\) 阶(丢弃含 \(\mathbf w_{K+1}\) 的项)得到有限维线性 ODE \(\dot{\mathbf V} = M_K\mathbf V + \mathbf c\),随后即可用情况二至四的任何线性方法处理。
截断何时精确?关键在于解的一致有界性。设线性部分耗散、非线性有界:\(\mathrm{Re}\langle\mathbf u,A\mathbf u\rangle\le-\mu\|\mathbf u\|^2\)、\(\|B(\mathbf u,\mathbf u)\|\le\beta\|\mathbf u\|^2\)、\(\|\mathbf c\| = c\),对 \(g(t):=\|\mathbf u(t)\|\) 求导并用三角不等式得
与标量方程 \(y' = -\mu y + \beta y^2 + c\) 比较:其平衡点为 \(y^{*}_{\pm} = \frac{\mu \pm \sqrt{\mu^2-4\beta c}}{2\beta}\)(要求 \(\mu^2\ge4\beta c\),否则右端恒正、解无界),向量场在 \(y<y_-^*\) 时为正、在 \(y\in(y_-^*,y_+^*)\) 时为负,故由比较原理
于是 \(\|\mathbf w_{K+1}\| = \|\mathbf u\|^{K+1}\le R^{K+1}\) 随 \(K\) 几何衰减(\(R:=\sup_t g(t)\)),截断误差要降到 \(\varepsilon\) 只需
耗散占优时(\(\mu^2>4\beta c\) 且初值小)\(R\) 可以通过整体缩放压小:令 \(\mathbf u = \gamma\tilde{\mathbf u}\),方程变为 \(\dot{\tilde{\mathbf u}} = A\tilde{\mathbf u} + \gamma\beta\,B(\tilde{\mathbf u},\tilde{\mathbf u}) + \mathbf c/\gamma\),有效非线性强度从 \(\beta\) 降为 \(\gamma\beta\),这就是 Costa–Jordan–Ostrander 重缩放技术的机制 [2]。在该机制下他们的算法复杂度为
其中 \(T\) 为模拟时间、\(\kappa\) 为(截断后)Carleman 矩阵的条件数。方法的局限也由同一分析暴露:非线性占优(\(R\ge1\))时所需截断阶数 \(K\) 随模拟时间增长,可能出现指数爆炸;\(\kappa\) 本身也可能指数增长;且方法原则上只适用于多项式非线性(一般非线性需先做多项式逼近,把逼近误差计入 \(\varepsilon\))。2023 年的改进 [2] 正是针对这三点:更高阶的 Carleman 截断把 \(K\) 从指数级压到多项式级、重缩放控制条件数、多项式逼近扩展到非多项式右端。
方法二:线性化 + 黑盒 ODE 求解¶
An–Liu–Lin [4] 提出把非线性右端逐点改写为参数化线性形式。由微积分基本定理(沿从 \(0\) 到 \(\mathbf u\) 的线段积分梯度),
其中用到 \(\frac{d}{ds}f(s\mathbf u) = \nabla f(s\mathbf u)\cdot\mathbf u\)。当 \(f(\mathbf 0)=0\) 时非线性 ODE 严格等价于 \(\dot{\mathbf u} = A(\mathbf u)\mathbf u\);若 \(f(\mathbf 0)\neq 0\),可增广一个恒等于 \(1\) 的分量 \(\tilde{\mathbf u} = (\mathbf u;1)\) 把常数项并入线性部分。在每个时间片上,我们用当前估计的 \(\mathbf u\) 冻结出 \(A(\mathbf u)\),用量子线性求解器(QSVT)局部求解线性系统,再用经典外环更新参数。由于 \(A(\mathbf u)\) 依赖 \(\mathbf u\),这是一个量子–经典混合的迭代格式,复杂度为 \(O(\mathrm{poly}(n)\cdot T/\varepsilon^{1/p})\)(\(p\) 为积分阶数),其优势是原则上不限于多项式非线性。
方法三:Schrödingerization + 线性化¶
Jin–Liu–Yu 的框架 [3] 把前两种思想串联起来:先用 Carleman(或 Taylor)线性化把非线性 ODE 化为高维线性 ODE,再对线性系统做 Schrödingerization,最后用标准量子电路模拟增广哈密顿量。以 \(\dot u = -u+u^2\) 为例,我们逐步写出完整流程。
第一步(Carleman 化):这是方法一中标量情形取 \(a=-1\)、\(b=1\)、\(c=0\) 的特例,递推为 \(\dot v_k = -k v_k + k v_{k+1}\),堆叠成 \(\dot{\mathbf V} = M_K\mathbf V\),其中 \(M_K\) 是对角元 \(-1,-2,\dots,-K\)、上次对角元 \(1,2,\dots,K-1\) 的双对角矩阵。
第二步(Schrödingerization):按情况二中推导的构造,计算 \(H_R = (M_K+M_K^\dagger)/2\)(由对角元 \(-k\) 与上下侧对角元 \(k/2\) 组成的对称三对角阵)、\(H_I = (M_K-M_K^\dagger)/(2i)\)(由反对称的侧对角部分 \(\mp ik/2\) 构成),并组装增广哈密顿量
按情况二的命题,它在初值 \(\Phi(0,\eta) = \mathbf V(0)e^{-\eta}\Theta(\eta)\) 下以 \(e^\eta\Phi(t,\eta)\) 恢复 \(e^{M_Kt}\mathbf V(0)\)。
第三步(量子模拟):\(\mathcal K\) Hermitian 且稀疏(\(M_K\) 双对角 ⟹ \(\mathcal K\) 的每行非零元数为常数),用 Trotter 或 QSVT 实现 \(e^{-i\mathcal Kt}\)。
第四步(后选择与测量):在辅助维度的光滑区域上后选择,得到与 \(\mathbf V(T)\) 成比例的态,其前 \(d\) 个分量即原解;高阶分量携带的是截断信息,读出时丢弃。
方法四:量子 Fourier ODE 求解器¶
最近的工作(arXiv:2504.10218)利用量子傅里叶变换在频率空间中求解 ODE,其原理可用谐波平衡(harmonic balance)严格表述。设解是周期为 \(T_p\) 的周期函数(极限环、周期轨道均属此类),展开 \(\mathbf u(t) = \sum_k \hat{\mathbf u}_k e^{i\omega_k t}\)(\(\omega_k = 2\pi k/T_p\)),右端同样展开 \(\mathbf b(t) = \sum_k\hat{\mathbf b}_k e^{i\omega_k t}\)。对常系数线性 ODE \(\dot{\mathbf u} = A\mathbf u + \mathbf b(t)\),逐项代入:左边 \(\frac{d}{dt}\) 对第 \(k\) 个模式给出 \(i\omega_k\hat{\mathbf u}_k e^{i\omega_k t}\),与右端同模式的系数相等,得
于是每个频率模式是一个独立的 \(d\) 维线性方程组,可堆叠为一个块对角系统交给 HHL/QSVT 求解,再用逆 QFT 回到时域。该方法对周期解特别高效(无需时间网格,复杂度约 \(O(\mathrm{polylog})\) 每模式),其代价是只适用于解具有已知周期或可逼近为周期的问题。
各方法复杂度对比¶
下表汇总各方法的关键指标,其中 \(n\) 为编码维数所需的量子比特数、\(n_p\) 为辅助维度所需比特数、\(K\) 为 Carleman 截断阶数、\(C_U\) 为相应矩阵块编码的单次代价、\(T\) 为模拟时间。
方法 |
ODE 类型 |
量子比特 |
门数 |
后选择 |
精度 |
|---|---|---|---|---|---|
哈密顿量模拟 |
线性(反 Hermitian \(A\)) |
\(n\) |
\(O((|A|T+\log(1/\varepsilon))\,C_U)\) |
无 |
\(\varepsilon\) |
Schrödingerization |
线性(任意) |
\(n+n_p\) |
\(O(|A|_{\max}T\cdot\mathrm{polylog}(1/\varepsilon)\,C_U)\) |
有 |
\(\varepsilon\) |
线性方程组(HHL 类) |
线性(任意) |
\(\log M + n\) |
\(O(\kappa(L)\,\mathrm{poly}(n,\log M))\) |
无 |
\(\varepsilon\) |
Carleman + 线性求解 |
多项式非线性 |
\(O(nK)\) |
\(O(\mathrm{poly}(nK,\kappa)\,T^{1+o(1)})\) |
有 |
\(\varepsilon\) |
线性化 + 黑盒求解 |
一般非线性 |
\(n\) |
\(O(\mathrm{poly}(n)\,T/\varepsilon^{1/p})\) |
无 |
\(\varepsilon\) |
Fourier ODE |
周期线性 ODE |
\(n\) |
\(O(n\log n)\) |
无 |
\(\varepsilon\) |
表中需要注意两点。其一,线性方程组方法的 \(\kappa(L)\) 按情况四的分析为 \(\Theta(M)\)(稳定)至 \(e^{\Theta(\|A\|T)}\)(不稳定,重缩放后可压平),这是该方法被后继框架取代的主要原因。其二,所有方法的门数都还要乘以态制备代价;对 Carleman 方法,解范数随时间的变化由重缩放控制,否则后选择概率指数衰减。
具体例子¶
例子一:Lotka-Volterra 方程(捕食者-被捕食者)¶
Lotka–Volterra 方程为
右端是二次的,属于 Carleman 方法的直接适用范围。我们先核对不动点:令右端为零,由 \(\alpha x = \beta xy\) 得 \(y^* = \alpha/\beta\),由 \(\delta xy = \gamma y\) 得 \(x^* = \gamma/\delta\);对参数 \(\alpha=1\)、\(\beta=0.1\)、\(\delta=0.075\)、\(\gamma=1.5\),正平衡点为 \((x^*,y^*) = (20,10)\),轨道围绕它闭合并保持有界,因此截断所需的 \(R=\sup\|\mathbf u\|\) 一致有界。数值实验表明,对模拟时间 \(T=10\),截断阶数 \(K=10\) 已足以达到典型精度要求。需要说明的是,Carleman 变量是全部单项式 \(x^ay^b\)(\(a+b\le K\)),状态空间维数为 \(\binom{d+K}{K}\) 量级(此处 \(d=2\))。
例子二:Van der Pol 振子¶
Van der Pol 振子为
其非线性项 \(x^2y\) 是三次的。Carleman 递推中三次项使相邻阶数的耦合从 \(k\leftrightarrow k\pm1\) 变为 \(k\leftrightarrow k\pm2\),且振幅以 \(\mu\) 增长,因此需要比二次系统更高的截断阶数才能达到同样精度。
例子三:Lorenz 系统(混沌)¶
Lorenz 系统为
右端同样是二次的,但解对初值极度敏感(混沌、蝴蝶效应):初始误差 \(\delta\) 经时间 \(t\) 放大为 \(\delta\,e^{\lambda t}\)(\(\lambda\) 为最大 Lyapunov 指数)。量子算法在有限时间内可以精确预测(其复杂度含 \(\mathrm{poly}(e^{\lambda T})\) 型因子),但长期行为所需的精度随 \(T\) 指数增长——这是信息论层面的障碍,与计算模型无关。
局限性与开放问题¶
1. Carleman 爆炸¶
对强非线性(大系数或高次非线性),由方法一的分析,当 \(R\ge1\) 时截断阶数 \(K\) 必须随 \(T\) 增长,最坏情形下指数爆炸;同时条件数 \(\kappa\) 可能随之指数增长。重缩放与高阶截断 [2] 缓解但未彻底消除该问题。
2. 混沌系统¶
对混沌 ODE(如 Lorenz),量子算法不能超越经典算法的长期预测能力。蝴蝶效应是信息论的而非计算复杂度的障碍:任何计算模型都必须指数精确地知道初值。
3. 守恒量¶
量子模拟天然保持范数(酉演化),但 ODE 的解范数一般随时间变化。Schrödingerization 的后选择概率正比于 \(\|\mathbf u(t)\|^2/\|\mathbf u_0\|^2\),解衰减时需要振幅放大;线性方程组方法则需要按情况四的方式追踪归一化因子。
4. 边界条件¶
对初值问题,初始条件通过态制备进入;但边值问题(条件分布在区间两端)需要额外的打靶或伴随型编码,其量子实现仍是活跃的研究方向。
总结¶
量子 ODE 求解已从线性 ODE 的哈密顿量模拟,发展出时变系统的 Magnus 展开与 Schrödingerization、非齐次系统的 LCHS、以及离散化为线性方程组的 HHL 类方法;非线性系统则经 Carleman 线性化回到同一工具箱。2023 年前后的改进(重缩放、高阶 Carleman、最优态制备)把多个复杂度指标从指数级压到多项式级。核心的未解难题依然是:Carleman 截断的普适控制、病态系统的条件数、以及解的读出效率。
参考文献:
Liu, J., Kolda, T. G., & Sun, R. (2021). Quantum-inspired classical algorithm for nonlinear differential equations. arXiv:2105.02124.
Costa, P. C. S., Jordan, S. P., & Ostrander, A. (2023). Improved quantum algorithms for linear and nonlinear differential equations. Quantum, 7, 913.
Jin, S., Liu, N., & Yu, Y. (2022). Quantum simulation of partial differential equations via Schrödingerization. arXiv:2212.13969.
An, D., Liu, J., & Lin, L. (2023). Linear combination of Hamiltonian simulation for nonunitary dynamics with optimal state preparation cost. Physical Review Letters, 131, 150601.
返回目录:量子计算算法教程系列