昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

6.4共轭梯度法(CG法)

共轭梯度法(CG法)之变分等价问题 详细讲解与推导

各位同学,今天我们用多年数值线性代数的教研积累,把共轭梯度法最核心的理论根基——线性方程组与二次函数变分问题的等价性,从定义、性质推导到核心定理,一步不落、逻辑闭环地讲透,让大家不仅知其然,更知其所以然。

一、开篇:为什么要做这个等价转化?

共轭梯度法(CG法)是求解对称正定线性方程组的经典迭代方法,它的核心思想不是直接对矩阵做消元分解,而是把线性方程组的求解问题,转化为一个二次函数的极小化问题(变分问题)。

这个转化的价值在于:我们可以用优化的思路,通过构造迭代序列\(\{x^{(k)}\}\),让对应的二次函数值不断下降,最终收敛到函数的极小值点——也就是线性方程组的精确解。这是CG法区别于高斯消元等直接法的核心逻辑,也是我们今天要讲的全部内容的出发点。


二、核心前提与基本定义

1. 前提约束(必须严格满足)

我们讨论的线性方程组为:

\[Ax = b \tag{6.35} \]

其中:

  • \(A=(a_{ij}) \in \mathbb{R}^{n \times n}\)n阶实对称正定矩阵(这是整个理论的核心前提,后续几乎所有推导都依赖这个条件);
  • \(b=(b_1,b_2,\dots,b_n)^T \in \mathbb{R}^n\):给定的n维实列向量;
  • \(x=(x_1,x_2,\dots,x_n)^T \in \mathbb{R}^n\):待求解的未知向量。

先明确两个基础概念:

  1. 欧氏内积:我们用\((\cdot,\cdot)\)表示n维实空间的标准内积,即对任意\(x,y\in\mathbb{R}^n\)\((x,y)=x^T y = \sum_{i=1}^n x_i y_i\),内积满足双线性、对称性、正定性;
  2. 对称正定矩阵的定义:对任意非零向量\(z\in\mathbb{R}^n\),恒有\((Az,z) = z^T A z > 0\),且\(A^T=A\)(对称性)。

2. 二次目标函数的定义

我们构造如下从n维实空间到实数的二次函数\(\varphi: \mathbb{R}^n \to \mathbb{R}\)

\[\varphi(x) = \frac{1}{2}(Ax,x) - (b,x) \tag{6.36} \]

展开为求和形式就是:

\[\varphi(x) = \frac{1}{2}\sum_{i=1}^n \sum_{j=1}^n a_{ij}x_i x_j - \sum_{j=1}^n b_j x_j \]

定义的合理性推导(展开验证)

我们把内积形式展开,证明和求和形式完全等价:

  • 首先,\(Ax\)的第\(i\)个分量为\((Ax)_i = \sum_{j=1}^n a_{ij}x_j\)
  • 因此\((Ax,x) = \sum_{i=1}^n (Ax)_i x_i = \sum_{i=1}^n \left( \sum_{j=1}^n a_{ij}x_j \right)x_i = \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_i x_j\)
  • 同时\((b,x) = \sum_{j=1}^n b_j x_j\)
  • 代入原式,就得到了求和形式的\(\varphi(x)\),定义成立。

三、二次函数\(\varphi(x)\)的三大核心性质 详细推导

这三个性质是整个等价性定理的基石,我们逐个做无跳步的推导证明。

性质1:\(\varphi(x)\)的梯度公式

结论:对一切\(x\in\mathbb{R}^n\)\(\varphi(x)\)的梯度为

\[\nabla \varphi(x) = Ax - b \tag{6.37} \]

详细推导证明

多元函数的梯度定义:对\(n\)元函数\(\varphi(x)=\varphi(x_1,x_2,\dots,x_n)\),梯度是一个\(n\)维列向量,其第\(k\)个分量为\(\varphi\)\(x_k\)的偏导数,即:

\[\nabla \varphi(x) = \left( \frac{\partial \varphi}{\partial x_1},\frac{\partial \varphi}{\partial x_2},\dots,\frac{\partial \varphi}{\partial x_n} \right)^T \]

我们只需计算第\(k\)个偏导数\(\frac{\partial \varphi}{\partial x_k}\),再整理为向量形式即可:

  1. \(\varphi(x)\)拆为两项分别求偏导:

\[\frac{\partial \varphi}{\partial x_k} = \frac{1}{2} \cdot \frac{\partial}{\partial x_k}\left( \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_i x_j \right) - \frac{\partial}{\partial x_k}\left( \sum_{j=1}^n b_j x_j \right) \]

  1. 计算第二项的偏导:
    \(\sum_{j=1}^n b_j x_j\)中,仅当\(j=k\)时项含\(x_k\),其余项对\(x_k\)的偏导为0,因此:

\[\frac{\partial}{\partial x_k}\left( \sum_{j=1}^n b_j x_j \right) = b_k \]

  1. 计算第一项的二重和偏导(核心步骤):
    根据乘积求导法则,\(\frac{\partial}{\partial x_k}(x_i x_j) = x_i \cdot \frac{\partial x_j}{\partial x_k} + x_j \cdot \frac{\partial x_i}{\partial x_k}\),引入克罗内克函数\(\delta_{m,n}\)\(m=n\)\(\delta=1\),否则\(\delta=0\)),则\(\frac{\partial x_m}{\partial x_k}=\delta_{m,k}\),因此:

\[\begin{align*} \frac{\partial}{\partial x_k}\left( \sum_{i,j} a_{ij}x_i x_j \right) &= \sum_{i,j} a_{ij} \cdot \left( x_i \delta_{j,k} + x_j \delta_{i,k} \right) \\ &= \sum_{i} a_{i,k} x_i + \sum_{j} a_{k,j} x_j \end{align*} \]

  1. 利用\(A\)的对称性化简:
    因为\(A\)是对称矩阵,即\(a_{ik}=a_{ki}\),因此\(\sum_{i} a_{i,k} x_i = \sum_{i} a_{k,i} x_i\),而\(\sum_{j} a_{k,j} x_j\)就是\(Ax\)的第\(k\)个分量\((Ax)_k\),因此:

\[\sum_{i} a_{i,k} x_i + \sum_{j} a_{k,j} x_j = (Ax)_k + (Ax)_k = 2(Ax)_k \]

  1. 合并得到偏导数:

\[\frac{\partial \varphi}{\partial x_k} = \frac{1}{2} \cdot 2(Ax)_k - b_k = (Ax)_k - b_k \]

  1. 整理为梯度向量:
    所有分量组合起来,就得到\(\nabla \varphi(x) = Ax - b\),性质1得证。

性质2:单参数增量展开式

结论:对一切\(x,y\in\mathbb{R}^n\)及任意实数\(\alpha\in\mathbb{R}\),有

\[\varphi(x+\alpha y) = \varphi(x) + \alpha(Ax - b,y) + \frac{\alpha^2}{2}(Ay,y) \tag{6.38} \]

详细推导证明

