文章目录
1. 预备理论
现在需要求解一个大规模稀疏方程组 A x = b Ax=b Ax=b,可以用迭代法比如 Jacobi 迭代法、Gauss-Seidel 迭代法等,不过这一节要讨论的是 Krylov 子空间方法,核心部分是 Arnoldi 迭代。
1.1 Krylov 子空间
定理(Cayley-Hamilton):设 A ∈ C n × n A\in{\mathbb C}^{n\times n} A∈Cn×n,则 A A A 的特征多项式 χ ( z ) \chi(z) χ(z) 是 A A A 的零化多项式,也即 χ ( A ) = 0 \chi(A)=0 χ(A)=0。
假设特征多项式 χ ( z ) = z n + c n − 1 z n − 1 + ⋯ + c 1 z + c 0 = ( − 1 ) n det ( A ) \chi(z)=z^n + c_{n-1}z^{n-1} + \cdots + c_1 z+ c_0=(-1)^n \operatorname{det}(A) χ(z)=zn+cn−1zn−1+⋯+c1z+c0=(−1)ndet(A),那么根据 χ ( A ) = 0 \chi(A)=0 χ(A)=0 可以得到
A − 1 = − 1 c 0 A n − 1 − c n − 1 c 0 A n − 2 + ⋯ − c 1 c 0 I = q n − 1 ( A ) A^{-1} = -\frac{1}{c_0} A^{n-1} - \frac{c_{n-1}}{c_0} A^{n-2} + \cdots -\frac{c_1}{c_0} I = q_{n-1}(A) A−1=−c01An−1−c0cn−1An−2+⋯−c0c1I=qn−1(A)
利用这个等式,在求解线性方程组的时候,给定任意初值 x 0 x_0 x0,都有 A x ∗ − A x 0 = b − A x 0 ≡ r 0 Ax^{\ast}-Ax_0=b-Ax_0 \equiv r_0 Ax∗−Ax0=b−Ax0≡r0,于是 x ∗ = x 0 + q n − 1 ( A ) r 0 x^{\ast} = x_0 + q_{n-1}(A)r_0 x∗=x0+qn−1(A)r0,因此理论上可以在空间
K = { r 0 , A r 0 , ⋯ , A m r 0 , ⋯ , A n − 1 r 0 } \mathcal{K}=\left\{\boldsymbol{r}_{0}, A \boldsymbol{r}_{0}, \cdots, A^{m} \boldsymbol{r}_{0}, \cdots, A^{n-1} \boldsymbol{r}_{0}\right\} K={
r0,Ar0,⋯,Amr0,⋯,An−1r0}
中找到方程组的准确解,但是科学与工程计算问题中 n n n 可以达到 1 0 6 10^6 106 量级,直接求解代价太高。因此希望在其一个低维子空间中搜索近似解。
定义 m m m 维 Krylov 子空间为
K m = span ( r 0 , A r 0 , A 2 r 0 , ⋯ , A m − 1 r 0 ) \mathcal{K}_{m}=\operatorname{span}\left(\boldsymbol{r}_{0}, A \boldsymbol{r}_{0}, A^{2} \boldsymbol{r}_{0}, \cdots, A^{m-1} \boldsymbol{r}_{0}\right) Km=span(r0,Ar0,A2r0,⋯,Am−1r0)
方程组求解问题转化为
min x ∈ x 0 + K m ∥ x ∗ − x ∥ . \min_{x\in x_0+{\mathcal K}_m} \Vert x^{\ast} - x\Vert. x∈x0+Kmmin∥x∗−x∥.
1.2 最佳逼近
现在的问题就是在何种范数意义下求解问题 min x ∈ x 0 + K m ∥ x ∗ − x ∥ \min_{x\in x_0+{\mathcal K}_m} \Vert x^{\ast} - x\Vert minx∈x0+Km∥x∗−x∥。假设 K m {\mathcal K}_m Km 的一组基作为列向量构成矩阵 V m V_m Vm,最优解为 x m = x 0 + V m y ∗ ∈ x 0 + K m , y ∗ ∈ R m x_m = x_0 + V_m y^{\ast} \in x_0 + {\mathcal K}_m, ~ y^{\ast}\in{\mathbb R}^{m} xm=x0+Vmy∗∈x0+Km, y∗∈Rm。
1.2.1 方法一:最佳平方逼近
取 2 2 2 范数 min x ∈ x 0 + K m ∥ x ∗ − x ∥ 2 \min_{x\in x_0+{\mathcal K}_m} \Vert x^{\ast} - x\Vert_2 minx∈x0+Km∥x∗−x∥2,那么根据最佳平方逼近条件(对 x x x求导,取零点),或者 Galerkin 正交条件,可以推出法方程为
⟨ x ∗ − x m , y ⟩ = 0 , ∀ y ∈ K m ⟺ V m T ( x ∗ − x m ) = 0 \begin{aligned} &\langle x^{\ast} - x_m, y \rangle = 0, ~ \forall y\in {\mathcal K}_m \\ \iff & V_m^{\rm T}(x^{\ast}-x_m) = 0 \end{aligned} ⟺⟨x