6.3超松弛迭代法(SOR)
超松弛迭代法(SOR)详细讲解与推导
一、迭代法的核心基础框架
对于n阶线性方程组 \(Ax=b\),迭代法的核心思想是对系数矩阵做分裂:\(A = M - N\),其中\(M\)为非奇异矩阵(称为分裂矩阵)。由此构造迭代格式:
两边左乘\(M^{-1}\),得到标准迭代形式:
其中:
- 迭代矩阵 \(L = M^{-1}N\),决定迭代的收敛性与收敛速度;
- 常数项 \(f = M^{-1}b\)。
迭代法收敛的充要条件:迭代矩阵的谱半径 \(\rho(L) < 1\)(谱半径为矩阵所有特征值的模的最大值)。
为了简化迭代构造,对系数矩阵\(A\)做标准的D-L-U分解:
其中:
- \(D\):对角矩阵,\(D = \text{diag}(a_{11},a_{22},\dots,a_{nn})\),要求\(a_{ii} \neq 0\)(保证迭代可计算);
- \(L\):严格下三角矩阵,对角线元素全为0,当\(i>j\)时\(L_{ij}=-a_{ij}\),其余为0;
- \(U\):严格上三角矩阵,对角线元素全为0,当\(i<j\)时\(U_{ij}=-a_{ij}\),其余为0。
高斯-塞德尔(GS)迭代就是基于该分解的经典迭代法,而超松弛迭代法(SOR)是GS迭代的推广与修正,核心是引入松弛因子优化收敛速度。
二、SOR迭代法的构造与完整推导
2.1 松弛思想的来源
GS迭代的核心是用已更新的分量计算新值,分量格式为:
SOR迭代在GS迭代的基础上,引入松弛因子\(\omega>0\),对旧值\(x_i^{(k)}\)和GS迭代的辅助值\(\tilde{x}_i^{(k+1)}\)做加权平均,得到新的迭代值:
该式也可写成增量形式,更直观体现“松弛”的含义:
即:新值 = 旧值 + 松弛因子×GS迭代的增量,通过调整\(\omega\)控制更新步长,优化收敛速度。
2.2 SOR分量计算公式的推导
将GS辅助值代入加权平均公式,展开推导:
最终得到SOR迭代的分量计算公式(计算机实现的核心格式):
2.3 SOR矩阵形式与分裂矩阵的推导
将分量公式两边乘以\(a_{ii}\),整理得:
结合D-L-U分解的定义,将上式转化为矩阵形式:
- 左边:\((D - \omega L)x^{(k+1)}\)(\(D-\omega L\)为下三角矩阵,对角元为\(a_{ii}\neq0\),可逆);
- 右边:\(\left[(1-\omega)D + \omega U\right]x^{(k)} + \omega b\)。
因此得到矩阵等式:
两边左乘\((D - \omega L)^{-1}\),得到SOR迭代的标准矩阵格式:
其中:
- 迭代矩阵:\(\boldsymbol{L_\omega = (D - \omega L)^{-1}\left[(1-\omega)D + \omega U\right]}\)
- 常数项:\(\boldsymbol{f = \omega (D - \omega L)^{-1}b}\)
对比迭代法的通用分裂形式\(A=M-N\),可推导出SOR的分裂矩阵:
由\(M^{-1} = \omega (D - \omega L)^{-1}\),得分裂矩阵:
这就是教材中分裂矩阵的来源,而非凭空定义。
三、SOR迭代的分类与特殊情况
-
当\(\omega=1\)时:
迭代矩阵退化为\(L_1=(D-L)^{-1}U\),与高斯-塞德尔迭代的迭代矩阵完全一致。因此GS迭代是SOR迭代在\(\omega=1\)时的特例,SOR是GS迭代的推广。 -
按松弛因子的分类:
- \(\omega>1\):超松弛迭代,放大GS迭代的更新步长,用于加速收敛(是SOR最常用的场景);
- \(\omega<1\):低松弛(亚松弛)迭代,缩小更新步长,用于改善迭代的稳定性,让原本不收敛的迭代变得收敛;
- \(\omega=1\):高斯-塞德尔迭代。
四、SOR迭代的收敛性理论与证明
4.1 收敛的充要条件
SOR迭代收敛的充要条件是迭代矩阵的谱半径满足:
该条件是所有迭代法收敛的通用充要条件,对SOR迭代完全适用。
4.2 收敛的必要条件(核心定理)
定理:SOR迭代收敛的必要条件是松弛因子满足 \(\boldsymbol{0 < \omega < 2}\)。
严格证明:
矩阵的行列式等于其所有特征值的乘积,因此对迭代矩阵\(L_\omega\),有:
其中\(\lambda_i\)是\(L_\omega\)的特征值。
分别计算行列式的两部分:
-
\(\det\left((D - \omega L)^{-1}\right) = \frac{1}{\det(D - \omega L)}\):
\(D-\omega L\)是下三角矩阵,行列式等于对角元的乘积,即\(\det(D-\omega L)=\det(D)\),因此\(\det\left((D - \omega L)^{-1}\right) = \frac{1}{\det(D)}\)。 -
\(\det\left((1-\omega)D + \omega U\right)\):
\((1-\omega)D + \omega U\)是上三角矩阵,行列式等于对角元的乘积,对角元为\((1-\omega)a_{ii}\),因此:\[\det\left((1-\omega)D + \omega U\right) = \prod_{i=1}^n (1-\omega)a_{ii} = (1-\omega)^n \det(D) \]
因此迭代矩阵的行列式为:
若SOR迭代收敛,则\(\rho(L_\omega)<1\),即所有特征值的模\(|\lambda_i|<1\),因此:
代入行列式结果得:
解不等式得:\(\boldsymbol{0 < \omega < 2}\)。
重要结论:若\(\omega\)不在\((0,2)\)区间内,SOR迭代一定不收敛;只有\(\omega\in(0,2)\)时,迭代才有可能收敛。该条件是收敛的前提,是选择松弛因子的基础。
4.3 对称正定矩阵的收敛充分条件
定理:若系数矩阵\(A\)是对称正定矩阵,且\(0<\omega<2\),则SOR迭代一定收敛。
该定理是工程中最常用的结论(有限元、有限差分法得到的线性方程组多为对称正定矩阵),证明如下:
严格证明:
要证明SOR收敛,只需证明\(L_\omega\)的任意特征值\(\lambda\)都满足\(|\lambda|<1\)。
设\(\lambda\)是\(L_\omega\)的任意特征值,\(x\)为对应的特征向量,即\(L_\omega x = \lambda x\),代入\(L_\omega\)的定义得:
两边左乘\((D - \omega L)\),整理得:
由于\(A\)是对称矩阵,\(A=A^T\),结合\(A=D-L-U\),可得\(U=L^T\)(\(L\)的转置等于\(U\))。
对式(1)两边左乘\(x\)的共轭转置\(x^H\)(处理复数特征值),记:
- \(\alpha = x^H D x\):\(D\)是正定对角矩阵(对称正定矩阵的对角元恒正),因此\(\alpha>0\);
- \(\beta = x^H L x\),则\(x^H U x = x^H L^T x = \overline{\beta}\)(\(\beta\)的共轭复数)。
式(1)可改写为:
解出\(\lambda\)并计算模的平方:
利用\(A\)的正定性:\(x^H A x = \alpha - \beta - \overline{\beta} > 0\),记\(S=\beta+\overline{\beta}\),则\(S < \alpha\)。
将式(3)的分子\(N\)与分母\(DEN\)展开并做差:
分析各项符号:
- \(0<\omega<2\),因此\(\omega(2-\omega)>0\);
- \(\alpha>0\),\(S-\alpha<0\);
因此\(N-DEN < 0\),即\(N < DEN\)。同时分母\(DEN=|\alpha - \omega \beta|^2>0\)(若\(DEN=0\)则与\(S<\alpha\)矛盾),因此:
由于\(\lambda\)是\(L_\omega\)的任意特征值,因此\(\rho(L_\omega)<1\),SOR迭代收敛。
五、最佳松弛因子与收敛加速
SOR迭代的收敛速度高度依赖松弛因子\(\omega\)的选择,最佳松弛因子\(\omega_{opt}\)是使\(\rho(L_\omega)\)最小的\(\omega\),此时迭代收敛速度最快。
5.1 适用场景
对于具有性质A(2-循环矩阵)且相容次序的矩阵(如五点差分法解泊松方程得到的矩阵,是工程中最常见的场景),有严格的最佳松弛因子计算公式。
5.2 计算公式
记雅可比迭代矩阵\(J=D^{-1}(L+U)\)的谱半径为\(\mu=\rho(J)\)(要求\(\mu<1\),即雅可比迭代收敛),则:
此时迭代矩阵的最小谱半径为:
5.3 实例验证
以教材例6.8的矩阵为例,雅可比迭代矩阵的谱半径\(\mu=0.75\),代入公式得\(\omega_{opt}\approx1.204\),与实际测试的最优值\(\omega=1.3\)接近,验证了公式的有效性。实际工程中,可通过小规模测试或经验公式确定\(\omega_{opt}\),大幅减少迭代次数。
六、SOR迭代的计算机实现流程
- 输入:系数矩阵\(A\)、右端向量\(b\)、初始向量\(x_0\)、松弛因子\(\omega\)、收敛精度\(\varepsilon\)、最大迭代次数\(N_{max}\)。
- 初始化:迭代次数\(k=0\),当前迭代值\(x=x_0\)。
- 迭代循环:
- 对\(i=1\)到\(n\),依次计算:
- 已更新分量和:\(sum1 = \sum_{j=1}^{i-1}a_{ij}x_j\)
- 未更新分量和:\(sum2 = \sum_{j=i}^n a_{ij}x_j\)
- 增量:\(\Delta x_i = \frac{\omega}{a_{ii}}(b_i - sum1 - sum2)\)
- 更新分量:\(x_i = x_i + \Delta x_i\)
- 计算收敛判据:\(\max|\Delta x_i| < \varepsilon\) 或 \(\|b-Ax\|_\infty < \varepsilon\)。
- 若满足精度,输出\(x\),迭代结束;否则\(k=k+1\),若\(k>N_{max}\),输出迭代失败,结束循环。
- 对\(i=1\)到\(n\),依次计算:
七、SOR迭代法核心知识点总结表
| 分类 | 核心内容 | 关键公式/结论 |
|---|---|---|
| 核心定义 | 迭代格式 | \(x^{(k+1)} = L_\omega x^{(k)} + f\) |
| 迭代矩阵 | \(L_\omega = (D - \omega L)^{-1}\left[(1-\omega)D + \omega U\right]\) | |
| 分裂矩阵 | \(M = \frac{1}{\omega}(D - \omega L)\) | |
| 分量计算公式 | \(x_i^{(k+1)} = x_i^{(k)} + \frac{\omega}{a_{ii}}\left( b_i - \sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)} - \sum_{j=i}^n a_{ij}x_j^{(k)} \right)\) | |
| 特殊情况 | \(\omega=1\) | 退化为高斯-塞德尔迭代 |
| \(\omega>1\) | 超松弛迭代,用于加速收敛 | |
| \(\omega<1\) | 低松弛迭代,用于改善稳定性 | |
| 收敛性理论 | 收敛充要条件 | \(\rho(L_\omega) < 1\) |
| 收敛必要条件 | \(0 < \omega < 2\)(不满足则一定不收敛) | |
| 对称正定矩阵收敛充分条件 | \(A\)对称正定 + \(0<\omega<2\) → SOR一定收敛 | |
| 收敛加速 | 最佳松弛因子(2-循环相容次序矩阵) | \(\omega_{opt} = \frac{2}{1+\sqrt{1-\mu^2}}\),\(\mu=\rho(J)\)(雅可比谱半径) |
| 最优谱半径 | \(\rho(L_{\omega_{opt}}) = \omega_{opt} - 1\) | |
| 工程特性 | 存储需求 | 仅需1个数组存储迭代值,与GS迭代一致,内存占用低 |
| 计算量 | 单次迭代计算量与雅可比、GS迭代相当,收敛速度远优于二者(选对\(\omega\)时) | |
| 适用场景 | 大型稀疏线性方程组(如偏微分方程数值解、有限元分析) |
SOR迭代法收敛性理论 深度讲解与完整推导
承接上一节SOR迭代法的构造,本节是SOR方法的核心理论基础,解决三个关键问题:
- SOR迭代收敛的前提条件是什么?
- 什么情况下能保证SOR迭代一定收敛?
- 如何选择松弛因子让SOR迭代收敛速度最快?
一、前置基础回顾
对于线性方程组 \(Ax=b\),SOR迭代的核心形式为:
其中迭代矩阵:
\(A=D-L-U\) 为系数矩阵的D-L-U分解(\(D\)为对角矩阵,\(L\)为严格下三角矩阵,\(U\)为严格上三角矩阵)。
迭代法收敛的充要条件:迭代矩阵的谱半径 \(\boldsymbol{\rho(L_\omega) < 1}\)(谱半径为矩阵所有特征值模的最大值)。所有收敛性定理均围绕该充要条件展开。
二、定理6.10:SOR迭代收敛的必要条件
定理内容
若解 \(Ax=b\) 的SOR迭代法收敛,则松弛因子必然满足 \(\boldsymbol{0 < \omega < 2}\)。
完整证明拆解
步骤1:从收敛性得到行列式的约束
SOR迭代收敛 → 满足收敛充要条件 \(\rho(L_\omega) < 1\)。
设 \(L_\omega\) 的 \(n\) 个特征值为 \(\lambda_1,\lambda_2,\dots,\lambda_n\),根据矩阵行列式的性质:矩阵的行列式等于所有特征值的乘积,即:
对等式两边取模,得:
根据谱半径的定义,\(\rho(L_\omega) = \max_{1\leq i\leq n} |\lambda_i|\),因此所有特征值的模都满足 \(|\lambda_i| \leq \rho(L_\omega)\),代入乘积得:
由于迭代收敛,\(\rho(L_\omega) < 1\),因此 \(\left[\rho(L_\omega)\right]^n < 1\),最终得到核心约束:
步骤2:计算迭代矩阵的行列式
根据矩阵行列式的性质:\(\det(AB)=\det(A)\det(B)\),\(\det(A^{-1})=1/\det(A)\),对 \(L_\omega\) 拆分计算:
分别计算两部分的行列式:
-
\(\det\left[(D - \omega L)^{-1}\right]\):
\(D-\omega L\) 是下三角矩阵(\(D\)为对角矩阵,\(L\)为严格下三角矩阵),下三角矩阵的行列式等于对角元的乘积。
\(D-\omega L\) 的对角元与 \(D\) 完全一致(\(L\)的对角元为0),因此 \(\det(D-\omega L)=\det(D)\),故:\[\det\left[(D - \omega L)^{-1}\right] = \frac{1}{\det(D)} \] -
\(\det\left[(1-\omega)D + \omega U\right]\):
\((1-\omega)D + \omega U\) 是上三角矩阵(\(D\)为对角矩阵,\(U\)为严格上三角矩阵),上三角矩阵的行列式同样等于对角元的乘积。
该矩阵的对角元为 \((1-\omega)a_{ii}\)(\(U\)的对角元为0),因此:\[\det\left[(1-\omega)D + \omega U\right] = \prod_{i=1}^n (1-\omega)a_{ii} = (1-\omega)^n \cdot \det(D) \]
步骤3:合并得到最终结论
将两部分行列式合并,\(\det(D)\) 相互抵消:
结合步骤1的约束 \(|\det(L_\omega)| < 1\),得:
两边开 \(n\) 次方(\(n\)为正整数,不改变不等号方向):
解该绝对值不等式:
- 左半部分:\(1-\omega > -1 \implies \omega < 2\)
- 右半部分:\(1-\omega < 1 \implies \omega > 0\)
最终得到:\(\boldsymbol{0 < \omega < 2}\),定理得证。
定理核心解读
- 这是SOR迭代收敛的硬约束:只要 \(\omega\) 不在 \((0,2)\) 区间内,无论系数矩阵 \(A\) 是什么形式,SOR迭代一定发散。
- 该条件是必要非充分条件:\(\omega\in(0,2)\) 不能保证迭代一定收敛,只是收敛的前提。
三、定理6.11:对称正定矩阵的收敛充分条件
该定理是工程中最常用的收敛性判定准则,有限元、有限差分法求解椭圆型方程得到的系数矩阵,大多为对称正定矩阵。
定理内容
若线性方程组 \(Ax=b\) 满足以下两个条件:
- 系数矩阵 \(A\) 为对称正定矩阵,且 \(A=D-L-U\);
- 松弛因子满足 \(\boldsymbol{0 < \omega < 2}\);
则解 \(Ax=b\) 的SOR迭代法一定收敛。
完整证明拆解
证明思路
要证明SOR迭代收敛,只需证明:\(L_\omega\) 的任意一个特征值 \(\lambda\) 都满足 \(|\lambda| < 1\),即可推出 \(\rho(L_\omega) < 1\),满足收敛充要条件。
步骤1:从特征值定义出发,消去逆矩阵
设 \(\lambda\) 是 \(L_\omega\) 的任意一个特征值,\(y\) 为对应的非零特征向量,即:
代入 \(L_\omega\) 的定义:
两边左乘 \((D - \omega L)\) 消去逆矩阵,得到核心等式:
步骤2:引入内积,推导特征值表达式
对等式(1)两边同时与特征向量 \(y\) 做欧氏内积(内积定义:\((x,y)=x^H y\),\(H\)为共轭转置,用于处理复数特征值),得:
根据内积的线性性质,将常数项提出,整理得到 \(\lambda\) 的表达式:
步骤3:利用对称正定矩阵的性质,化简内积
-
\((Dy,y)\) 的正定性:
\(A\) 是对称正定矩阵,因此其对角元 \(a_{ii} > 0\)(正定矩阵的必要条件)。展开内积:\[(Dy,y) = \sum_{i=1}^n a_{ii} |y_i|^2 \]由于 \(y \neq 0\),\(a_{ii} > 0\),因此该和式一定为正,记 \(\boldsymbol{\sigma = (Dy,y) > 0}\)。
-
\(U=L^T\) 的对称性:
\(A\) 是对称矩阵,即 \(A=A^T\)。结合 \(A=D-L-U\),得:\[A^T = D^T - L^T - U^T = D - L^T - U^T = A = D - L - U \]因此推出 \(\boldsymbol{U=L^T}\)(严格下三角矩阵的转置为严格上三角矩阵)。
-
内积的共轭性质:
记 \(-(Ly,y) = \alpha + i\beta\)(\(\alpha,\beta\) 为实数,\(i\) 为虚数单位),根据内积的共轭性质 \((A^T x,y) = (x,Ay)\),得:\[(Uy,y) = (L^T y,y) = (y,Ly) = \overline{(Ly,y)} \]其中 \(\overline{z}\) 表示复数 \(z\) 的共轭。代入 \(-(Ly,y)=\alpha+i\beta\),得:
\[(Uy,y) = \overline{-\alpha -i\beta} = -\alpha + i\beta \] -
正定带来的核心不等式:
\(A\) 是正定矩阵,因此 \((Ay,y) > 0\)。展开 \(A=D-L-U\):\[(Ay,y) = (Dy,y) - (Ly,y) - (Uy,y) = \sigma - (Ly,y) - (Uy,y) \]代入 \((Ly,y)=-\alpha-i\beta\)、\((Uy,y)=-\alpha+i\beta\),两者相加抵消虚部,得:
\[(Ay,y) = \sigma + 2\alpha > 0 \]
步骤4:计算 \(|\lambda|^2\),证明其小于1
将上述化简结果代入式(2),得到 \(\lambda\) 的复数形式:
对于复数 \(z=\frac{a+ib}{c+id}\),其模的平方满足 \(|z|^2 = \frac{a^2+b^2}{c^2+d^2}\),因此:
要证明 \(|\lambda| < 1\),只需证明 \(|\lambda|^2 < 1\),即证明分子 < 分母,等价于证明:
其中 \((\omega\beta)^2\) 相互抵消,剩余部分为平方差形式,利用 \(a^2-b^2=(a-b)(a+b)\) 展开:
分析 \(\Delta\) 的符号:
- \(0<\omega<2\) → \(\omega>0\),\(2-\omega>0\);
- \(\sigma>0\)(已证);
- \(\sigma+2\alpha>0\)(正定带来的核心不等式);
所有正数相乘后带负号,因此 \(\boldsymbol{\Delta < 0}\),即分子 < 分母,代入式(3)得:
由于 \(\lambda\) 是 \(L_\omega\) 的任意特征值,因此 \(\rho(L_\omega) < 1\),SOR迭代收敛,定理得证。
定理核心解读
- 这是充分非必要条件:只要满足对称正定+0<ω<2,迭代一定收敛;但迭代收敛不代表矩阵一定对称正定。
- 工程价值极高:对于结构力学、流体力学、热传导等问题离散得到的对称正定矩阵,只需选择0<ω<2,即可保证迭代收敛,无需额外判定。
四、定理6.12:对角占优矩阵的收敛充分条件
定理内容
若线性方程组 \(Ax=b\) 满足以下两个条件:
- 系数矩阵 \(A\) 为严格对角占优矩阵,或弱对角占优且不可约矩阵;
- 松弛因子满足 \(\boldsymbol{0 < \omega \leq 1}\);
则解 \(Ax=b\) 的SOR迭代法一定收敛。
核心概念与定理解读
-
对角占优定义:
- 严格对角占优:对矩阵的每一行 \(i\),都满足 \(|a_{ii}| > \sum_{j\neq i} |a_{ij}|\);
- 弱对角占优:对每一行 \(i\),都满足 \(|a_{ii}| \geq \sum_{j\neq i} |a_{ij}|\),且至少存在一行严格大于;
- 不可约矩阵:无法通过行、列置换变为分块上三角矩阵,对应方程组无法拆分为独立的小方程组。
-
与对称正定定理的核心区别:
对松弛因子的限制更严格,仅当 \(0<\omega\leq1\) 时能保证收敛;若 \(\omega>1\)(超松弛),则无法保证收敛,需额外条件。 -
适用场景:
差分法求解偏微分方程得到的矩阵大多为对角占优矩阵,该定理可直接判定低松弛、GS迭代(ω=1)的收敛性。
五、SOR迭代的最佳松弛因子
SOR迭代的收敛速度由 \(\rho(L_\omega)\) 决定,\(\rho(L_\omega)\) 越小,收敛速度越快。最佳松弛因子 \(\omega_{opt}\) 是使 \(\rho(L_\omega)\) 取最小值的松弛因子,即:
1. 适用条件
对于具有性质A(2-循环矩阵)且相容次序的矩阵(工程中最常见的是五点差分法离散泊松方程得到的矩阵),有严格的最佳松弛因子计算公式。
2. 最佳松弛因子公式
其中:
- \(\rho(J)\) 为雅可比迭代矩阵 \(J=D^{-1}(L+U)\) 的谱半径;
- 要求雅可比迭代收敛,即 \(\rho(J) < 1\)。
3. 核心结论
当取最佳松弛因子时,迭代矩阵的最小谱半径为:
4. 实例验证
以教材例6.8的矩阵为例,雅可比迭代矩阵的谱半径 \(\rho(J)=0.75\),代入公式得:
与实际测试的最优值 \(\omega=1.3\) 高度吻合,验证了公式的有效性。此时 \(\rho(L_{\omega_{opt}})\approx0.204\),远小于GS迭代(ω=1)的谱半径 \(\rho(J)^2=0.5625\),收敛速度提升超2倍。
六、SOR迭代收敛性核心定理总结表
| 定理编号 | 核心条件 | 结论 | 条件类型 | 核心适用场景 | 关键注意事项 |
|---|---|---|---|---|---|
| 定理6.10 | SOR迭代收敛 | 必有 \(0<\omega<2\) | 必要条件 | 所有SOR迭代的前提 | ω∉(0,2)时迭代一定发散 |
| 定理6.11 | 1. \(A\) 对称正定;2. \(0<\omega<2\) | SOR迭代一定收敛 | 充分条件 | 有限元、结构力学等对称正定方程组 | 是工程中最常用的收敛判定准则 |
| 定理6.12 | 1. \(A\) 严格对角占优/弱对角占优不可约;2. \(0<\omega\leq1\) | SOR迭代一定收敛 | 充分条件 | 差分法离散偏微分方程得到的对角占优方程组 | ω>1时无法保证收敛 |
| 最佳松弛因子公式 | 1. \(A\) 具有性质A、相容次序;2. 雅可比迭代收敛 | 可计算出收敛最快的 \(\omega_{opt}\) | 优化公式 | 五点差分法等规则网格离散的方程组 | 需先计算雅可比迭代的谱半径 |
块迭代法(分块迭代法)深度讲解与完整推导
块迭代法是点迭代法(雅可比、GS、SOR)向分块矩阵的推广,核心是将大型稀疏矩阵按结构分块,把每个子块当作“标量元素”,类比点迭代的构造逻辑设计迭代格式。它专为工程中大规模稀疏线性方程组(如偏微分方程离散、有限元分析)设计,核心优势是利用矩阵的分块稀疏性提升计算效率、加快收敛速度,是科学计算中求解大型线性方程组的核心方法之一。
一、前置背景:块迭代法的经典应用场景——泊松方程五点差分格式
块迭代法最典型的应用是二维泊松方程边值问题的数值求解,我们先从微分方程离散出发,完整推导差分格式与矩阵分块结构,为块迭代法的讲解建立工程实例基础。
1.1 模型问题与网格剖分
考虑二维泊松方程齐次Dirichlet边值问题:
其中求解区域为单位正方形 \(\Omega = [0,1] \times [0,1]\),\(\partial\Omega\) 为区域边界。
网格剖分
取等步长 \(h = \frac{1}{N+1}\),用直线 \(x_i = ih\)、\(y_j = jh\)(\(i,j=0,1,\dots,N+1\))对区域做网格剖分:
- 网格内点:\(\Omega_h = \{(x_i,y_j) \mid i,j=1,2,\dots,N\}\),共 \(N^2\) 个未知量;
- 边界点:\(\partial\Omega_h = \{(x_i,0),(x_i,1),(0,y_j),(1,y_j) \mid i,j=0,1,\dots,N+1\}\),边界上 \(u=0\)(齐次边界条件)。
1.2 二阶偏导数的中心差分近似
二阶偏导数的中心差分格式具有二阶精度(截断误差 \(O(h^2)\)),在网格点 \((x_i,y_j)\) 处:
1.3 五点差分格式的推导
略去截断误差 \(o(h^2)\),记 \(u_{ij}\) 为 \(u(x_i,y_j)\) 的近似值,\(f_{ij}=f(x_i,y_j)\),将差分代入泊松方程:
两边同乘 \(h^2\) 并整理,得到泊松方程的五点差分格式:
该格式的物理意义:每个网格点的函数值仅与上下左右4个相邻点相关,因此离散后的线性方程组系数矩阵是稀疏矩阵,每行最多5个非零元素。
1.4 差分方程的矩阵形式与分块结构
将网格点按逐行自然序排列(先排 \(y=y_1\) 行的 \(u_{11},u_{21},\dots,u_{N1}\),再排 \(y=y_2\) 行,直到 \(y=y_N\) 行),构造未知向量与右端向量:
差分方程可写成矩阵形式 \(\boldsymbol{Au=b}\),其中系数矩阵 \(\boldsymbol{A}\) 具有块三对角分块结构:
其中:
- \(I\) 为 \(N \times N\) 单位矩阵,对应相邻行网格点的耦合关系(\(u_{i,j+1}\) 与 \(u_{ij}\) 的关联);
- 主对角块 \(A_{ii}\) 为 \(N \times N\) 三对角矩阵,对应同一行内网格点的耦合关系:\[A_{ii} = \begin{pmatrix} 4 & -1 & & \\ -1 & 4 & -1 & \\ & \ddots & \ddots & \ddots & \\ & & -1 & 4 & -1 \\ & & & -1 & 4 \end{pmatrix} \in \mathbb{R}^{N \times N}, \quad i=1,2,\dots,N \tag{6.30} \]
1.5 点迭代法的谱半径与收敛速度分析
该模型问题是验证迭代法收敛速度的经典算例,我们先推导点迭代的核心参数,为后续块迭代的优势对比建立基准。
(1)雅可比迭代矩阵的谱半径
雅可比迭代矩阵定义为 \(J = D^{-1}(L+U)\),其中 \(D\) 为 \(A\) 的对角矩阵(对角元全为4)。利用分离变量法可求得 \(J\) 的特征值:
谱半径为特征值模的最大值,当 \(i=j=1\) 时取得最大值:
当 \(h \to 0\)(网格加密)时,\(\cos \pi h \approx 1 - \frac{1}{2}\pi^2 h^2\),谱半径趋近于1,雅可比迭代收敛速度极慢。
(2)SOR迭代的最佳松弛因子
该模型问题的系数矩阵 \(A\) 是对称正定矩阵,且满足“性质A”与相容次序,因此可使用最佳松弛因子公式:
代入 \(\rho(J)=\cos \pi h\),利用三角恒等式 \(\sqrt{1-\cos^2 \pi h}=\sin \pi h\),化简得:
此时SOR迭代矩阵的最小谱半径为:
(3)渐近收敛速度对比
迭代法的渐近收敛速度定义为 \(R(B) = -\ln \rho(B)\),\(R\) 越大,收敛速度越快。
- 雅可比迭代:\(R(J) = -\ln \cos \pi h \approx \frac{1}{2}\pi^2 h^2 + o(h^4)\),收敛速度为 \(O(h^2)\);
- 最佳SOR迭代:\(R(L_{\omega_{opt}}) = -\ln (\omega_{opt}-1) \approx 2\pi h + o(h^3)\),收敛速度为 \(O(h)\)。
核心结论:最佳SOR迭代的收敛速度比雅可比迭代高一个数量级,网格越密,优势越明显。
- 实例验证:取 \(h=0.05\)(\(N=19\)),收敛精度 \(10^{-6}\),雅可比迭代需1154次,高斯-塞德尔迭代需578次,最佳SOR迭代仅需61次。
二、块迭代法的一般构造与核心格式
块迭代法的核心思想:将系数矩阵 \(A\) 按结构分块,把每个子块当作“标量元素”,完全类比点迭代的分裂思想,构造分块形式的迭代格式。
2.1 矩阵的块D-L-U分解
设 \(A \in \mathbb{R}^{n \times n}\) 为大型稀疏矩阵,将其分块为 \(q \times q\) 的块矩阵:
其中主对角块 \(A_{ii} \in \mathbb{R}^{n_i \times n_i}\) 为非奇异矩阵,且 \(\sum_{i=1}^q n_i = n\)。
类比点迭代的D-L-U分解,定义块形式的分解:
- 块对角矩阵:\(\boldsymbol{D} = \text{diag}(A_{11},A_{22},\dots,A_{qq})\);
- 严格块下三角矩阵:\(\boldsymbol{L} = \begin{pmatrix} 0 & & \\ -A_{21} & 0 & \\ \vdots & \ddots & \ddots \\ -A_{q1} & \dots & -A_{q,q-1} & 0 \end{pmatrix}\);
- 严格块上三角矩阵:\(\boldsymbol{U} = \begin{pmatrix} 0 & -A_{12} & \dots & -A_{1q} \\ & 0 & \dots & -A_{2q} \\ & & \ddots & \vdots \\ & & & 0 \end{pmatrix}\)。
因此得到块形式的矩阵分裂:\(\boldsymbol{A = D - L - U}\),与点迭代的分解形式完全一致,仅将标量替换为矩阵块。
2.2 块雅可比迭代法(BJ)
(1)迭代构造
类比点雅可比迭代,选取分裂矩阵 \(M=D\)(块对角矩阵),则 \(A = M - N\),其中 \(N = L + U\)。
代入迭代法通用格式 \(Mx^{(k+1)} = Nx^{(k)} + b\),得到块雅可比迭代的矩阵形式:
(2)分量迭代格式
按块展开,得到可直接计算的分量格式:
其中 \(x = (x_1,x_2,\dots,x_q)^T\)、\(b=(b_1,b_2,\dots,b_q)^T\) 为与矩阵分块对应的向量分块,\(x_i \in \mathbb{R}^{n_i}\),\(b_i \in \mathbb{R}^{n_i}\)。
(3)计算逻辑与优势
块雅可比迭代每一步的核心操作:对每个 \(i\),求解一个低阶线性方程组 \(A_{ii} x_i^{(k+1)} = g_i\)(\(g_i\) 为等式右端的已知项)。
- 若主对角块 \(A_{ii}\) 为三对角、带状矩阵,可通过追赶法(Thomas算法)直接求解,无需迭代,计算效率极高;
- 各子块的求解相互独立,天然适合并行计算,是大规模并行计算的核心迭代格式之一。
2.3 块超松弛迭代法(BSOR)
(1)迭代构造
类比点SOR迭代,选取带松弛因子的分裂矩阵:
其中 \(\omega>0\) 为松弛因子,\(D-\omega L\) 为块下三角矩阵,主对角块为 \(A_{ii}\)(非奇异),因此 \(M\) 可逆。
代入迭代法通用格式,得到BSOR迭代的矩阵形式:
其中:
- 迭代矩阵:\(\boldsymbol{L_\omega = (D - \omega L)^{-1}\left[(1-\omega)D + \omega U\right]}\)
- 常数项:\(\boldsymbol{f = \omega (D - \omega L)^{-1} b}\)
(2)分量迭代格式
按块展开,得到可直接计算的分量格式:
(3)计算逻辑与松弛思想
BSOR迭代是块高斯-塞德尔迭代(BGS,\(\omega=1\))的推广,核心松弛逻辑:
- 先通过块高斯-塞德尔迭代计算辅助值 \(\tilde{x}_i^{(k+1)}\):\(A_{ii} \tilde{x}_i^{(k+1)} = b_i - \sum_{j=1}^{i-1} A_{ij} x_j^{(k+1)} - \sum_{j=i+1}^q A_{ij} x_j^{(k)}\);
- 对旧值 \(x_i^{(k)}\) 与辅助值 \(\tilde{x}_i^{(k+1)}\) 做加权平均:\(x_i^{(k+1)} = (1-\omega)x_i^{(k)} + \omega \tilde{x}_i^{(k+1)}\);
- 整理后即得到式(6.32)的迭代格式。
与块雅可比迭代一致,每一步迭代仅需求解 \(q\) 个低阶线性方程组,利用主对角块的带状结构可实现高效求解。
- 实例验证:对泊松方程模型问题(\(h=0.05\)),块雅可比迭代需581次,块高斯-塞德尔迭代需292次,最佳BSOR迭代仅需52次,收敛速度优于点迭代。
三、块迭代法的收敛性理论与证明
块迭代法的收敛性判定与点迭代完全一致,核心是迭代矩阵的谱半径 \(\rho(L) < 1\),以下给出工程中最常用的收敛性定理与完整证明。
3.1 定理6.13:对称正定矩阵的BSOR收敛充分条件
定理内容
设线性方程组 \(Ax=b\) 满足:
- 系数矩阵 \(A\) 为对称正定矩阵,块分解为 \(A=D-L-U\);
- 松弛因子满足 \(\boldsymbol{0 < \omega < 2}\);
则解 \(Ax=b\) 的BSOR迭代法一定收敛。
完整证明
要证明BSOR迭代收敛,只需证明迭代矩阵 \(L_\omega\) 的任意特征值 \(\lambda\) 都满足 \(|\lambda| < 1\),即可推出 \(\rho(L_\omega) < 1\)。
步骤1:从特征值定义出发
设 \(\lambda\) 是 \(L_\omega\) 的任意特征值,\(y\) 为对应的非零特征向量,即 \(L_\omega y = \lambda y\),代入 \(L_\omega\) 的定义得:
两边左乘 \((D - \omega L)\) 消去逆矩阵,得到核心等式:
步骤2:利用对称正定矩阵的性质
- \(A\) 对称正定 → \(A=A^T\),结合 \(A=D-L-U\),得 \(\boldsymbol{U=L^T}\)(严格块下三角矩阵的转置为严格块上三角矩阵);
- \(A\) 对称正定 → 主对角块 \(A_{ii}\) 对称正定,因此块对角矩阵 \(D\) 对称正定,对任意非零向量 \(y\),有 \(\boldsymbol{(Dy,y) > 0}\),记 \(\sigma = (Dy,y)\);
- 记 \(-(Ly,y) = \alpha + i\beta\)(\(\alpha,\beta\) 为实数),由 \(U=L^T\) 得:\[(Uy,y) = (L^T y,y) = (y,Ly) = \overline{(Ly,y)} = -\alpha + i\beta \]
- 由 \(A\) 的正定性:\((Ay,y) = (Dy,y) - (Ly,y) - (Uy,y) = \sigma + 2\alpha > 0\)。
步骤3:推导特征值的模
对式(*)两边与 \(y\) 做欧氏内积,整理得:
计算模的平方:
要证明 \(|\lambda| < 1\),只需证明分子 < 分母,即:
利用平方差公式展开:
分析符号:
- \(0<\omega<2\) → \(\omega>0\),\(2-\omega>0\);
- \(\sigma>0\),\(\sigma+2\alpha>0\)(正定性质);
因此 \(\Delta < 0\),即分子 < 分母,故 \(|\lambda|^2 < 1 \implies |\lambda| < 1\)。
由于 \(\lambda\) 是 \(L_\omega\) 的任意特征值,因此 \(\rho(L_\omega) < 1\),BSOR迭代收敛,定理得证。
3.2 定理6.14:T-矩阵的BSOR收敛性与最佳松弛因子
该定理是块迭代法最佳松弛因子的核心理论,针对工程中最常见的块三对角矩阵。
1. T-矩阵的定义
形如
的块三对角矩阵,若主对角块 \(D_i\)(\(i=1,2,\dots,q\))均为对角矩阵,则称 \(A\) 为T-矩阵。
工程意义:泊松方程的五点差分矩阵,通过网格点的红黑排序(棋盘排序)后,可转化为T-矩阵,是偏微分方程数值解中最常见的矩阵形式之一。
2. 定理内容
设 \(A\) 为非奇异的T-矩阵,块对角矩阵 \(D=\text{diag}(D_1,D_2,\dots,D_q)\) 非奇异,块雅可比迭代矩阵 \(J=I-D^{-1}A\),若 \(\rho(J) < 1\)(块雅可比迭代收敛),则:
- 对任意 \(0<\omega<2\),有 \(\rho(L_\omega) < 1\),即BSOR迭代收敛;
- 最佳松弛因子为:\[\boldsymbol{\omega_{opt} = \frac{2}{1 + \sqrt{1 - [\rho(J)]^2}}} \]
- 迭代矩阵的谱半径满足分段表达式:\[\rho(L_\omega) = \begin{cases} \displaystyle \frac{1}{4}\left[ \omega\mu + \sqrt{\omega^2\mu^2 - 4(\omega-1)} \right]^2, & 0 < \omega < \omega_{opt} \\ \omega - 1, & \omega_{opt} \leq \omega < 2 \end{cases} \]其中 \(\mu = \rho(J)\),且 \(\rho(L_{\omega_{opt}}) = \omega_{opt} - 1 = \min_{0<\omega<2} \rho(L_\omega)\)。
3. 核心推论
当 \(\omega=1\) 时,BSOR退化为块高斯-塞德尔迭代(BGS),此时:
因此块高斯-塞德尔迭代的渐近收敛速度为:
即块高斯-塞德尔迭代的收敛速度是块雅可比迭代的2倍,与点迭代的收敛速度关系完全一致。
四、块迭代法核心知识点总结表
| 迭代方法 | 迭代矩阵/核心格式 | 收敛充要条件 | 常用收敛充分条件 | 最佳松弛因子(T-矩阵) | 收敛速度特性 | 核心适用场景 |
|---|---|---|---|---|---|---|
| 块雅可比迭代(BJ) | 迭代矩阵 \(B=D^{-1}(L+U)\) 格式:\(A_{ii}x_i^{(k+1)}=b_i-\sum_{j≠i}A_{ij}x_j^{(k)}\) |
\(\rho(B) < 1\) | 1. \(A\) 对称正定; 2. \(A\) 严格对角占优/弱对角占优不可约 |
无(无松弛因子) | 收敛速度 \(R(B)=-\ln\rho(B)\),BGS收敛速度是其2倍 | 大型稀疏块对角占优矩阵,并行计算场景 |
| 块高斯-塞德尔迭代(BGS) | 迭代矩阵 \(L_1=(D-L)^{-1}U\) 格式:\(\omega=1\) 时的BSOR格式 |
\(\rho(L_1) < 1\) | 1. \(A\) 对称正定; 2. \(A\) 严格对角占优/弱对角占优不可约 |
无 | 收敛速度是同条件块雅可比的2倍 | 串行计算场景,对称正定/对角占优矩阵 |
| 块SOR迭代(BSOR) | 迭代矩阵 \(L_\omega=(D-\omega L)^{-1}[(1-\omega)D+\omega U]\) 格式:式(6.32) |
\(\rho(L_\omega) < 1\) | 1. \(A\) 对称正定 + \(0<\omega<2\); 2. T-矩阵 + \(\rho(J)<1\) + \(0<\omega<2\); 3. 严格对角占优 + \(0<\omega≤1\) |
\(\omega_{opt}=\frac{2}{1+\sqrt{1-\rho(J)^2}}\) | 取最佳松弛因子时,收敛速度比BGS高1个数量级,比点SOR更快 | 偏微分方程离散的块三对角矩阵,大规模工程计算 |
五、点迭代与块迭代的核心对比总结
| 对比维度 | 点迭代法(雅可比/GS/SOR) | 块迭代法(BJ/BGS/BSOR) |
|---|---|---|
| 处理对象 | 矩阵的单个元素 | 矩阵的子块(利用分块结构) |
| 核心操作 | 标量的四则运算 | 低阶线性方程组的直接求解 |
| 收敛速度 | 较慢,依赖网格步长 | 更快,同条件下优于点迭代 |
| 并行性 | 雅可比可并行,GS/SOR串行性强 | 块雅可比天然并行,块SOR可实现块内并行 |
| 工程适配性 | 适合小规模、结构简单的矩阵 | 适合大型稀疏、分块结构明显的矩阵(如PDE离散、有限元) |
| 收敛性判定 | 与块迭代完全一致,核心为谱半径<1 | 与点迭代理论体系完全兼容,可直接推广 |
posted on 2026-03-01 17:02 Indian_Mysore 阅读(1) 评论(0) 收藏 举报
浙公网安备 33010602011771号