这个性质是后续CG法中线搜索求最优步长的核心,我们直接将\(z=x+\alpha y\)代入\(\varphi(z)\)的定义式展开:

  1. 代入定义式:

\[\varphi(x+\alpha y) = \frac{1}{2}\left(A(x+\alpha y), x+\alpha y\right) - \left(b, x+\alpha y\right) \]

  1. 展开内积的线性项:
    根据矩阵乘法和内积的双线性性质,先展开\(A(x+\alpha y)=Ax + \alpha Ay\),因此:

\[\begin{align*} \left(A(x+\alpha y), x+\alpha y\right) &= (Ax + \alpha Ay, x + \alpha y) \\ &= (Ax,x) + (Ax,\alpha y) + (\alpha Ay,x) + (\alpha Ay,\alpha y) \\ &= (Ax,x) + \alpha(Ax,y) + \alpha(Ay,x) + \alpha^2(Ay,y) \end{align*} \]

  1. 利用\(A\)的对称性化简交叉项:
    因为\(A\)对称,所以\((Ay,x) = y^T A x = (y^T A x)^T = x^T A^T y = x^T A y = (Ax,y)\),因此两个交叉项合并为:

\[\alpha(Ax,y) + \alpha(Ay,x) = 2\alpha(Ax,y) \]

代入后得到:

\[\left(A(x+\alpha y), x+\alpha y\right) = (Ax,x) + 2\alpha(Ax,y) + \alpha^2(Ay,y) \]

  1. 展开常数项的内积:
    根据内积线性,\(-(b, x+\alpha y) = -(b,x) - \alpha(b,y)\)

  2. 合并所有项并整理:

\[\begin{align*} \varphi(x+\alpha y) &= \frac{1}{2}\left[(Ax,x) + 2\alpha(Ax,y) + \alpha^2(Ay,y)\right] - (b,x) - \alpha(b,y) \\ &= \underbrace{\frac{1}{2}(Ax,x) - (b,x)}_{\varphi(x)} + \alpha\underbrace{\left[(Ax,y) - (b,y)\right]}_{(Ax-b,y)} + \frac{\alpha^2}{2}(Ay,y) \end{align*} \]

最终得到\(\varphi(x+\alpha y) = \varphi(x) + \alpha(Ax - b,y) + \frac{\alpha^2}{2}(Ay,y)\),性质2得证。


性质3:解的函数值与误差估计

结论:设\(x^*=A^{-1}b\)是线性方程组\(Ax=b\)的解,则:

  1. 解对应的函数值:\(\varphi(x^*) = -\frac{1}{2}(b,A^{-1}b) = -\frac{1}{2}(Ax^*,x^*)\)
  2. 任意点与解的函数值差:对一切\(x\in\mathbb{R}^n\),有

\[\varphi(x) - \varphi(x^*) = \frac{1}{2}\left(A(x-x^*), x-x^*\right) \tag{6.39} \]

详细推导证明

第一部分:解的函数值推导

因为\(x^*\)\(Ax=b\)的解,因此满足\(Ax^*=b\),直接代入\(\varphi(x)\)的定义:

\[\begin{align*} \varphi(x^*) &= \frac{1}{2}(Ax^*,x^*) - (b,x^*) \\ &= \frac{1}{2}(Ax^*,x^*) - (Ax^*,x^*) \quad (\text{代入} \ b=Ax^*) \\ &= -\frac{1}{2}(Ax^*,x^*) \end{align*} \]

再将\(x^*=A^{-1}b\)代入,\((Ax^*,x^*)=(b, A^{-1}b)\),因此\(\varphi(x^*) = -\frac{1}{2}(b,A^{-1}b)\),第一部分得证。

第二部分:函数值差的推导

我们直接展开\(\varphi(x)-\varphi(x^*)\),并利用\(b=Ax^*\)做替换:

  1. 写出差值的原始形式:

\[\varphi(x) - \varphi(x^*) = \left[ \frac{1}{2}(Ax,x) - (b,x) \right] - \left[ \frac{1}{2}(Ax^*,x^*) - (b,x^*) \right] \]

  1. 代入\(b=Ax^*\),替换所有\(b\)

\[\begin{align*} \varphi(x) - \varphi(x^*) &= \frac{1}{2}(Ax,x) - (Ax^*,x) - \frac{1}{2}(Ax^*,x^*) + (Ax^*,x^*) \\ &= \frac{1}{2}(Ax,x) - (Ax^*,x) + \frac{1}{2}(Ax^*,x^*) \end{align*} \]

  1. 展开目标式\(\frac{1}{2}\left(A(x-x^*), x-x^*\right)\),验证等价性:

\[\begin{align*} \left(A(x-x^*), x-x^*\right) &= (Ax - Ax^*, x - x^*) \\ &= (Ax,x) - (Ax,x^*) - (Ax^*,x) + (Ax^*,x^*) \end{align*} \]

再次利用\(A\)的对称性,\((Ax,x^*)=(Ax^*,x)\),因此:

\[\left(A(x-x^*), x-x^*\right) = (Ax,x) - 2(Ax^*,x) + (Ax^*,x^*) \]

两边乘以\(\frac{1}{2}\),得到:

\[\frac{1}{2}\left(A(x-x^*), x-x^*\right) = \frac{1}{2}(Ax,x) - (Ax^*,x) + \frac{1}{2}(Ax^*,x^*) \]

和我们之前得到的\(\varphi(x)-\varphi(x^*)\)完全一致,因此式(6.39)得证。


四、核心等价定理 详细证明

定理6.15

\(A\)\(n\)阶实对称正定矩阵,则\(x^*\)为线性方程组\(Ax=b\)的解,充分必要条件\(x^*\)满足:

\[\varphi(x^*) = \min_{x\in\mathbb{R}^n} \varphi(x) \]

详细证明(分必要性、充分性两部分)

必要性:若\(x^*\)\(Ax=b\)的解,则\(x^*\)\(\varphi(x)\)的全局极小值点

证明:
根据性质3,对任意\(x\in\mathbb{R}^n\),有:

\[\varphi(x) - \varphi(x^*) = \frac{1}{2}\left(A(x-x^*), x-x^*\right) \]

\(z = x - x^*\),因为\(A\)正定矩阵,根据正定的定义:

  • \(x \neq x^*\),则\(z \neq 0\),因此\((Az,z) > 0\),即\(\varphi(x) - \varphi(x^*) > 0\)\(\varphi(x) > \varphi(x^*)\)
  • \(x = x^*\),则\(z = 0\),因此\((Az,z) = 0\),即\(\varphi(x) = \varphi(x^*)\)

因此对所有\(x\in\mathbb{R}^n\),都有\(\varphi(x) \geq \varphi(x^*)\),当且仅当\(x=x^*\)时取等号,即\(x^*\)\(\varphi(x)\)全局唯一极小值点,必要性得证。

充分性:若\(x^*\)\(\varphi(x)\)的全局极小值点,则\(x^*\)\(Ax=b\)的解

证明:
因为\(\varphi(x)\)是定义在\(\mathbb{R}^n\)上的无限可微函数,根据多元函数极值的必要条件,函数在极小值点处的梯度必为零向量,即:

