线性方程组的迭代解法
迭代法的基本流程
- 将矩阵方程组 A x ‾ = b ‾ A\overline{x}=\overline{b} Ax=b等价改写成 x ‾ = B x ‾ + f ‾ \overline{x}=B\overline{x}+\overline{f} x=Bx+f
- 得到迭代格式 x ( k + 1 ) ‾ = B x ( k ) ‾ + f ‾ \overline{x^{(k+1)}}=B\overline{x^{(k)}}+\overline{f} x(k+1)=Bx(k)+f
- 得到迭代序列 { x ( k ) } \{x^{(k)}\} {x(k)}存在机型那么迭代序列收敛,且收敛值就是方程组的解
雅可比迭代法
x ( k + 1 ) = D − 1 ( L + U ) x ( k ) + D − 1 b x i ( k + 1 ) = x i ( k ) + 1 a i i ( b i − ∑ j = 1 n a i j x j ( k ) ) D = d i a g ( a 11 , a 12 , ⋯ , a n n ) x^{(k+1)}=D^{-1}(L+U)x^{(k)}+D^{-1}b \\x_i^{(k+1)}=x_i^(k)+\frac{1}{a_{ii}}(b_i-\sum_{j=1}^na_{ij}x_j^{(k)}) \\D=diag{(a_{11},a_{12},\cdots,a_{nn})} x(k+1)=D−1(L+U)x(k)+D−1bxi(k+1)=xi(k)+aii1(bi−j=1∑naijxj(k))D=diag(a11,a12,⋯,ann)
D
D
D就是原系数矩阵只保持主对角元素
L
=
(
0
0
⋯
0
−
a
21
0
⋯
0
⋮
⋮
⋱
⋮
−
a
n
1
−
a
n
2
⋯
0
)
U
=
(
0
−
a
21
⋯
−
a
1
n
0
0
⋯
−
a
2
n
⋮
⋮
⋱
⋮
0
0
⋯
0
)
L=\begin{pmatrix} 0&0&\cdots&0\\ -a_{21}&0&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ -a_{n1}&-a_{n2}&\cdots&0 \end{pmatrix}\\ U=\begin{pmatrix} 0&-a_{21}&\cdots&-a_{1n}\\ 0&0&\cdots&-a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&0 \end{pmatrix}\\
L=⎝⎜⎜⎜⎛0−a21⋮−an100⋮−an2⋯⋯⋱⋯00⋮0⎠⎟⎟⎟⎞U=⎝⎜⎜⎜⎛00⋮0−a210⋮0⋯⋯⋱⋯−a1n−a2n⋮0⎠⎟⎟⎟⎞
高斯赛德尔迭代法
迭 代 矩 阵 的 基 本 形 式 x ‾ ( k + 1 ) = ( D − L ) − 1 U x ‾ ( k ) + ( D − L ) − 1 b ‾ x n ( k + 1 ) = 1 a n n ( − a n 1 x 1 ( k + 1 ) − a n 2 x 2 ( k + 1 ) − ⋯ − a n n − 1 x n − 1 k + 1 + b n ) 迭代矩阵的基本形式 \quad \overline{x}^{(k+1)}=(D-L)^{-1}U\overline{x}^{(k)}+(D-L)^{-1}\overline{b}\\ \\x_n^{(k+1)}=\frac{1}{a_{nn}}(-a_{n1}x_1^{(k+1)}-a_{n2}x_2^{(k+1)}-\cdots-a_{nn-1}x_{n-1}^{k+1}+b_n) 迭代矩阵的基本形式x(k+1)=(D−L)−1Ux(k)+(D−L)−1bxn(k+1)=ann1(−an1x1(k+1)−an2x2(k+1)−⋯−ann−1xn−1k+1+bn)
迭代法的收敛性
迭代法的改善
剩余向量
r
r
r,修正向量
z
z
z的基本定义
r
=
b
−
A
x
‾
A
z
=
r
r=b-A\overline{x} \\Az=r
r=b−AxAz=r
迭代步骤
-
求 出 A x = b 的 近 似 解 x ( 1 ) 求出Ax=b的近似解x^{(1)} 求出Ax=b的近似解x(1)
-
求 出 修 正 向 量 z ( 1 ) , r ( 1 ) = b − A x ( 1 ) , A z ( 1 ) = r ( 1 ) 求出修正向量z^{(1)},r^{(1)}=b-Ax^{(1)},Az^{(1)}=r^{(1)} 求出修正向量z(1),r(1)=b−Ax(1),Az(1)=r(1)
-
将 修 正 向 量 z ( 1 ) 带 入 x ( 1 ) 修 正 x ( 2 ) = x ( 1 ) + z 将修正向量z^{(1)}带入x^{(1)}修正x^{(2)}=x^{(1)}+z 将修正向量z(1)带入x(1)修正x(2)=x(1)+z
重复2,3步骤直至精度达到要求
收敛的条件
已知 x x x的迭代式 x ( k + 1 ) = B x ( k ) + f x^{(k+1)}=Bx^{(k)}+f x(k+1)=Bx(k)+f
当迭代矩阵 B B B满足 lim k → 0 B k = 0 \lim_{k\to0}B^{k}=0 limk→0Bk=0的时候迭代矩阵收敛
矩阵收敛极限
矩阵收敛定义
=>当矩阵 A A A中的每个元素 a i j a_{ij} aij都满足 lim k → ∞ a i j ( k ) = a j i \lim_{k\to\infty}a_{ij}^{(k)}=a_{ji} limk→∞aij(k)=aji,矩阵 A A A收敛
矩阵收敛和范数之间的关系
=>当矩阵
A
k
A_{k}
Ak收敛
A
A
A那么他满足
lim
k
→
∞
∣
∣
A
k
−
A
∣
∣
=
0
\lim_{k\to\infty}||A_k-A||=0
k→∞lim∣∣Ak−A∣∣=0
||A||表示任意的矩阵范数都成立,矩阵范数等价定理
谱半径 ρ \rho ρ的定义和性质
谱半径:矩阵的谱半径为矩阵绝对值最大的特征根
ρ
(
A
)
=
max
1
≤
i
≤
n
∣
λ
i
∣
\rho(A)=\max_{1\leq{i}\leq{n}}|\lambda_i|
ρ(A)=1≤i≤nmax∣λi∣
矩阵极限等于0的充要条件
ρ ( A ) < 1 ⟺ lim k → 0 A ( k ) = 0 \rho(A)<1\iff\lim_{k\to0}A^{(k)}=0 ρ(A)<1⟺k→0limA(k)=0
矩阵迭代收敛条件
ρ ( B ) < 1 雅 可 比 迭 代 法 ρ ( D − 1 ( L + U ) ) < 1 高 斯 赛 德 尔 迭 代 法 ρ ( ( D − L ) − 1 U ) < 1 \rho(B)<1 \\雅可比迭代法\quad\rho{(D^{-1}(L+U))}<1 \\高斯赛德尔迭代法\quad\rho{((D-L)^{-1}U)}<1 ρ(B)<1雅可比迭代法ρ(D−1(L+U))<1高斯赛德尔迭代法ρ((D−L)−1U)<1
ρ ( B ) \rho(B) ρ(B)越小收敛速度与越快
误差估计迭代法的收敛余项
已知: ∣ ∣ B ∣ ∣ = q < 1 ||B||=q<1 ∣∣B∣∣=q<1
误差估计
$$
- ||\overline{x}*-\overline{x}{(k)}||\leq\frac{q}{1-q}||x{(k+1)}-x{(k)}||
\2. ||\overline{x}*-\overline{x}{(k)}||\leq\frac{qk}{1-q}||x{(1)}-x^{(0)}||
$$
且 q q q越小收敛速度越快
严格对角占优迭代矩阵收敛
对角占优
KaTeX parse error: Undefined control sequence: \ at position 119: …i}}^{n}|a_{ij}|\̲ ̲
对于对角线上的每个元素,都大于它所在行其余元素累加和
严格对角占优
若 A A A严格对角占优,那么雅可比高斯赛德尔迭代矩阵收敛
主次超松弛迭代法
x i ( k + 1 ) = x i ( k ) + ω r ( k + 1 ) a i i r i ( k + 1 ) = b i − ∑ j < i a i j x j ( k + 1 ) − ∑ j ≥ i a i j x j ( k ) x_i^{(k+1)}=x_i^{(k)}+\omega\frac{r^{(k+1)}}{a_{ii}} \\r_i^{(k+1)}=b_i-\sum_{j<i}a_{ij}x_j^{(k+1)}-\sum_{j\geq{i}}a_{ij}x_j^{(k)} xi(k+1)=xi(k)+ωaiir(k+1)ri(k+1)=bi−j<i∑aijxj(k+1)−j≥i∑aijxj(k)
其中
低
松
弛
迭
代
0
<
ω
<
1
高
斯
赛
德
尔
迭
代
ω
=
1
超
松
弛
迭
代
ω
>
1
低松弛迭代\quad0<\omega<1\\ 高斯赛德尔迭代\quad\omega=1\\ 超松弛迭代\quad\omega\gt1
低松弛迭代0<ω<1高斯赛德尔迭代ω=1超松弛迭代ω>1
将逐步松弛迭代法写
x
‾
k
+
1
=
(
D
−
ω
L
)
−
1
[
(
1
−
ω
)
D
+
ω
U
]
x
‾
(
k
)
+
(
D
−
ω
L
−
1
)
ω
b
‾
\overline{x}^{k+1}=(D-\omega{L})^{-1}[(1-\omega)D+\omega{U}]\overline{x}^{(k)}+(D-\omega{L}^{-1})\omega\overline{b}
xk+1=(D−ωL)−1[(1−ω)D+ωU]x(k)+(D−ωL−1)ωb
超松弛迭代法收敛
kahan必要条件
若A可逆,且 a i i ≠ 0 a_{ii}\neq0 aii=0从任意 x ‾ ( 0 ) \overline{x}^{(0)} x(0)出发收敛=> 0 < ω < 2 0<\omega<2 0<ω<2
充分条件
若A对称正定,且有 0 < ω < 2 0<\omega<2 0<ω<2,则 x ‾ ( 0 ) \overline{x}^{(0)} x(0)出发,超松弛迭代法都收敛
最佳松弛因子
若A为对称正定三角矩阵,雅可比迭代法和高斯赛德尔迭代法都收敛,且超松弛迭代法的最佳松弛因子为
ω
=
2
1
+
1
−
[
ρ
(
B
)
]
2
\omega=\frac{2}{1+\sqrt{1-[\rho(B)]^2}}
ω=1+1−[ρ(B)]22