数值分析笔记(七)

本文深入探讨线性方程组的数值解法,包括向量与矩阵范数、矩阵条件数的概念,详细讲解Gauss消去法、LU分解法、迭代法及其各种变种如Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭代法的原理与应用。
摘要由CSDN通过智能技术生成

(求解线性方程组: A x = b Ax = b Ax=b

  • 一、常用向量范数:
范数表达式
∞ \infty -范数 ∥ x ∥ ∞ = m a x ∣ x i ∣ \| x\|_{\infty} = max\mid x_i\mid x=maxxi
1 1 1-范数 ∥ x ∥ 1 = ∑ ∣ x i ∣ \| x\|_{1} = \sum\mid x_i\mid x1=xi
2 2 2-范数 ∥ x ∥ 2 = ( x , x ) = ( ∑ x i 2 ) \| x\|_{2} = \sqrt{(x,x)} = \sqrt{(\sum x_i^2)} x2=(x,x) =(xi2)
p p p-范数 ∥ x ∥ p = ( ∑ ∣ x i ∣ p ) p \| x\|_{p} = \sqrt[p]{(\sum \mid x_i \mid^p)} xp=p(xip)

  • 二、常用矩阵范数:
范数表达式
行范数 ∥ A ∥ ∞ = m a x ∣ a i j ∣ \| A\|_{\infty} = max\mid a_{ij}\mid A=maxaij
列范数 ∥ A ∥ 1 = m a x 1 ≤ j ≤ n ∑ i = 1 n ∣ a i j ∣ \| A\|_{1} = max_{1\le j \le n}\sum_{i=1}^n\mid a_{ij}\mid A1=max1jni=1naij
2 2 2-范数 ∥ A ∥ 2 = λ m a x ( A T A ) \| A\|_{2} = \sqrt{\lambda_{max}(A^TA)} A2=λmax(ATA) ,其中 λ m a x \lambda_{max} λmax指矩阵最大特征值

  • 三、矩阵条件数:

设矩阵 A A A的某范数为 ∣ ∣ A ∣ ∣ k ||A||_{k} Ak,则称 c o n d ( A ) k = ∣ ∣ A − 1 ∣ ∣ k ∣ ∣ A ∣ ∣ k cond(A)_k = ||A^{-1}||_{k}||A||_{k} cond(A)k=A1kAk A A A k k k条件数

=> 条件数刻画了方程组的病态程度,因此常用来作为矩阵是否病态的判断

常用的条件数:
(1) c o n d ( A ) ∞ = ∣ ∣ A − 1 ∣ ∣ ∞ ∣ ∣ A ∣ ∣ ∞ cond(A)_{\infty} = ||A^{-1}||_{\infty}||A||_{\infty} cond(A)=A1A
(2) c o n d ( A ) 2 = ∣ ∣ A − 1 ∣ ∣ 2 ∣ ∣ A ∣ ∣ 2 = λ m a x ( A T A ) λ m i n ( A T A ) cond(A)_{2} = ||A^{-1}||_{2}||A||_{2} = \sqrt{\cfrac{\lambda_{max}(A^TA)}{\lambda_{min}(A^TA)}} cond(A)2=A12A2=λmin(ATA)λmax(ATA) ,特殊地,当A为对称矩阵时, c o n d ( A ) 2 = ∣ λ m a x ( A ) λ m i n ( A ) ∣ cond(A)_{2} =|\frac{\lambda_{max}(A)}{\lambda_{min}(A)}| cond(A)2=λmin(A)λmax(A)


  • 四、 G a u s s Gauss Gauss消去法:

(求解线性方程组: A x = b Ax = b Ax=b,通过对增广矩阵 ( A , b ) (A,b) (A,b)进行初等矩阵变换)

步骤操作
消元通过矩阵初等行消法变换,将其化为上三角矩阵 A ′ A' A(列向量 b b b也需相应变换为 b ′ b' b,且主对角线元 a k k ≠ 0 a_{kk}\neq 0 akk=0
回代 A ′ A' A n n n行的一次方程 a n n x n = b n a_{nn}x_n = b_n annxn=bn逐步回代,依次求解 x n , x n − 1 , . . . , x 1 x_n,x_{n-1},...,x_1 xn,xn1,...,x1

=> A ′ A' A中主对角线元 a k k ≠ 0 a_{kk}\neq 0 akk=0充要条件 A A A的各阶顺序主子式 D k ≠ 0 D_k\neq 0 Dk=0

=> 为了避免主对角线元素 a k k a_{kk} akk过小而导致在消元的过程中误差增大,可通过矩阵变换使得绝对值相对最大的元素作为主对角线元素(一般按列选取即可,即仅进行初等行交换变换)


  • 五、 L U LU LU分解法:

L U LU LU分解定理:若 A A A的各阶顺序主子式 D k ≠ 0 D_k\neq 0 Dk=0,则 A A A可唯一分解为一个单位下三角矩阵 L L L和一个上三角矩阵 U U U的乘积的形式,即: A = L U A = LU A=LU

(1) D o o l i t t l e Doolittle Doolittle分解:

步骤操作
计算 U U U L L L u 1 j = a 1 j , l i 1 = a i 1 u 11 u_{1j} = a_{1_j}, l_{i1} = \cfrac{a_{i1}}{u_{11}} u1j=a1j,li1=u11ai1
u i j = a i j − ∑ k = 1 i − 1 l i k u k j u_{ij} = a_{ij}- \sum_{k=1}^{i-1}l_{ik}u_{kj} uij=aijk=1i1likukj
l i j = a i j − ∑ k = 1 j − 1 l i k u k j u j j l_{ij} = \cfrac{a_{ij}- \sum_{k=1}^{j-1}l_{ik}u_{kj}}{u_{jj}} lij=ujjaijk=1j1likukj
求解 y y y L y = b Ly = b Ly=b
求解 x x x U x = y Ux = y Ux=y

(2) C h o l e s k y Cholesky Cholesky分解:(针对对称正定矩阵的分解)
对称矩阵三角分解定理:若n阶阵 A A A的各阶顺序主子式 D k ≠ 0 D_k\neq 0 Dk=0,则 A A A可唯一分解为单位下三角矩阵 L L L和对角矩阵 D D D的对称积的形式,即: A = L D L T A = LDL^T A=LDLT,t特殊地,当A同时为正定矩阵时,则 A A A可唯一分解为一个实下三角矩阵 L L L的对称积的形式,即: A = L L T A = LL^T A=LLT

步骤操作
计算 L L L l j j = a j j − ∑ k = 1 j − 1 l j k 2 l_{jj} =\sqrt{a_{jj}-\sum_{k=1}^{j-1}l^2_{jk}} ljj=ajjk=1j1ljk2
l i j = a i j − ∑ k = 1 j − 1 l i k l j k l j j l_{ij} = \cfrac{a_{ij}-\sum_{k=1}^{j-1}l_{ik}l_{jk}}{l_{jj}} lij=ljjaijk=1j1likljk
求解 y y y L y = b Ly = b Ly=b
求解 x x x L T x = y L^Tx = y LTx=y

(3)追赶法:(针对对角占优的三对角矩阵的分解)
(同样利用 L U LU LU分解,分解形式如下所示)
A = [ b 1 c 1 a 2 b 2 c 2 . . . . . . . . . a n − 1 b n − 1 c n − 1 a n b n ] = [ α 1 γ 2 α 2 γ 3 α 3 . . . . . . γ n α n ] [ 1 β 1 1 β 2 . . . . . . 1 β n − 1 1 ] A = \left[\begin{matrix} b_1 & c_1 \\ a_2 & b_2 & c_2 \\ &...&...&... \\ & & a_{n-1} & b_{n-1} & c_{n-1}\\ & & & a_{n} & b_{n} \\ \end{matrix}\right] = \left[\begin{matrix} \alpha_1 & \\ \gamma_2 & \alpha_2 \\ & \gamma_3 & \alpha_3 \\ &...&... \\ & & & \gamma_n & \alpha_n \\ \end{matrix}\right] \left[\begin{matrix} 1&\beta_1 & \\ &1& \beta_2 \\ & &...&... \\ & & & 1& \beta_{n-1} \\ & & & &1 \\ \end{matrix}\right] A=b1a2c1b2...c2...an1...bn1ancn1bn=α1γ2α2γ3...α3...γnαn1β11β2......1βn11

步骤操作
计算 β i \beta_i βi β 1 = c 1 b 1 \beta_1 = \frac{c_1}{b_1} β1=b1c1
β i = c i b i − a i β i − 1 \beta_i = \cfrac{c_i}{b_i-a_i\beta_{i-1}} βi=biaiβi1ci
求解 L y = f Ly = f Ly=f y 1 = f 1 b 1 y_1 = \frac{f_1}{b_1} y1=b1f1
y i = f i − a i y i − 1 b i − a i β i − 1 y_i = \cfrac{f_i-a_iy_{i-1}}{b_i-a_i\beta_{i-1}} yi=biaiβi1fiaiyi1
求解 U x = y Ux = y Ux=y x n = y n x_n = y_n xn=yn
x i = y i − β i x i + 1 x_i = y_i-\beta_ix_{i+1} xi=yiβixi+1

  • 六、矩阵谱半径 / 迭代法收敛定理:

在这里插入图片描述
=> 迭代法收敛定理:设有迭代方程: x = B x + f x =Bx+f x=Bx+f,则该方程对应的迭代法收敛的充要条件为 ρ ( B ) < 1 \rho(B)< 1 ρ(B)<1,并称: R ( B ) = − ln ⁡ ρ ( B ) R(B) =- \ln\rho(B) R(B)=lnρ(B)为迭代法的收敛速度


  • 七、 J a c o b i Jacobi Jacobi迭代法:

    (求解线性方程组: A x = b Ax = b Ax=b,将矩阵 A A A分解成 A = D − L − U A = D-L-U A=DLU,其中 D D D是由A的所有主对角元组成的对角阵, L L L是由 A A A的主对角线元以下的元素组成下三角矩阵, U U U是由 A A A的主对角线元以上的元素组成上三角矩阵,得到迭代方程: x = B x + f x =Bx+f x=Bx+f,逐次迭代可得)

    步骤操作
    计算 B B B B = D − 1 ( L + U ) B = D^{-1}(L+U) B=D1(L+U)
    计算 f f f f = D − 1 b f = D^{-1}b f=D1b
    选取初始解向量 x ( 0 ) x^{(0)} x(0)
    迭代计算 x ( k + 1 ) = B x ( k ) + f x^{(k+1)} = Bx^{(k)}+f x(k+1)=Bx(k)+f

  • 八、 G a u s s − S e i d e l Gauss-Seidel GaussSeidel迭代法:

    (求解线性方程组: A x = b Ax = b Ax=b,将矩阵 A A A分解成 A = D − L − U A = D-L-U A=DLU,其中 D D D是由A的所有主对角元组成的对角阵, L L L是由 A A A的主对角线元以下的元素组成下三角矩阵, U U U是由 A A A的主对角线元以上的元素组成上三角矩阵,得到迭代方程: x = G x + f x =Gx+f x=Gx+f,逐次迭代可得)

    步骤操作
    计算 G G G G = ( D − L ) − 1 U G = (D-L)^{-1}U G=(DL)1U
    计算 f f f f = ( D − L ) − 1 b f = (D-L)^{-1}b f=(DL)1b
    选取初始解向量 x ( 0 ) x^{(0)} x(0)
    迭代计算 x ( k + 1 ) = G x ( k ) + f x^{(k+1)} =Gx^{(k)}+f x(k+1)=Gx(k)+f

  • 九、超松弛迭代法:

    (求解线性方程组: A x = b Ax = b Ax=b,将矩阵 A A A分解成 A = D − L − U A = D-L-U A=DLU,其中 D D D是由A的所有主对角元组成的对角阵, L L L是由 A A A的主对角线元以下的元素组成下三角矩阵, U U U是由 A A A的主对角线元以上的元素组成上三角矩阵,定义松弛因子 ω \omega ω,得到迭代方程: x = L ω x + f x =L_{\omega}x+f x=Lωx+f,逐次迭代可得,此方法是解大型稀疏矩阵方程组的有效办法)

    步骤操作
    计算 L ω L_{\omega} Lω L ω = ( D − ω L ) − 1 [ ( 1 − ω ) D + ω U ] L_{\omega} = (D-\omega L)^{-1}[(1-\omega)D+\omega U] Lω=(DωL)1[(1ω)D+ωU]
    计算 f f f f = ( D − ω L ) − 1 ω b f = (D-\omega L)^{-1}\omega b f=(DωL)1ωb
    选取初始解向量 x ( 0 ) x^{(0)} x(0)
    迭代计算 x ( k + 1 ) = L ω x ( k ) + f x^{(k+1)} =L_{\omega}x^{(k)}+f x(k+1)=Lωx(k)+f

    => 超松弛迭代法收敛的必要条件 0 < ω < 2 0<\omega<2 0<ω<2
    => 超松弛迭代法收敛的充分条件 0 < ω < 2 0<\omega<2 0<ω<2 A A A为对称正定矩阵



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值