\[\nabla \varphi(x^*) = 0 \]

再根据性质1,\(\nabla \varphi(x^*) = Ax^* - b\),因此:

\[Ax^* - b = 0 \implies Ax^* = b \]

\(x^*\)是线性方程组\(Ax=b\)的解,充分性得证。

也可通过正定矩阵的性质证明:
因为\(x^*\)是极小值点,所以\(\varphi(x^*) \leq \varphi(x)\)对所有\(x\)成立,而我们已经证明方程组的解\(\tilde{x}\)是极小值点,因此\(\varphi(x^*) = \varphi(\tilde{x})\),即:

\[\frac{1}{2}\left(A(x^*-\tilde{x}), x^*-\tilde{x}\right) = 0 \]

\(A\)的正定性,仅当\(x^*-\tilde{x}=0\)时上式成立,因此\(x^*=\tilde{x}\),即\(x^*\)是方程组的解。


五、核心知识点归纳总结表

模块 核心内容 公式/表达式 关键说明与约束条件
核心前提 线性方程组与矩阵约束 \(Ax=b\)\(A\in\mathbb{R}^{n\times n}\)实对称正定矩阵 对称性保证梯度公式、内积展开成立;正定性保证二次函数有唯一全局极小值,是整个理论的核心前提
目标函数 二次变分函数定义 \(\varphi(x) = \frac{1}{2}(Ax,x) - (b,x)\) 将线性方程组求解转化为该函数的极小化问题,是CG法的核心载体
性质1 梯度计算公式 \(\nabla \varphi(x) = Ax - b\) 多元函数极值的必要条件(梯度为0)直接对应方程组\(Ax=b\),建立了极值点与方程组解的直接联系
性质2 单参数增量展开 \(\varphi(x+\alpha y) = \varphi(x) + \alpha(Ax - b,y) + \frac{\alpha^2}{2}(Ay,y)\) 是CG法迭代中线搜索求最优步长的核心公式,可通过求导直接得到使函数值最小的\(\alpha\)
性质3 解的函数值与误差估计 \(\varphi(x) - \varphi(x^*) = \frac{1}{2}\left(A(x-x^*), x-x^*\right)\) 建立了函数值误差与解的向量误差的直接关系,是证明收敛性、等价性的核心
核心定理 方程组与变分问题的等价性 \(Ax^*=b \iff \varphi(x^*) = \min_{x\in\mathbb{R}^n} \varphi(x)\) 对称正定线性方程组的求解,完全等价于对应二次函数的全局极小化问题,是CG法的理论根基
核心意义 问题转化的价值 线性代数求解问题 → 无约束优化极小化问题 避开了矩阵直接分解的高复杂度,可通过迭代构造下降序列求解,适合大规模稀疏线性方程组的求解

六、收尾:对CG法的意义延伸

今天讲的这部分,是共轭梯度法的“根”。后续的共轭方向构造、迭代公式、收敛性分析,全都是基于这个等价性展开的:我们要做的,就是构造一组关于\(A\)共轭的搜索方向,沿着每个方向做一次线搜索找到最优步长,让函数值一步步下降,最终在最多\(n\)步内收敛到精确解(无舍入误差的理想情况)。

大家一定要把这个等价性吃透,尤其是对称正定这个条件的作用,每一步推导哪里用到了,都要了然于心,这样后续学CG法的迭代流程,就不会只记公式,而是明白每一步的意义。


最速下降法(Steepest Descent Method) 详细讲解与完整推导

各位同学,上一节我们完成了核心的等价性证明:对称正定线性方程组\(Ax=b\)的求解,完全等价于二次函数\(\varphi(x)=\frac{1}{2}(Ax,x)-(b,x)\)的全局极小化问题。今天我们要讲解的最速下降法,就是求解这个极小化问题最直观、最基础的迭代方法,它是理解后续共轭梯度法的核心铺垫,我们将从迭代框架、公式推导、核心性质、收敛性与缺陷,全链路无跳步讲透。


一、通用下降法的迭代框架与精确线搜索

要解决\(\min_{x\in\mathbb{R}^n} \varphi(x)\)的问题,我们无法一步得到全局极小值点\(x^*\),因此采用迭代下降的思路:

  1. 选取一个初始迭代点\(x^{(0)} \in \mathbb{R}^n\)
  2. 每一步构造一个下降方向\(p^{(k)}\),使得\(\varphi(x)\)沿\(p^{(k)}\)是下降的;
  3. 沿\(p^{(k)}\)做一维搜索,找到最优步长\(\alpha_k\),使得\(\varphi(x)\)在该方向上达到最小;
  4. 更新迭代点\(x^{(k+1)} = x^{(k)} + \alpha_k p^{(k)}\),重复上述步骤直到收敛。

1.1 迭代格式的数学表达

通用迭代格式为:

\[x^{(k+1)} = x^{(k)} + \alpha_k p^{(k)} \tag{6.40} \]

其中最优步长\(\alpha_k\)满足:

\[\varphi(x^{(k+1)}) = \min_{\alpha \in \mathbb{R}} \varphi(x^{(k)} + \alpha p^{(k)}) \]

这种求解\(\alpha_k\)的方式,称为精确线搜索

1.2 最优步长公式的完整推导

我们直接利用上一节证明的二次函数增量展开性质,将\(\varphi(x^{(k)} + \alpha p^{(k)})\)展开为关于\(\alpha\)的一元函数:

\[\varphi(x^{(k)} + \alpha p^{(k)}) = \varphi(x^{(k)}) + \alpha (Ax^{(k)} - b, p^{(k)}) + \frac{\alpha^2}{2} (Ap^{(k)}, p^{(k)}) \]

推导的核心依据

因为\(A\)是对称正定矩阵,对任意非零向量\(p^{(k)}\),有\((Ap^{(k)}, p^{(k)}) > 0\),因此上式是开口向上的一元二次函数,存在唯一的全局极小值点,且极小值点在一阶导数为0的位置。

\(\alpha\)求一阶导数:

\[\frac{\mathrm{d}\varphi(x^{(k)} + \alpha p^{(k)})}{\mathrm{d}\alpha} = (Ax^{(k)} - b, p^{(k)}) + \alpha (Ap^{(k)}, p^{(k)}) \]

令一阶导数为0,解关于\(\alpha_k\)的一元一次方程:

\[(Ax^{(k)} - b, p^{(k)}) + \alpha_k (Ap^{(k)}, p^{(k)}) = 0 \]

移项后得到通用最优步长公式:

\[\alpha_k = -\frac{(Ax^{(k)} - b, p^{(k)})}{(Ap^{(k)}, p^{(k)})} \tag{6.41} \]

关键说明

分母\((Ap^{(k)}, p^{(k)}) > 0\)\(A\)正定、\(p^{(k)}\neq0\)),因此\(\alpha_k\)始终有定义,不会出现除以0的情况。


二、最速下降法的核心:搜索方向的选择

通用下降法中,\(p^{(k)}\)可以是任意下降方向,而最速下降法的核心,是选择当前点函数值下降最快的方向

