满足以下任一条件的称为自乘终零矩阵。自乘终零矩阵 B B B都满足以下三条件。
对于所有范数, ρ ( A ) ≤ ∣ ∣ A ∣ ∣ \rho(A)\le||A|| ρ(A)≤∣∣A∣∣。
对于任意 ε > 0 \varepsilon>0 ε>0,至少有一种矩阵范数满足 ∣ ∣ A ∣ ∣ m ≤ ρ ( A ) + ε ||A||_m\le\rho(A)+\varepsilon ∣∣A∣∣m≤ρ(A)+ε。
对于所有范数, ∣ ∣ B k ∣ ∣ 1 k → ρ ( B ) , k → + ∞ ||B^k||^\frac{1}{k}\to\rho(B),k\to+\infty ∣∣Bk∣∣k1→ρ(B),k→+∞。
A ( k ) → O , k → + ∞ ⟺ A ( k ) x → 0 , ∀ x , k → + ∞ A^{(k)}\to O,k\to+\infty\iff A^{(k)}\bm{x}\to0,\forall\bm{x},k\to+\infty A(k)→O,k→+∞⟺A(k)x→0,∀x,k→+∞
注意序列终零不是自乘终零。当然,自乘序列终零也是序列终零。
∣ ∣ A B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ ∣ ∣ B ∣ ∣ ||AB||\le||A||||B|| ∣∣AB∣∣≤∣∣A∣∣∣∣B∣∣ ∣ ∣ A + B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ + ∣ ∣ B ∣ ∣ ||A+B||\le||A||+||B|| ∣∣A+B∣∣≤∣∣A∣∣+∣∣B∣∣
对于 A x = b A\bm{x}=\bm{b} Ax=b,令 A = M − N A=M-N A=M−N。其中 M M M可逆。
则 ( M − N ) x = b (M-N)\bm{x}=\bm{b} (M−N)x=b。 M x = N x + b M\bm{x}=N\bm{x}+\bm{b} Mx=Nx+b。 x = M − 1 N x + M − 1 b \bm{x}=M^{-1}N\bm{x}+M^{-1}\bm{b} x=M−1Nx+M−1b。
令 B = M − 1 N B=M^{-1}N B=M−1N, f = M − 1 b \bm{f}=M^{-1}\bm{b} f=M−1b。可以得到迭代形式 x ( k + 1 ) = B x ( k ) + f \bm{x}^{(k+1)}=B\bm{x}^{(k)}+\bm{f} x(k+1)=Bx(k)+f。这属于单步定常迭代法。
要保证 M M M可逆,一种简单的想法是让 M M M就是 A A A的对角部分,然后 N N N是剩下的相反数。这种迭代法叫雅克比(Jacobi)迭代法。
实际上我们是一个一个算 x i \bm{x}_i xi的。如果算的时候已经算出 x j ( k + 1 ) \bm{x}_j^{(k+1)} xj(k+1),那么要用 x j ( k ) \bm{x}_j^{(k)} xj(k)的时候就改成用这个新的值,这种迭代法叫Gauss-Seidel(高斯-赛德尔,简称GS)迭代法。不知道这个能优化多少,而且这个人显然不了解并行计算。
设 x ∗ \bm{x}^* x∗是真正的解。记误差向量 e ( k ) = x ( k ) − x ∗ \bm{e}^{(k)}=\bm{x}^{(k)}-\bm{x}^* e(k)=x(k)−x∗。那么收敛条件就是 e ( k ) → 0 , k → + ∞ \bm{e}^{(k)}\to0,k\to+\infty e(k)→0,k→+∞注意这里是对任意的初始取值都要满足。即全局收敛。
而 e ( k ) = B x ( k − 1 ) + f − x ∗ \bm{e}^{(k)}=B\bm{x}^{(k-1)}+\bm{f}-\bm{x}^* e(k)=Bx(k−1)+f−x∗。注意这里真正的解迭代之后依然是真正的解。
因此 e ( k ) = B x ( k − 1 ) + f − B x ∗ − f = B ( x ( k − 1 ) − x ∗ ) = B e ( k − 1 ) 。 \bm{e}^{(k)}=B\bm{x}^{(k-1)}+\bm{f}-B\bm{x}^*-\bm{f}=B(\bm{x}^{(k-1)}-\bm{x}^*)=B\bm{e}^{(k-1)}。 e(k)=Bx(k−1)+f−Bx∗−f=B(x(k−1)−x∗)=Be(k−1)。也就是说新的误差向量就是上一个左乘 B B B。
假设最开始取的x是 x ( 0 ) \bm{x}^{(0)} x(0),对应的误差向量是 e ( 0 ) \bm{e}^{(0)} e(0)。那么 e ( k ) = B k e ( 0 ) \bm{e}^{(k)}=B^k\bm{e}^{(0)} e(k)=Bke(0)。这里的e0是任意的。
取矩阵序列为 B B B的自乘序列,根据序列终零第一定理,收敛条件等价于 B B B自乘终零。就是说 B B B是自乘终零矩阵。 迭 代 法 收 敛 ⟺ 迭 代 矩 阵 B 是 自 乘 终 零 矩 阵 迭代法收敛\iff 迭代矩阵B是自乘终零矩阵 迭代法收敛⟺迭代矩阵B是自乘终零矩阵
假设迭代法收敛,一个钻石范数为 ∣ ∣ ? ∣ ∣ ||?|| ∣∣?∣∣,记 q = ∣ ∣ B ∣ ∣ q=||B|| q=∣∣B∣∣。则 q < 1 q<1 q<1。
那么 e ( k ) = B e ( k − 1 ) = B ( x ( k − 1 ) − x ( k ) + x ( k ) − x ∗ ) = B ( x ( k − 1 ) − x ( k ) ) + B e ( k ) \bm{e}^{(k)}=B\bm{e}^{(k-1)}=B(\bm{x}^{(k-1)}-\bm{x}^{(k)}+\bm{x}^{(k)}-\bm{x}^*)=B(\bm{x}^{(k-1)}-\bm{x}^{(k)})+B\bm{e}^{(k)} e(k)=Be(k−1)=B(x(k−1)−x(k)+x(k)−x∗)=B(x(k−1)−x(k))+Be(k)。
取范数有 ∣ ∣ e ( k ) ∣ ∣ ≤ ∣ ∣ B ∣ ∣ ⋅ ∣ ∣ x ( k − 1 ) − x ( k ) ∣ ∣ + ∣ ∣ B ∣ ∣ ⋅ ∣ ∣ e ( k ) ∣ ∣ ||\bm{e}^{(k)}||\le||B||\cdot||\bm{x}^{(k-1)}-\bm{x}^{(k)}||+||B||\cdot||\bm{e}^{(k)}|| ∣∣e(k)∣∣≤∣∣B∣∣⋅∣∣x(k−1)−x(k)∣∣+∣∣B∣∣⋅∣∣e(k)∣∣。这是定理的第一部分。
继续,我们知道 ∣ ∣ x ( k − 1 ) − x ( k ) ∣ ∣ = ∣ ∣ B ( x ( k − 2 ) − x ( k − 1 ) ) ∣ ∣ ≤ ∣ ∣ B ∣ ∣ ⋅ ∣ ∣ x ( k − 2 ) − x ( k − 1 ) ∣ ∣ ≤ ∣ ∣ B ∣ ∣ 2 ⋅ ∣ ∣ x ( k − 3 ) − x ( k − 2 ) ∣ ∣ ≤ ⋯ ≤ ∣ ∣ B ∣ ∣ k − 1 ⋅ ∣ ∣ x ( 0 ) − x ( 1 ) ∣ ∣ ||\bm{x}^{(k-1)}-\bm{x}^{(k)}||=||B(\bm{x}^{(k-2)}-\bm{x}^{(k-1)})||\le||B||\cdot||\bm{x}^{(k-2)}-\bm{x}^{(k-1)}||\le||B||^2\cdot||\bm{x}^{(k-3)}-\bm{x}^{(k-2)}||\le\cdots\le||B||^{k-1}\cdot||\bm{x}^{(0)}-\bm{x}^{(1)}|| ∣∣x(k−1)−x(k)∣∣=∣∣B(x(k−2)−x(k−1))∣∣≤∣∣B∣∣⋅∣∣x(k−2)−x(k−1)∣∣≤∣∣B∣∣2⋅∣∣x(k−3)−x(k−2)∣∣≤⋯≤∣∣B∣∣k−1⋅∣∣x(0)−x(1)∣∣。那么上一行那个式子也有这个过程。
迭代误差估计第五定理描述为:假设迭代法收敛,一个钻石范数为 ∣ ∣ ? ∣ ∣ ||?|| ∣∣?∣∣,记 q = ∣ ∣ B ∣ ∣ q=||B|| q=∣∣B∣∣。则 q < 1 q<1 q<1。则 ∣ ∣ e ( k ) ∣ ∣ ≤ ( 1 $ q ) ∣ ∣ x ( k ) − x ( k − 1 ) ∣ ∣ ||\bm{e}^{(k)}||\le(1\$q)||\bm{x}^{(k)}-\bm{x}^{(k-1)}|| ∣∣e(k)∣∣≤(1$q)∣∣x(k)−x(k−1)∣∣ ∣ ∣ e ( k ) ∣ ∣ ≤ q k 1 − q ∣ ∣ x ( 1 ) − x ( 0 ) ∣ ∣ ||\bm{e}^{(k)}||\le\frac{q^k}{1-q}||\bm{x}^{(1)}-\bm{x}^{(0)}|| ∣∣e(k)∣∣≤1−qqk∣∣x(1)−x(0)∣∣我觉得这么总结最好: ∣ ∣ e ( k ) ∣ ∣ ≤ q 1 − q ∣ ∣ x ( k ) − x ( k − 1 ) ∣ ∣ ≤ q 2 1 − q ∣ ∣ x ( k − 1 ) − x ( k − 2 ) ∣ ∣ ≤ ⋯ ≤ q k 1 − q ∣ ∣ x ( 1 ) − x ( 0 ) ∣ ∣ ||\bm{e}^{(k)}||\le\frac{q}{1-q}||\bm{x}^{(k)}-\bm{x}^{(k-1)}||\le\frac{q^2}{1-q}||\bm{x}^{(k-1)}-\bm{x}^{(k-2)}||\le\cdots\le\frac{q^k}{1-q}||\bm{x}^{(1)}-\bm{x}^{(0)}|| ∣∣e(k)∣∣≤1−qq∣∣x(k)−x(k−1)∣∣≤1−qq2∣∣x(k−1)−x(k−2)∣∣≤⋯≤1−qqk∣∣x(1)−x(0)∣∣
在数值分析中这个定理的作用是,如果 q q q不是很接近 1 1 1,那么e(未知)可以用x的新旧之差来控制估计。但是 q q q很接近 1 1 1就不行。
平均收敛率 R k ( B ) ≡ − ln ∣ ∣ B k ∣ ∣ 1 k R_k(B)\equiv-\ln||B^k||^\frac{1}{k} Rk(B)≡−ln∣∣Bk∣∣k1。
渐进收敛率 R ( B ) ≡ − ln ρ ( B ) R(B)\equiv-\ln\rho(B) R(B)≡−lnρ(B)。
如果要求 k k k次迭代后有 ∣ ∣ e ( k ) ∣ ∣ / ∣ ∣ e ( 0 ) ∣ ∣ ≤ ε ||\bm{e}^{(k)}||/||\bm{e}^{(0)}||\le\varepsilon ∣∣e(k)∣∣/∣∣e(0)∣∣≤ε,那么 k ≥ − ln ε R ( B ) = 2.303 s R ( B ) k\ge\frac{-\ln\varepsilon}{R(B)}=\frac{2.303s}{R(B)} k≥R(B)−lnε=R(B)2.303s其中 2.303 = ln 10 2.303=\ln 10 2.303=ln10, s s s是位数。比如如果要求 ∣ ∣ e ( k ) ∣ ∣ / ∣ ∣ e ( 0 ) ∣ ∣ ≤ 1 0 − 5 ||\bm{e}^{(k)}||/||\bm{e}^{(0)}||\le10^{-5} ∣∣e(k)∣∣/∣∣e(0)∣∣≤10−5,那 s s s就是 5 5 5。
记 A = D − L − U A=D-L-U A=D−L−U,其中 D D D是对角部分, L L L、 U U U是严格下、上三角部分的相反数。
如果对角元都是非0,那么D可逆。令 M = D M=D M=D, N = L + U N=L+U N=L+U,这种方法称为Jacobi法(J法)。
同样如果D可逆,取 M = D − L M=D-L M=D−L, N = U N=U N=U,那么 ( D − L ) x = U x + b (D-L)\bm{x}=U\bm{x}+\bm{b} (D−L)x=Ux+b。显然只要对角元非零下三角矩阵 D − L D-L D−L就可逆(也可以说因为三角矩阵的行列式是对角元的乘积)。因此 x = ( D − L ) − 1 U x + ( D − L ) − 1 b \bm{x}=(D-L)^{-1}U\bm{x}+(D-L)^{-1}\bm{b} x=(D−L)−1Ux+(D−L)−1b,即 B = ( D − L ) − 1 U B=(D-L)^{-1}U B=(D−L)−1U, f = ( D − L ) − 1 b \bm{f}=(D-L)^{-1}\bm{b} f=(D−L)−1b。这叫GS迭代法。
B G = ( D − L ) − 1 ( − A + D − L ) = − ( D − L ) − 1 A + I = I − ( D − L ) − 1 A B_G=(D-L)^{-1}(-A+D-L)=-(D-L)^{-1}A+I=I-(D-L)^{-1}A BG=(D−L)−1(−A+D−L)=−(D−L)−1A+I=I−(D−L)−1A。