2.1 最速下降方向的理论依据

根据多元函数微分学的基本结论:

  • 函数\(\varphi(x)\)在点\(x^{(k)}\)处的梯度方向\(\nabla\varphi(x^{(k)})\),是函数值增长最快的方向;
  • 反之,负梯度方向\(-\nabla\varphi(x^{(k)})\),是函数值下降最快的方向,即最速下降方向。

结合上一节证明的梯度公式\(\nabla\varphi(x) = Ax - b\),我们定义残差向量(剩余向量)

\[r^{(k)} = b - Ax^{(k)} \]

残差的物理意义:若\(x^{(k)}\)是方程组的精确解\(x^*\),则\(r^{(k)}=0\),因此残差的大小直接衡量了当前迭代点的误差。

由此,最速下降法的搜索方向为:

\[p^{(k)} = -\nabla\varphi(x^{(k)}) = -(Ax^{(k)} - b) = r^{(k)} \]

即:最速下降法的每一步搜索方向,就是当前点的残差向量

2.2 最速下降法的专属步长公式

\(p^{(k)}=r^{(k)}\)代入通用最优步长公式(6.41),推导专属步长:

  1. 分子部分:\((Ax^{(k)} - b, p^{(k)}) = (Ax^{(k)} - b, r^{(k)}) = (-r^{(k)}, r^{(k)}) = -(r^{(k)}, r^{(k)})\)
  2. 分母部分:\((Ap^{(k)}, p^{(k)}) = (Ar^{(k)}, r^{(k)})\)

代入(6.41)后,负负得正,得到:

\[\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(Ar^{(k)}, r^{(k)})} \tag{6.42} \]

关键说明

分子\((r^{(k)}, r^{(k)}) = \|r^{(k)}\|^2 \geq 0\),分母\((Ar^{(k)}, r^{(k)}) > 0\)\(A\)正定、\(r^{(k)}\neq0\)),因此\(\alpha_k > 0\),保证了迭代始终沿负梯度方向前进,函数值严格下降。

2.3 最速下降法的完整迭代格式

结合步长与方向,我们得到最速下降法的最终迭代公式:

\[x^{(k+1)} = x^{(k)} + \alpha_k r^{(k)}, \quad k=0,1,2,\dots \tag{6.43} \]


三、最速下降法的核心性质 严格证明

性质1:相邻两步的搜索方向(残差)相互正交

结论:对任意迭代步\(k\),有\((r^{(k+1)}, r^{(k)}) = 0\)

详细证明

首先推导残差的更新公式:

\[r^{(k+1)} = b - Ax^{(k+1)} = b - A(x^{(k)} + \alpha_k r^{(k)}) = (b - Ax^{(k)}) - \alpha_k A r^{(k)} = r^{(k)} - \alpha_k A r^{(k)} \]

计算两个相邻残差的内积:

\[(r^{(k+1)}, r^{(k)}) = (r^{(k)} - \alpha_k A r^{(k)}, r^{(k)}) = (r^{(k)}, r^{(k)}) - \alpha_k (A r^{(k)}, r^{(k)}) \]

根据步长公式(6.42),\(\alpha_k (A r^{(k)}, r^{(k)}) = (r^{(k)}, r^{(k)})\),代入上式得:

\[(r^{(k+1)}, r^{(k)}) = (r^{(k)}, r^{(k)}) - (r^{(k)}, r^{(k)}) = 0 \]

性质1得证。

几何意义

在二维空间中,迭代路径呈现锯齿形(之字形),每一步的前进方向与上一步垂直。这也是最速下降法收敛慢的直观原因:迭代路径反复震荡,无法直接指向极小值点。

性质2:函数值序列单调下降且有下界,迭代序列收敛到精确解

结论

  1. 序列\(\{\varphi(x^{(k)})\}\)严格单调下降,且有下界\(\varphi(x^*)\),因此必有极限\(\lim_{k\to\infty} \varphi(x^{(k)}) = \varphi(x^*)\)
  2. 迭代序列\(\{x^{(k)}\}\)收敛到方程组的精确解,即\(\lim_{k\to\infty} x^{(k)} = x^* = A^{-1}b\)

证明

  1. 单调性:因为\(\alpha_k\)是精确线搜索得到的最优步长,因此\(\varphi(x^{(k+1)}) = \min_{\alpha\in\mathbb{R}} \varphi(x^{(k)}+\alpha r^{(k)}) \leq \varphi(x^{(k)} + 0\cdot r^{(k)}) = \varphi(x^{(k)})\)。当且仅当\(r^{(k)}=0\)(即\(x^{(k)}=x^*\))时取等号,因此未收敛时函数值严格下降。
  2. 有界性:根据上一节的性质3,对任意\(x\in\mathbb{R}^n\)\(\varphi(x) \geq \varphi(x^*)\),因此序列\(\{\varphi(x^{(k)})\}\)单调下降有下界,根据单调有界定理,必有极限,且极限为全局极小值\(\varphi(x^*)\)
  3. 收敛性:结合\(A\)的正定性与\(\varphi(x)-\varphi(x^*) = \frac{1}{2}(A(x-x^*),x-x^*)\),函数值收敛到\(\varphi(x^*)\)等价于\(x^{(k)}\)收敛到\(x^*\)

四、最速下降法的收敛性分析与核心缺陷

4.1 收敛速度的定量估计

最速下降法的收敛速度由矩阵\(A\)的特征值决定,其收敛性的定量估计为:

\[\| x^{(k)} - x^* \|_A \leq \left( \frac{\lambda_1 - \lambda_n}{\lambda_1 + \lambda_n} \right)^k \| x^{(0)} - x^* \|_A \]

其中:

  • \(\lambda_1\)\(\lambda_n\)分别为对称正定矩阵\(A\)的最大、最小特征值;
  • \(\| u \|_A = \sqrt{(Au,u)}\),称为向量的A-范数(能量范数),是衡量迭代误差的常用范数。

4.2 条件数对收敛速度的影响

我们定义对称正定矩阵\(A\)谱条件数

\[\kappa_2(A) = \frac{\lambda_1}{\lambda_n} \geq 1 \]

将收敛因子改写为:

\[\frac{\lambda_1 - \lambda_n}{\lambda_1 + \lambda_n} = \frac{\kappa_2(A) - 1}{\kappa_2(A) + 1} \]

由此可以得到核心结论:

  1. \(\kappa_2(A)=1\)时(\(A\)为单位矩阵的倍数),收敛因子为0,迭代一步即可收敛到精确解,是理想情况;
  2. \(\kappa_2(A)\)很大时(矩阵病态,\(\lambda_1 \gg \lambda_n\)),收敛因子\(\frac{\kappa-1}{\kappa+1} \approx 1\),此时\((\text{收敛因子})^k\)下降极慢,需要成千上万次迭代才能收敛,效率极低。

4.3 其他缺陷

当迭代接近收敛时,残差\(\|r^{(k)}\|\)非常小,此时步长\(\alpha_k\)的计算会受到计算机舍入误差的严重影响,导致迭代不稳定,甚至无法收敛到机器精度的解。

综上,最速下降法虽然直观易懂,但在实际工程中,尤其是大规模、病态的线性方程组求解场景,极少直接使用,这也是我们后续学习共轭梯度法的核心原因——共轭梯度法通过构造共轭方向,彻底解决了最速下降法锯齿震荡、收敛慢的问题。


五、最速下降法的完整算法步骤

步骤 操作内容
1 初始化 给定对称正定矩阵\(A\)、右端项\(b\)、初始迭代点\(x^{(0)}\)、收敛精度\(\varepsilon\)
计算初始残差\(r^{(0)} = b - Ax^{(0)}\),令迭代次数\(k=0\)
2 收敛判断 \(|r^{(k)}| < \varepsilon\),迭代终止,输出\(x^{(k)}\)作为近似解
3 计算步长 计算\(\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(Ar^{(k)}, r^{(k)})}\)
4 更新迭代点 计算\(x^{(k+1)} = x^{(k)} + \alpha_k r^{(k)}\)
5 更新残差 计算\(r^{(k+1)} = r^{(k)} - \alpha_k A r^{(k)}\)(或直接用\(r^{(k+1)}=b-Ax^{(k+1)}\)
6 迭代推进 \(k=k+1\),返回步骤2

六、核心知识点归纳总结表

模块 核心内容 关键公式 核心说明与约束
核心前提 问题等价性 \(Ax=b \iff \min_{x\in\mathbb{R}^n} \varphi(x),\ \varphi(x)=\frac{1}{2}(Ax,x)-(b,x)\) 仅当\(A\)实对称正定矩阵时成立,是整个方法的理论基础
迭代框架 通用下降法格式 \(x^{(k+1)} = x^{(k)} + \alpha_k p^{(k)}\) 核心是选择下降方向\(p^{(k)}\)与最优步长\(\alpha_k\)
线搜索 通用最优步长 \(\alpha_k = -\frac{(Ax^{(k)} - b, p^{(k)})}{(Ap^{(k)}, p^{(k)})}\) 由一元二次函数求导取极值得到,保证沿\(p^{(k)}\)方向函数值最小
最速下降方向 负梯度方向(残差) \(p^{(k)} = -\nabla\varphi(x^{(k)}) = r^{(k)} = b - Ax^{(k)}\) 负梯度是当前点函数值下降最快的方向,残差为0时迭代收敛
专属步长 最速下降法步长公式 \(\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(Ar^{(k)}, r^{(k)})}\) 由搜索方向代入通用步长公式推导得到,步长恒为正
核心性质 相邻残差正交 \((r^{(k+1)}, r^{(k)}) = 0\) 导致迭代路径呈锯齿形,是收敛慢的直观原因
收敛性 收敛速度估计 \(| x^{(k)} - x^* |_A \leq \left( \frac{\kappa-1}{\kappa+1} \right)^k | x^{(0)} - x^* |_A\) 收敛速度由矩阵条件数\(\kappa\)决定,\(\kappa\)越大,收敛越慢
算法缺陷 实际应用局限 - 对病态矩阵收敛极慢,接近收敛时受舍入误差影响大,实际工程中极少直接使用

共轭梯度法(CG法) 完整讲解与全链路推导

共轭梯度法是求解大规模稀疏对称正定线性方程组的经典高效算法,它继承了最速下降法的迭代框架,通过构造A-共轭方向彻底解决了最速下降法迭代震荡、收敛慢的核心缺陷,是数值线性代数中应用最广泛的迭代方法之一。


一、CG法的核心出发点:解决最速下降法的本质缺陷

最速下降法每一步仅选择当前点的负梯度方向,虽然单步下降最快,但相邻方向正交,导致迭代路径呈锯齿形震荡,仅能保证单方向的极小值,无法在迭代子空间内达到全局极小,对病态矩阵收敛极慢。

CG法的核心目标是:构造一组搜索方向,使得经过\(k\)步迭代后,迭代点\(x^{(k)}\)在子空间\(\text{span}\{p^{(0)},p^{(1)},\dots,p^{(k-1)}\}\)内,让二次函数\(\varphi(x)\)达到全局极小,即:

\[\varphi(x^{(k)}) = \min_{x \in \text{span}\{p^{(0)},p^{(1)},\dots,p^{(k-1)}\}} \varphi(x) \tag{6.44} \]

从而避免迭代走回头路,实现快速收敛。


二、核心概念:A-共轭(A-正交)向量组

2.1 定义6.5 详细解读

\(A\)\(n\)阶实对称正定矩阵,若\(\mathbb{R}^n\)中的向量组\(\{p^{(0)},p^{(1)},\dots,p^{(m)}\}\)满足:

\[(Ap^{(i)}, p^{(j)}) = 0 \quad (i \neq j,\ i,j=0,1,\dots,m) \]

则称该向量组为A-共轭向量组(A-正交向量组)

2.2 关键性质

  1. 正交的推广:当\(A=I\)(单位矩阵)时,A-共轭退化为普通欧氏正交,A-共轭是正交概念在矩阵内积下的推广;
  2. 线性无关性:不含零向量的A-共轭向量组必线性无关,因此\(n\)维空间中最多存在\(n\)个线性无关的A-共轭向量,这是CG法有限步收敛的核心基础;
  3. 子空间分解性:A-共轭方向能将高维子空间的极小化问题,分解为多个独立的一维极小化问题,是CG法的核心逻辑支撑。

三、A-共轭方向的核心意义:子空间极小化的可分解性

子空间内的任意向量可表示为:

\[x = y + \alpha p^{(k)},\quad y \in \text{span}\{p^{(0)},\dots,p^{(k-1)}\},\ \alpha \in \mathbb{R} \tag{6.45} \]

将其代入二次函数\(\varphi(x)\)的增量展开式,得:

\[\varphi(x) = \varphi(y + \alpha p^{(k)}) = \varphi(y) + \alpha(Ay - b, p^{(k)}) + \frac{\alpha^2}{2}(Ap^{(k)}, p^{(k)}) \tag{6.46} \]

要让子空间的全局极小化可分解为对\(y\)\(\alpha\)的独立极小化,必须消除交叉项的影响,即要求\(\alpha(Ay, p^{(k)})=0\)对所有\(y \in \text{span}\{p^{(0)},\dots,p^{(k-1)}\}\)成立。

由于\(y\)是前\(k\)个方向的任意线性组合,因此必须满足:

\[(Ap^{(j)}, p^{(k)}) = 0,\quad j=0,1,\dots,k-1 \]

\(p^{(k)}\)与之前所有方向A-共轭。

此时极小化问题可完全分解:

  1. \(y\)的极小化:解为上一步迭代点\(x^{(k)}\)(已在子空间\(\text{span}\{p^{(0)},\dots,p^{(k-1)}\}\)内达到极小);
  2. \(\alpha\)的极小化:退化为一维精确线搜索,与通用下降法一致。

四、CG法核心公式的完整推导

4.1 最优步长\(\alpha_k\)的推导与简化

一维精确线搜索的通用步长公式为:

\[\alpha_k = -\frac{(Ax^{(k)}-b, p^{(k)})}{(Ap^{(k)}, p^{(k)})} \]

引入残差向量\(r^{(k)} = b - Ax^{(k)}\)(残差为0时,\(x^{(k)}\)即为精确解),则\(Ax^{(k)}-b = -r^{(k)}\),代入得:

\[\alpha_k = \frac{(r^{(k)}, p^{(k)})}{(Ap^{(k)}, p^{(k)})} \tag{6.47} \]

公式简化

首先推导残差的递推公式:

\[r^{(k+1)} = b - Ax^{(k+1)} = b - A(x^{(k)} + \alpha_k p^{(k)}) = r^{(k)} - \alpha_k A p^{(k)} \tag{6.50} \]

可直接证明\((r^{(k+1)}, p^{(k)})=0\)

\[(r^{(k+1)}, p^{(k)}) = (r^{(k)}, p^{(k)}) - \alpha_k (Ap^{(k)}, p^{(k)}) \]

代入\(\alpha_k\)的公式(6.47),两项抵消,结果为0,即当前步残差与上一步搜索方向正交

CG法的搜索方向构造为\(p^{(k)} = r^{(k)} + \beta_{k-1} p^{(k-1)}\),因此:

\[(r^{(k)}, p^{(k)}) = (r^{(k)}, r^{(k)}) + \beta_{k-1}(r^{(k)}, p^{(k-1)}) \]

由上述正交结论,\((r^{(k)}, p^{(k-1)})=0\),因此\((r^{(k)}, p^{(k)}) = (r^{(k)}, r^{(k)})\)

代入(6.47),得到简化后的步长公式:

\[\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(p^{(k)}, Ap^{(k)})} \tag{6.51} \]

该公式仅需计算残差的内积,大幅简化计算;且当\(r^{(k)} \neq 0\)时,分子\(\|r^{(k)}\|^2>0\),分母因\(A\)正定恒正,因此\(\alpha_k>0\),保证函数值严格下降。

4.2 共轭方向与系数\(\beta_k\)的推导与简化

4.2.1 \(\beta\)的初始公式

我们构造第\(k\)步的搜索方向为当前残差与上一步方向的线性组合:

\[p^{(k)} = r^{(k)} + \beta_{k-1} p^{(k-1)} \tag{6.48} \]

根据A-共轭的核心要求\((p^{(k)}, Ap^{(k-1)})=0\),代入上式展开:

\[(r^{(k)}, Ap^{(k-1)}) + \beta_{k-1}(p^{(k-1)}, Ap^{(k-1)}) = 0 \]

解得:

\[\beta_{k-1} = -\frac{(r^{(k)}, Ap^{(k-1)})}{(p^{(k-1)}, Ap^{(k-1)})} \tag{6.49} \]

4.2.2 \(\beta\)的简化公式(Fletcher-Reeves公式)

从残差递推公式(6.50)可变形得到:\(Ap^{(k)} = \frac{r^{(k)} - r^{(k+1)}}{\alpha_k}\),将其代入\(\beta_k\)的表达式(对应\(p^{(k+1)}\)的系数):

\[\beta_k = -\frac{(r^{(k+1)}, Ap^{(k)})}{(p^{(k)}, Ap^{(k)})} \]

分子化简

\[(r^{(k+1)}, Ap^{(k)}) = (r^{(k+1)}, \frac{r^{(k)} - r^{(k+1)}}{\alpha_k}) = \frac{(r^{(k+1)}, r^{(k)}) - (r^{(k+1)}, r^{(k+1)})}{\alpha_k} \]

由后续证明的残差正交性,\((r^{(k+1)}, r^{(k)})=0\),因此分子化简为:

\[-\frac{(r^{(k+1)}, Ap^{(k)})}{(p^{(k)}, Ap^{(k)})} = \frac{(r^{(k+1)}, r^{(k+1)})}{\alpha_k (p^{(k)}, Ap^{(k)})} \]

分母化简
由步长公式(6.51),\(\alpha_k (p^{(k)}, Ap^{(k)}) = (r^{(k)}, r^{(k)})\),代入后最终得到:

\[\beta_k = \frac{(r^{(k+1)}, r^{(k+1)})}{(r^{(k)}, r^{(k)})} \tag{6.52} \]

该公式是CG法的核心简化成果,仅需计算相邻两步残差的内积,无需额外的矩阵-向量乘积,计算量极低;且当\(r^{(k+1)} \neq 0\)时,\(\beta_k>0\),保证方向构造的合理性。


五、核心定理6.16 完整证明

定理内容

由CG算法得到的序列\(\{r^{(k)}\}\)\(\{p^{(k)}\}\)满足:

  1. 残差正交性\((r^{(i)}, r^{(j)})=0\ (i \neq j)\),即\(\{r^{(k)}\}\)\(\mathbb{R}^n\)中的正交向量组;
  2. 方向A-共轭性\((Ap^{(i)}, p^{(j)})=0\ (i \neq j)\),即\(\{p^{(k)}\}\)是A-共轭向量组。

证明(数学归纳法)

1. 初始步验证(\(k=0\)

初始值:\(r^{(0)}=b-Ax^{(0)}\)\(p^{(0)}=r^{(0)}\)\(\alpha_0 = \frac{(r^{(0)},r^{(0)})}{(r^{(0)},Ar^{(0)})}\)

  • 残差正交性:\(r^{(1)} = r^{(0)} - \alpha_0 Ar^{(0)}\),因此\((r^{(0)}, r^{(1)}) = (r^{(0)},r^{(0)}) - \alpha_0 (r^{(0)},Ar^{(0)}) = 0\),成立;
  • 方向A-共轭性:\(p^{(1)} = r^{(1)} + \beta_0 p^{(0)}\),代入\(\beta_0\)的公式可直接验证\((p^{(1)}, Ap^{(0)})=0\),成立。

2. 归纳假设

假设\(r^{(0)},r^{(1)},\dots,r^{(k)}\)两两正交,\(p^{(0)},p^{(1)},\dots,p^{(k)}\)两两A-共轭,现证明\(k+1\)步时性质仍成立。

3. 残差正交性证明

对任意\(j \leq k\),由残差递推公式:

\[(r^{(k+1)}, r^{(j)}) = (r^{(k)}, r^{(j)}) - \alpha_k (Ap^{(k)}, r^{(j)}) \]

  • \(j=k\)时,\((r^{(k)},r^{(k)}) = \alpha_k (Ap^{(k)},p^{(k)}) = \alpha_k (Ap^{(k)},r^{(k)})\),因此两项抵消,结果为0;
  • \(j<k\)时,由归纳假设\((r^{(k)}, r^{(j)})=0\),且\(r^{(j)} = p^{(j)} - \beta_{j-1}p^{(j-1)}\),结合A-共轭性,\((Ap^{(k)}, r^{(j)})=0\),因此结果为0。

综上,\(r^{(k+1)}\)与所有\(r^{(j)}\ (j \leq k)\)正交,残差正交性得证。

4. 方向A-共轭性证明

对任意\(j \leq k\),由方向构造公式:

\[(Ap^{(k+1)}, p^{(j)}) = (Ar^{(k+1)}, p^{(j)}) + \beta_k (Ap^{(k)}, p^{(j)}) \]

  • \(j=k\)时,\(\beta_k\)的定义就是保证该项为0,成立;
  • \(j<k\)时,由归纳假设\((Ap^{(k)}, p^{(j)})=0\),且\(Ap^{(j)} = \frac{r^{(j)} - r^{(j+1)}}{\alpha_j}\),结合残差正交性,\((Ar^{(k+1)}, p^{(j)})=(r^{(k+1)}, Ap^{(j)})=0\),因此结果为0。

综上,\(p^{(k+1)}\)与所有\(p^{(j)}\ (j \leq k)\)A-共轭,方向A-共轭性得证。


六、完整共轭梯度法(CG算法)流程

步骤 操作内容
1 初始化 任取初始迭代点\(x^{(0)} \in \mathbb{R}^n\)
计算初始残差\(r^{(0)} = b - Ax^{(0)}\)
取初始搜索方向\(p^{(0)} = r^{(0)}\)
设定收敛精度\(\varepsilon\),令\(k=0\)
2 收敛判断 \(|r^{(k)}| < \varepsilon\),迭代终止,输出\(x^{(k)}\)作为近似解
3 计算步长 \(\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(p^{(k)}, Ap^{(k)})}\)
4 更新迭代点 \(x^{(k+1)} = x^{(k)} + \alpha_k p^{(k)}\)
5 更新残差 \(r^{(k+1)} = r^{(k)} - \alpha_k Ap^{(k)}\)
6 计算方向系数 \(\beta_k = \frac{(r^{(k+1)}, r^{(k+1)})}{(r^{(k)}, r^{(k)})}\)
7 更新搜索方向 \(p^{(k+1)} = r^{(k+1)} + \beta_k p^{(k)}\)
8 迭代推进 \(k=k+1\),返回步骤2

七、CG法的核心性质与收敛性

7.1 有限步收敛性

\(n\)维空间中最多存在\(n\)个两两正交的非零向量,因此残差序列\(\{r^{(k)}\}\)最多迭代\(n\)步必出现\(r^{(n)}=0\),即无舍入误差的理想情况下,CG法最多\(n\)步即可得到方程组的精确解

从该角度看,CG法是一种直接法;但实际计算中,舍入误差会破坏残差的正交性,且大规模问题中仅需迭代远小于\(n\)的步数即可达到精度要求,因此工程中CG法被当作高效迭代法使用。

7.2 收敛速度估计

CG法的收敛速度由矩阵\(A\)的谱条件数\(K=\text{cond}(A)_2=\frac{\lambda_{\text{max}}(A)}{\lambda_{\text{min}}(A)}\)决定,误差的能量范数估计为:

\[\| x^{(k)} - x^* \|_A \leq 2 \left( \frac{\sqrt{K} - 1}{\sqrt{K} + 1} \right)^k \| x^{(0)} - x^* \|_A \tag{6.53} \]

其中\(\|u\|_A = \sqrt{(Au,u)}\)为向量的能量范数。

与最速下降法的核心对比

最速下降法的收敛因子为\(\frac{K-1}{K+1}\),而CG法的收敛因子为\(\frac{\sqrt{K}-1}{\sqrt{K}+1}\),收敛速度提升一个数量级。例如当\(K=100\)时,最速下降法收敛因子约为0.98,CG法仅为0.818,误差下降速度差距显著。


八、核心知识点归纳总结表

模块 核心内容 关键公式 核心说明与约束
理论根基 问题等价性 \(Ax=b \iff \min_{x\in\mathbb{R}^n} \varphi(x),\ \varphi(x)=\frac{1}{2}(Ax,x)-(b,x)\) 仅适用于实对称正定矩阵\(A\),是算法的理论基础
核心概念 A-共轭向量组 \((Ap^{(i)}, p^{(j)})=0,\ i\neq j\) 普通正交的推广,保证子空间极小化可分解,避免迭代震荡
迭代框架 通用下降格式 \(x^{(k+1)} = x^{(k)} + \alpha_k p^{(k)}\) 与最速下降法框架一致,核心差异为搜索方向的构造
最优步长 CG法步长公式 \(\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(p^{(k)}, Ap^{(k)})}\) 精确线搜索推导,利用残差正交性简化,保证函数值严格下降
搜索方向 共轭方向构造 \(p^{(k+1)} = r^{(k+1)} + \beta_k p^{(k)}\) 当前残差与上一步方向的线性组合,保证A-共轭性
方向系数 FR简化公式 \(\beta_k = \frac{(r^{(k+1)}, r^{(k+1)})}{(r^{(k)}, r^{(k)})}\) 仅需残差内积,计算量极小,是算法高效的核心
残差更新 递推公式 \(r^{(k+1)} = r^{(k)} - \alpha_k Ap^{(k)}\) 避免重复计算\(Ax^{(k+1)}\),减少矩阵-向量乘积次数
核心性质 残差正交性 \((r^{(i)}, r^{(j)})=0,\ i\neq j\) 有限步收敛的核心,也是公式简化的基础
核心性质 方向A-共轭性 \((Ap^{(i)}, p^{(j)})=0,\ i\neq j\) 保证子空间全局极小,无迭代回头路
收敛性 有限步收敛 理想情况下最多\(n\)步收敛到精确解 区别于最速下降法的核心优势
收敛速度 误差估计 \(|x^{(k)}-x^*|_A \leq 2\left(\frac{\sqrt{K}-1}{\sqrt{K}+1}\right)^k |x^{(0)}-x^*|_A\) 收敛速度由条件数的平方根决定,远快于最速下降法
应用场景 大规模稀疏对称正定方程组 有限元分析、计算流体力学、凸优化等 该类问题的首选求解算法,计算效率高,存储需求低

共轭梯度法算例 全步骤详解与结果分析

本例题是共轭梯度法(CG法)的经典二维验证算例,完整展示了CG法的迭代流程、有限步收敛特性,同时对比了最速下降法的核心缺陷,以下为全链路无跳步详解。


一、算例基础信息

待求解线性方程组:

\[\begin{cases} 3x_1 + x_2 = 5 \\ x_1 + 2x_2 = 5 \end{cases} \]

对应的矩阵形式为 \(Ax=b\),其中:

  • 系数矩阵 \(A=\begin{pmatrix} 3 & 1 \\ 1 & 2 \end{pmatrix}\),右端项 \(b=\begin{pmatrix} 5 \\ 5 \end{pmatrix}\)
  • 前提验证:\(A\) 满足对称正定(对称性:\(A^T=A\);正定性:一阶顺序主子式\(3>0\),二阶顺序主子式\(3\times2-1\times1=5>0\)),符合CG法的使用条件。

二、共轭梯度法 全步骤详细计算

取初始迭代点 \(x^{(0)}=(0,0)^T\),严格按照CG算法流程迭代计算:

第1步:初始化(\(k=0\)

  1. 计算初始残差:

    \[r^{(0)} = b - Ax^{(0)} = \begin{pmatrix}5\\5\end{pmatrix} - \begin{pmatrix}3&1\\1&2\end{pmatrix}\begin{pmatrix}0\\0\end{pmatrix} = \begin{pmatrix}5\\5\end{pmatrix} \]

  2. 初始搜索方向:\(p^{(0)} = r^{(0)} = \begin{pmatrix}5\\5\end{pmatrix}\)

第2步:计算最优步长 \(\alpha_0\)

CG法步长公式:\(\alpha_k = \frac{(r^{(k)}, r^{(k)})}{(Ap^{(k)}, p^{(k)})}\)

  • 分子(残差内积):\((r^{(0)}, r^{(0)}) = 5\times5 + 5\times5 = 50\)
  • 分母(矩阵内积):先计算 \(Ap^{(0)} = \begin{pmatrix}3&1\\1&2\end{pmatrix}\begin{pmatrix}5\\5\end{pmatrix} = \begin{pmatrix}20\\15\end{pmatrix}\),因此 \((Ap^{(0)}, p^{(0)}) = 20\times5 + 15\times5 = 175\)
  • 步长结果:\(\alpha_0 = \frac{50}{175} = \frac{2}{7}\)

第3步:更新迭代点 \(x^{(1)}\)

迭代公式:\(x^{(k+1)} = x^{(k)} + \alpha_k p^{(k)}\)

\[x^{(1)} = \begin{pmatrix}0\\0\end{pmatrix} + \frac{2}{7}\begin{pmatrix}5\\5\end{pmatrix} = \begin{pmatrix}\frac{10}{7} \\ \frac{10}{7}\end{pmatrix} \]

第4步:更新残差 \(r^{(1)}\)

残差递推公式:\(r^{(k+1)} = r^{(k)} - \alpha_k Ap^{(k)}\)

\[r^{(1)} = \begin{pmatrix}5\\5\end{pmatrix} - \frac{2}{7}\begin{pmatrix}20\\15\end{pmatrix} = \begin{pmatrix}5-\frac{40}{7} \\ 5-\frac{30}{7}\end{pmatrix} = \begin{pmatrix}-\frac{5}{7} \\ \frac{5}{7}\end{pmatrix} \]

第5步:计算方向系数 \(\beta_0\)

CG法系数公式:\(\beta_k = \frac{(r^{(k+1)}, r^{(k+1)})}{(r^{(k)}, r^{(k)})}\)

  • 分子:\((r^{(1)}, r^{(1)}) = (-\frac{5}{7})^2 + (\frac{5}{7})^2 = \frac{50}{49}\)
  • 分母:\((r^{(0)}, r^{(0)})=50\)
  • 系数结果:\(\beta_0 = \frac{\frac{50}{49}}{50} = \frac{1}{49}\)

第6步:更新搜索方向 \(p^{(1)}\)

方向递推公式:\(p^{(k+1)} = r^{(k+1)} + \beta_k p^{(k)}\)

\[p^{(1)} = \begin{pmatrix}-\frac{5}{7} \\ \frac{5}{7}\end{pmatrix} + \frac{1}{49}\begin{pmatrix}5\\5\end{pmatrix} = \begin{pmatrix}\frac{-35+5}{49} \\ \frac{35+5}{49}\end{pmatrix} = \begin{pmatrix}-\frac{30}{49} \\ \frac{40}{49}\end{pmatrix} \]

第7步:计算第二步步长 \(\alpha_1\)

  • 分子:\((r^{(1)}, r^{(1)})=\frac{50}{49}\)
  • 分母:先计算 \(Ap^{(1)} = \begin{pmatrix}3&1\\1&2\end{pmatrix}\begin{pmatrix}-\frac{30}{49} \\ \frac{40}{49}\end{pmatrix} = \begin{pmatrix}-\frac{50}{49} \\ \frac{50}{49}\end{pmatrix}\),因此 \((Ap^{(1)}, p^{(1)}) = (-\frac{50}{49})(-\frac{30}{49}) + (\frac{50}{49})(\frac{40}{49}) = \frac{3500}{2401}\)
  • 步长结果:\(\alpha_1 = \frac{\frac{50}{49}}{\frac{3500}{2401}} = \frac{7}{10}\)

第8步:更新迭代点 \(x^{(2)}\)(得到精确解)

\[x^{(2)} = x^{(1)} + \alpha_1 p^{(1)} = \begin{pmatrix}\frac{10}{7} \\ \frac{10}{7}\end{pmatrix} + \frac{7}{10}\begin{pmatrix}-\frac{30}{49} \\ \frac{40}{49}\end{pmatrix} = \begin{pmatrix}\frac{10}{7}-\frac{3}{7} \\ \frac{10}{7}+\frac{4}{7}\end{pmatrix} = \begin{pmatrix}1 \\ 2\end{pmatrix} \]

收敛验证

计算残差 \(r^{(2)} = b - Ax^{(2)} = \begin{pmatrix}5\\5\end{pmatrix} - \begin{pmatrix}3&1\\1&2\end{pmatrix}\begin{pmatrix}1\\2\end{pmatrix} = \begin{pmatrix}0\\0\end{pmatrix}\),迭代终止,\(x^{(2)}=(1,2)^T\) 为方程组的精确解。


三、迭代过程可视化分析(图6-4)

二次函数 \(\varphi(x)=\frac{1}{2}(Ax,x)-(b,x)\) 的几何意义是以方程组解为中心的超椭球面(二维下为椭圆),极小值点对应椭圆中心,也就是方程组的解。

图像 方法 核心特征
(a)(b) 共轭梯度法 迭代路径仅2步:第一步从初始点沿初始残差方向走到\(x^{(1)}\),第二步沿A-共轭方向直接指向椭圆中心(精确解),无震荡,完美验证了n维问题最多n步收敛的特性
(c)(d) 最速下降法 第一步与CG法完全一致(初始搜索方向均为负梯度),但后续迭代沿正交的负梯度方向走锯齿形路径,在解的附近反复震荡,收敛速度极慢,放大图可看到其在解附近需要大量迭代才能收敛

四、核心结论与拓展

  1. CG法的核心优势:本算例直观验证了CG法的有限步收敛性——无舍入误差的理想情况下,n维线性方程组最多n步即可得到精确解,彻底解决了最速下降法迭代震荡、收敛慢的缺陷。
  2. 收敛性的限制:当系数矩阵\(A\)的谱条件数\(K\gg1\)(病态矩阵)时,CG法的收敛速度会显著变慢,收敛因子为\(\frac{\sqrt{K}-1}{\sqrt{K}+1}\)\(K\)越大,收敛越慢。
  3. 工程优化方案:为改善病态矩阵下的收敛性,工程中普遍采用预处理共轭梯度法(PCG),通过预处理矩阵降低原矩阵的条件数,大幅提升CG法的收敛效率,是大规模稀疏对称正定方程组的首选求解算法。

posted on 2026-03-01 17:45  Indian_Mysore  阅读(0)  评论(0)    收藏  举报

导航