数值计算方法第三章—线性方程组的数值解法知识点总结

线性方程组的数值解法

本文参考书为马东升著《数值计算方法》

高斯消去法

  • 顺序高斯消去法

    通过初等变换消去方程组系数矩阵主对角线以下的元素,而使方程组化为等价的上三角形方程组


  • 列主元高斯消去法

    在每一次消元之前,将绝对值大的元素交换到主对角线的位置上


  • 高斯—若尔当消去法

    每次消元时利用主元将所在列其余元素全部消为0

矩阵三角分解法

  • 杜利特尔分解

    u r i = a r i − ∑ k = 1 r − 1 l r k u k i   ,   i = r , r + 1 , ⋯   , n u_{ri}= a_{ri}-\sum_{k=1}^{r-1}l_{rk}u_{ki}\ ,\ i=r,r+1,\cdots,n uri=arik=1r1lrkuki , i=r,r+1,,n

    l i r = ( a i r − ∑ k = 1 r − 1 l i k u k r ) / u r r   ,   i = r + 1 , r + 2 , ⋯   , n l_{ir}=(a_{ir}-\sum_{k=1}^{r-1}l_{ik}u_{kr})/u_{rr}\ ,\ i=r+1,r+2,\cdots,n lir=(airk=1r1likukr)/urr , i=r+1,r+2,,n

    然后求解两个三角方程组
    L y = b   , U x = y Ly=b\ ,\quad Ux=y Ly=b ,Ux=y

    例:
    ( 2 2 3 4 2 4 9 16 4 8 24 64 6 16 51 100 ) ( x 1 x 2 x 3 x 4 ) = ( 1 1 3 − 29 ) \left(\begin{matrix}2 &2 &3 &4\\2 &4 &9 &16\\4 &8 &24 &64\\6 &16 &51 &100\end{matrix}\right)\left(\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right)=\left(\begin{matrix}1\\1\\3\\-29\end{matrix}\right) 22462481639245141664100x1x2x3x4=11329

    解:
    L = ( 1 1 1 2 2 1 3 5 2 1 )   ,   U = ( 2 2 3 4 2 6 12 6 31 − 34 )   ,   y = ( 1 0 1 − 34 )   ,   x = ( − 3 9 − 5 1 ) L=\left(\begin{matrix}1\\1 &1\\2 &2 &1\\3 &5 &2 &1\end{matrix}\right)\ ,\ U=\left(\begin{matrix}2 &2 &3 &4\\&2 &6 &12\\&&6 &31\\&&&-34\end{matrix}\right)\ ,\ y=\left(\begin{matrix}1\\0\\1\\-34\end{matrix}\right)\ ,\ x=\left(\begin{matrix}-3\\9\\-5\\1\end{matrix}\right) L=1123125121 , U=2223664123134 , y=10134 , x=3951


  • 追赶法

    { l 1 = b 1 u i = c i / l i l i + 1 = b i + 1 − a i + 1 u i   i = 1 , 2 , ⋯   , n − 1 \begin{cases} l_1=b_1\\ u_i=c_i/l_i\\ l_{i+1}=b_{i+1}-a_{i+1}u_i \end{cases} \ i=1,2,\cdots,n-1 l1=b1ui=ci/lili+1=bi+1ai+1ui i=1,2,,n1

    追:
    { y 1 = f 1 / l 1 y i = ( f i − a i y i − 1 ) / l i   ,   i = 2 , 3 , ⋯   , n \begin{cases} y_1=f_1/l_1\\ y_i=(f_i-a_iy_{i-1})/l_i\ ,\ i=2,3,\cdots,n \end{cases} {y1=f1/l1yi=(fiaiyi1)/li , i=2,3,,n
    赶:
    { x n = y n x i = y i − u i x i + 1   ,   i = n − 1 , ⋯   , 2 , 1 \begin{cases} x_n=y_n\\ x_i=y_i-u_ix_{i+1}\ ,\ i=n-1,\cdots,2,1 \end{cases} {xn=ynxi=yiuixi+1 , i=n1,,2,1

平方根法(不用记)

  • 对称正定矩阵

    • A对称正定,则A的对角元素 a i i > 0   ,   i = 1 , 2 , ⋯   , n a_{ii}>0\ ,\ i=1,2,\cdots,n aii>0 , i=1,2,,n

    • A的顺序主子阵 A k   ,   k = 1 , 2 , ⋯   , n A_k\ ,\ k=1,2,\cdots,n Ak , k=1,2,,n也是对称正定矩阵,其中
      A k = ( a 11 a 12 ⋯ a 1 k a 21 a 22 ⋯ a 2 k ⋯ ⋯ ⋯ ⋯ a k 1 a k 2 ⋯ a k k )   ,   k = 1 , 2 , ⋯   , n A_k= \left( \begin{matrix} a_{11}&a_{12}&\cdots&a_{1k}\\ a_{21}&a_{22}&\cdots&a_{2k}\\ \cdots&\cdots&\cdots&\cdots\\ a_{k1}&a_{k2}&\cdots&a_{kk}\\ \end{matrix} \right) \ ,\ k=1,2,\cdots,n Ak=a11a21ak1a12a22ak2a1ka2kakk , k=1,2,,n

    • A的特征值 λ i > 0   ,   i = 1 , 2 , ⋯   , n \lambda_i>0\ ,\ i=1,2,\cdots,n λi>0 , i=1,2,,n

    • A的顺序主子式都大于零,即 d e t A k > 0   ,   k = 1 , 2 , ⋯   , n detA_k>0\ ,\ k=1,2,\cdots,n detAk>0 , k=1,2,,n

    • A非奇异,且 A − 1 A^{-1} A1为对称正定矩阵

    例:判断矩阵 A = ( 4 − 1 0 − 1 4 − 1 0 − 1 4 ) A=\left(\begin{matrix}4&-1&0\\-1&4&-1\\0&-1&4\end{matrix}\right) A=410141014的正定性

    解: A A A为对称矩阵,且 ∣ A 1 ∣ = 4 > 0   ,   ∣ A 2 ∣ = 15 > 0   ,   ∣ A 3 ∣ = 56 > 0 \left|A_1\right|=4>0\ ,\ \left|A_2\right|=15>0\ ,\ \left|A_3\right|=56>0 A1=4>0 , A2=15>0 , A3=56>0,即 A A A为对称正定矩阵


  • 对称正定矩阵的乔累斯基分解

    { l i i = a i i − ∑ k = 1 r − 1 l i k 2 l j i = ( a j i − ∑ k = 1 i − 1 l j k l i k ) / l i i   ,   j = i + 1 , i + 1 , ⋯   , n \begin{cases} l_{ii}=\sqrt{a_{ii}-\sum\limits_{k=1}^{r-1}l_{ik}^2}\\ l_{ji}=(a_{ji}-\sum\limits_{k=1}^{i-1}l_{jk}l_{ik})/l_{ii}\ ,\ j=i+1,i+1,\cdots,n \end{cases} lii=aiik=1r1lik2 lji=(ajik=1i1ljklik)/lii , j=i+1,i+1,,n

    例:对矩阵 A = ( 1 1 2 1 2 0 2 0 11 ) A=\left(\begin{matrix}1&1&2\\1&2&0\\2&0&11\end{matrix}\right) A=1121202011进行乔累斯基分解

    解: A A A为对称矩阵,且 ∣ A 1 ∣ = 1 > 0   ,   ∣ A 2 ∣ = 1 > 0   ,   ∣ A 3 ∣ > 0 \left|A_1\right|=1>0\ ,\ \left|A_2\right|=1>0\ ,\ \left|A_3\right|>0 A1=1>0 , A2=1>0 , A3>0

    ​ 即 A A A为对称正定矩阵。可进行乔累斯基分解

    ​ 解得 L = ( 1 1 1 2 − 2 3 ) L=\left(\begin{matrix}1\\1&1\\2&-2&\sqrt{3}\end{matrix}\right) L=112123


  • 平方根法

    对对称正定矩阵进行乔累斯基分解后,求解两个三角方程组
    L y = b   ,   L T x = y Ly=b\ ,\ L^Tx=y Ly=b , LTx=y


  • 改进平方根法

    为避免重复计算,作如下变换
    A = L D L T = T L T A=LDL^T=TL^T A=LDLT=TLT
    其中 T = L D T=LD T=LD,即引进辅助变量 t i j = l i j ⋅ d j t_{ij}=l_{ij}·d_j tij=lijdj

    对于 i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n
    { t i j = a i j − ∑ k = 1 j − 1 t i k l j k   ,   j = 1 , 2 , ⋯   , i − 1 l i j = t i j / d j   ,   j = 1 , 2 , ⋯   , i − 1 d i = a i i − ∑ k = 1 i − 1 t i k l i k \begin{cases} t_{ij}=a_{ij}-\sum\limits_{k=1}^{j-1}t_{ik}l_{jk}\ ,\ j=1,2,\cdots,i-1\\ l_{ij}=t_{ij}/d_{j}\ ,\ j=1,2,\cdots,i-1\\ d_i=a_{ii}-\sum\limits_{k=1}^{i-1}t_{ik}l_{ik} \end{cases} tij=aijk=1j1tikljk , j=1,2,,i1lij=tij/dj , j=1,2,,i1di=aiik=1i1tiklik
    计算顺序为 d 1 → l 21 → d 2 → l 31 → l 32 → d 3 → l 41 → l 42 → l 43 d_1\rightarrow l_{21}\rightarrow d_2 \rightarrow l_{31}\rightarrow l_{32}\rightarrow d_3\rightarrow l_{41}\rightarrow l_{42}\rightarrow l_{43} d1l21d2l31l32d3l41l42l43

    故等价求解 L ( D L T x ) = b L(DL^Tx)=b L(DLTx)=b,可分解为 L y = b   ,   D L T x = y Ly=b\ ,\ DL^Tx=y Ly=b , DLTx=y,其计算公式为
    { y i = b i − ∑ k = 1 i − 1 l i k y k   ,   1 , 2 , ⋯   , n x i = y i / d i − ∑ k = i + 1 n l k i x k   ,   i = n , n − 1 , ⋯   , 1 \begin{cases} y_i=b_i-\sum\limits_{k=1}^{i-1}l_{ik}y_k\ ,\ 1,2,\cdots,n\\ x_i=y_i/d_i-\sum\limits_{k=i+1}^{n}l_{ki}x_k\ ,\ i=n,n-1,\cdots,1 \end{cases} yi=bik=1i1likyk , 1,2,,nxi=yi/dik=i+1nlkixk , i=n,n1,,1

    例:用改进平方根法解方程组
    ( 3 3 5 3 5 9 5 9 17 ) ( x 1 x 2 x 3 ) = ( 0 − 2 − 4 ) \left(\begin{matrix}3&3&5\\3&5&9\\5&9&17\end{matrix}\right) \left(\begin{matrix}x_1\\x_2\\x_3\end{matrix}\right)= \left(\begin{matrix}0\\-2\\-4\end{matrix}\right) 3353595917x1x2x3=024

    解: A A A为对称矩阵,且 ∣ A 1 ∣ = 3 > 0   ,   ∣ A 2 ∣ = 6 > 0   ,   ∣ A 3 ∣ = 4 > 0 \left|A_1\right|=3>0\ ,\ \left|A_2\right|=6>0\ ,\ \left|A_3\right|=4>0 A1=3>0 , A2=6>0 , A3=4>0,方程组为对称正定方程组

    ​ 解得 L = ( 1 1 1 5 3 2 1 ) D = ( 3 2 2 3 ) L=\left(\begin{matrix}1\\1&1\\\dfrac53&2&1\end{matrix}\right)\qquad D=\left(\begin{matrix}3\\&2\\&&\dfrac 23\end{matrix}\right) L=1135121D=3232

    ​ 故有
    { y 1 = b 1 = 0 y 2 = b 2 − l 21 y 1 = − 2 y 3 = b 3 − l 31 y 1 − l 32 y 2 = 0 { x 3 = y 3 / d 3 = 0 x 2 = y 2 / d 2 − l 32 x 3 = − 1 x 1 = y 1 / d 1 − l 21 x 2 − l 31 x 3 = 1 \begin{cases} y_1=b_1=0\\ y_2=b_2-l_{21}y_1=-2\\ y_3=b_3-l_{31}y_1-l_{32}y_2=0 \end{cases} \qquad \begin{cases} x_3=y_3/d_3=0\\ x_2=y_2/d_2-l_{32}x_3=-1\\ x_1=y_1/d_1-l_{21}x_2-l_{31}x_3=1 \end{cases} y1=b1=0y2=b2l21y1=2y3=b3l31y1l32y2=0x3=y3/d3=0x2=y2/d2l32x3=1x1=y1/d1l21x2l31x3=1

向量与矩阵的范数

  • 向量范数

    向量 ∀ x ∈ R n \forall x\in R^n xRn的范数 ∥ x ∥ \left\|x\right\| x是一个实数,且满足

    • ∥ x ∥ ≥ 0 \left\|x\right\|\ge0 x0,当且仅当 x = 0 x=0 x=0时, ∥ x ∥ = 0 \left\|x\right\|=0 x=0 非负性
    • ∀ a ∈ R ∗ , 有 \forall a\in R*,有 aR ∥ a x ∥ = ∣ a ∣ ⋅ ∥ x ∥ \left\|ax\right\|=\left|a\right|\cdot\left\|x\right\| ax=ax 齐次性
    • ∀ x , y ∈ R n \forall x,y\in R^n x,yRn,有 ∥ x + y ∥ ≤ ∥ x ∥ + ∥ y ∥ \left\|x+y\right\|\le\left\|x\right\|+\left\|y\right\| x+yx+y 三角不等式

    范数的性质: x = ( x 1 , x 2 , ⋯   , x n ) T x=\left(x_1,x_2,\cdots,x_n\right)^T x=(x1,x2,,xn)T

    • ∥ x ∥ ≠ 0 , ∥ x ∥ x ∥ ∥ = 1 \left\|x\right\|\ne0,\left\|\frac x{\left\|x\right\|}\right\|=1 x=0,xx=1
    • ∥ − x ∥ = ∥ x ∥ \left\|-x\right\|=\left\|x\right\| x=x
    • ∥ x ∥ − ∥ y ∥ ≤ ∥ x − y ∥ \left\|x\right\|-\left\|y\right\|\le\left\|x-y\right\| xyxy

    三种范数:给定 R n R^n Rn中的 x = ( x 1 , x 2 , ⋯   , x n ) T x=\left(x_1,x_2,\cdots,x_n\right)^T x=(x1,x2,,xn)T

    • ∥ x ∥ 1 = ∣ x 1 ∣ + ∣ x 2 ∣ + ⋯ + ∣ x n ∣ = ∑ i = 1 n ∣ x i ∣ \left\|x\right\|_1=\left|x_1\right|+\left|x_2\right|+\cdots+\left|x_n\right|=\sum\limits_{i=1}^n\left|x_i\right| x1=x1+x2++xn=i=1nxi
    • ∥ x ∥ 2 = x 1 2 + x 2 2 + ⋯ + x n 2 = ( ∑ i = 1 n x i 2 ) 1 2 \left\|x\right\|_2=\sqrt{x_1^2+x_2^2+\cdots+x_n^2}=\left(\sum\limits_{i=1}^nx_i^2\right)^\frac 12 x2=x12+x22++xn2 =(i=1nxi2)21
    • ∥ x ∥ ∞ = max ⁡ { ∣ x 1 ∣ , ∣ x 2 ∣ , ⋯   , ∣ x n ∣ } = max ⁡ 1 ≤ i ≤ n { ∣ x i ∣ } \left\|x\right\|_{\infty}=\max\{\left|x_1\right|,\left|x_2\right|,\cdots,\left|x_n\right|\}=\max\limits_{1\le i\le n}\{\left|x_i\right|\} x=max{x1,x2,,xn}=1inmax{xi}

    p-范数: 对向量 x x x,有 ∥ x ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p   ,   1 ≤ p ≤ + ∞ \left\|x\right\|_p=\left(\sum\limits_{i=1}^n{\left|x_i\right|^p}\right)^\frac 1p\ ,\ 1\le p\le +\infty xp=(i=1nxip)p1 , 1p+


  • 矩阵范数

    • ∥ A ∥ ∞ = max ⁡ 1 ≤ i ≤ n ∑ j = 1 n ∣ a i j ∣ \left\|A\right\|_{\infty}=\max\limits_{1\le i\le n}\sum\limits_{j=1}^n\left|a_{ij}\right| A=1inmaxj=1naij 行范数

    • ∥ A ∥ 1 = max ⁡ 1 ≤ j ≤ n ∑ i = 1 n ∣ a i j ∣ \left\|A\right\|_1=\max\limits_{1\le j\le n}\sum\limits_{i=1}^n\left|a_{ij}\right| A1=1jnmaxi=1naij 列范数

    • ∥ A ∥ 2 = λ m a x ( A T A ) \left\|A\right\|_2=\sqrt{\lambda_{max}(A^TA)} A2=λmax(ATA) 谱范数

      其中 λ m a x ( A T A ) \lambda_{max}(A^TA) λmax(ATA)表示 ( A T A ) (A^TA) (ATA)的最大特征值

      特征值

      A ∈ R m × n A\in R^{m\times n} ARm×n,如果存在 λ ∈ R \lambda\in R λR使
      A x = λ x Ax=\lambda x Ax=λx
      则称 λ \lambda λ A A A的一个特征值。 x x x就是特征值 λ \lambda λ对应的特征向量

    求特征值,也可转化为求 λ E − A = 0 \lambda E-A=0 λEA=0 的解


    谱半径

    对于 R n × n R^{n\times n} Rn×n上的矩阵 A A A,设 A A A的特征值为 λ 1 , λ 2 , ⋯   , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,,λn,称
    ρ ( A ) = max ⁡ { λ 1 , λ 2 , ⋯   , λ n } \rho(A)=\max\{\lambda_1,\lambda_2,\cdots,\lambda_n\} ρ(A)=max{λ1,λ2,,λn}
    为矩阵 A A A的谱半径

    性质: 对于 R n × n R^{n\times n} Rn×n上的矩阵 A A A,有 ρ ( A ) ≤ ∥ A ∥ \rho(A)\le\left\|A\right\| ρ(A)A

    例:已知向量 x = ( 2   , − 3   , 4 ) T x=(2\ ,-3\ ,4)^T x=(2 ,3 ,4)T,矩阵 A = ( 1 0 0 0 2 4 0 − 2 4 ) A=\begin{pmatrix}1&0&0\\0&2&4\\0&-2&4\end{pmatrix} A=100022044,求向量 x x x A A A 的三种常用范数

    解: ∥ x ∥ ∞ = m a x { 2   , 3   , 4 } = 4 \left\|x\right\|_{\infty}=max\{2\ ,3\ ,4\}=4 x=max{2 ,3 ,4}=4

    ∥ x ∥ 1 = 2 + 3 + 4 = 9 \left\|x\right\|_1=2+3+4=9 x1=2+3+4=9

    ∥ x ∥ 2 = 2 2 + ( − 3 ) 2 = 4 2 = 29 \left\|x\right\|_2=\sqrt{2^2+(-3)^2=4^2}=\sqrt{29} x2=22+(3)2=42 =29

    ​ 矩阵 A A A 的范数

    ∥ A ∥ ∞ = m a x { 1 , 6 , 6 } = 6 \left\|A\right\|_{\infty}=max\{1,6,6\}=6 A=max{1,6,6}=6

    ∥ A ∥ 1 = m a x { 1 , 4 , 8 } = 8 \left\|A\right\|_1=max\{1,4,8\}=8 A1=max{1,4,8}=8

    A T A = ( 1 0 0 0 2 − 2 0 4 4 ) ( 1 0 0 0 2 4 0 − 2 4 ) = ( 1 0 0 0 8 0 0 0 32 ) A^TA=\begin{pmatrix}1&0&0\\0&2&-2\\0&4&4\end{pmatrix}\begin{pmatrix}1&0&0\\0&2&4\\0&-2&4\end{pmatrix}=\begin{pmatrix}1&0&0\\0&8&0\\0&0&32\end{pmatrix} ATA=100024024100022044=1000800032

    ​ 由 λ E − A T A = 0 \lambda E-A^TA=0 λEATA=0 解得 λ 1 = 1   , λ 2 = 8   , λ 3 = 32 \lambda_1=1\ ,\lambda_2=8\ ,\lambda_3=32 λ1=1 ,λ2=8 ,λ3=32

    ​ 故 ∥ A ∥ 2 = λ m a x ( A T A ) = m a x { 1 , 8 , 32 } = 4 2 \left\|A\right\|_2=\sqrt{\lambda_{max}(A^TA)}=\sqrt{max\{1,8,32\}}=4\sqrt{2} A2=λmax(ATA) =max{1,8,32} =42

方程组的性态和误差分析(不用记)

  • 方程组的性态和矩阵的条件数

    对于线性方程组   A x = b \ Ax=b  Ax=b,若   A \ A  A   b \ b  b的微小变化(又称扰动或摄动)引起   A x = b \ Ax=b  Ax=b的解有巨大变化,则称方程组为病态方程组,系数矩阵   A \ A  A为病态矩阵;否则二者均为良态


    设矩阵   A \ A  A非奇异,定义   c o n d ( A ) = ∥ A − 1 ∥ ∥ A ∥ \ cond(A)=\left\|A^{-1}\right\|\left\|A\right\|  cond(A)=A1A为矩阵   A \ A  A的条件数

    条件数有以下性质

    • c o n d ( A ) ≥ 1   ,   c o n d ( A ) = c o n d ( A − 1 ) cond(A)\ge1\ ,\ cond(A)=cond(A^{-1}) cond(A)1 , cond(A)=cond(A1)
    • c o n d ( α A ) = c o n d ( A ) cond(\alpha A)=cond(A) cond(αA)=cond(A),其中   α \ \alpha  α为非零常数
    • c o n d ( A B ) ≤ c o n d ( A ) c o n d ( B ) cond(AB)\le cond(A)cond(B) cond(AB)cond(A)cond(B)

      c o n d ( A ) ≥ 1 \ cond(A)\ge 1  cond(A)1时, A x = b Ax=b Ax=b是病态方程组, A A A是病态的;当   c o n d ( A ) \ cond(A)  cond(A)相对较小时, A x = b Ax=b Ax=b是良态方程组, A A A是良态的。至于条件数多大才算病态范围,一般来说没有具体标准,只是相对而言


    解的相对误差上界:
    ∥ δ x ∥ ∥ x ∥ ≤ c o n d ( A ) ∥ δ b ∥ ∥ b ∥ \frac {\left\|\delta x\right\|}{\left\|x\right\|}\le cond(A)\frac {\left\|\delta b\right\|}{\left\|b\right\|} xδxcond(A)bδb

    例:已知方程组
    ( 1 0 − 1 2 2 1 0 2 2 ) ( x 1 x 2 x 3 ) = ( 1 2 1 3 − 2 3 ) \left(\begin{matrix}1&0&-1\\2&2&1\\0&2&2\end{matrix}\right) \left(\begin{matrix}x_1\\x_2\\x_3\end{matrix}\right)= \left(\begin{matrix}\dfrac 12\\\dfrac 13\\-\dfrac 23\end{matrix}\right) 120022112x1x2x3=213132
    的解 x = ( 1 2   , − 1 3   , 0 ) T x=(\dfrac 12\ ,-\dfrac 13\ ,0)^T x=(21 ,31 ,0)T,如果右端有小扰动 ∥ δ b ∥ ∞ = 1 2 × 1 0 − 6 \left\|\delta b\right\|_\infty=\dfrac 12 \times 10^{-6} δb=21×106,估计由此引起的解的相对误差

    解: A − 1 = ( − 1 1 − 1 2 − 1 1.5 − 2 1 − 1 ) A^{-1}=\begin{pmatrix}-1&1&-1\\2&-1&1.5\\-2&1&-1\end{pmatrix} A1=12211111.51,所以有 c o n d ∞ ( A ) = ∥ A ∥ ∞ ∥ A − 1 ∥ ∞ = 5 × 4.5 = 22.5 cond_\infty(A)=\left\|A\right\|_\infty\left\|A^{-1}\right\|_\infty=5\times 4.5=22.5 cond(A)=AA1=5×4.5=22.5
    ∥ δ x ∥ ∞ ∥ x ∥ ∞ ≤ c o n d ∞ ( A ) ∥ δ b ∥ ∞ ∥ b ∥ ∞ = 22.5 × 1 2 × 1 0 − 6 2 3 = 1.6875 × 1 0 − 5 \dfrac {\left\|\delta x\right\|_\infty}{\left\|x\right\|_\infty}\le cond_\infty(A)\dfrac {\left\|\delta b\right\|_\infty}{\left\|b\right\|_\infty}=22.5\times \dfrac {\dfrac 12 \times 10^{-6}}{\dfrac 23}=1.6875\times 10^{-5} xδxcond(A)bδb=22.5×3221×106=1.6875×105
    故解的相对误差为 1.6875 × 1 0 − 5 1.6875\times 10^{-5} 1.6875×105


  • 误差分析

    求得   A x = b \ Ax=b  Ax=b的一个近似解   x ~ \ \widetilde x  x 后,回代求其余量
    r = b − A x ~ r=b-A\widetilde x r=bAx
    如果   r \ r  r很小,就认为解   x ~ \ \widetilde x  x 是相当准确的

迭代法

  • 迭代原理

    给定方程组 A x = b Ax=b Ax=b,其中 A ∈ R n × n , b ∈ R n , A A\in R^{n\times n},b\in R^n,A ARn×n,bRn,A非奇异

    设找到等价方程组 x = B x + f x=Bx+f x=Bx+f

    从而建立迭代格式 x ( k + 1 ) = B x ( k ) + f   ,   k = 0 , 1 , ⋯ x^{(k+1)}=Bx^{(k)}+f\ ,\ k=0,1,\cdots x(k+1)=Bx(k)+f , k=0,1,

    lim ⁡ k → + ∞ x ( k ) = x ∗ \lim\limits_{k\rightarrow+\infty}x^{(k)}=x^* k+limx(k)=x,则称迭代法收敛, x ∗ x^* x即方程组的解

    否则,称此迭代法发散


  • 雅可比迭代

    设线性方程组
    { a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋯ ⋯ ⋯ a n 1 x 1 + a n 2 x 2 + ⋯ + a n n x n = b n \begin{cases} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2\\ \cdots\cdots\cdots\\ a_{n1}x_1+a_{n2}x_2+\cdots+a_{nn}x_n=b_n \end{cases} a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn
    其中系数矩阵非奇异,且主对角元 a i i ≠ 0 a_{ii}\ne 0 aii=0,则可由第   i \ i  i个方程解出 x i x_i xi,有
    x i ( k + 1 ) = 1 a i i ( b i − ∑ j = 1 i − 1 a i j x j ( k ) − ∑ j = i + 1 n a i j x j ( k ) )   ,   i = 1 , 2 , ⋯   , n x_i^{(k+1)}=\frac 1{a_{ii}}(b_i-\sum_{j=1}^{i-1}a_{ij}x_j^{(k)}-\sum_{j=i+1}^{n}a_{ij}x_j^{(k)})\ ,\ i=1,2,\cdots,n xi(k+1)=aii1(bij=1i1aijxj(k)j=i+1naijxj(k)) , i=1,2,,n


  • 高斯—赛德尔迭代

    雅可比迭代时,每次迭代都只用到前一次的迭代值,而在高斯—赛德尔迭代时,每次迭代充分利用当前最新的迭代值。因为在迭代收敛时,新值 x i ( k + 1 ) x_i^{(k+1)} xi(k+1)比老值 x i ( k ) x_i^{(k)} xi(k)更准确些

    设线性方程组
    { a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋯ ⋯ ⋯ a n 1 x 1 + a n 2 x 2 + ⋯ + a n n x n = b n \begin{cases} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2\\ \cdots\cdots\cdots\\ a_{n1}x_1+a_{n2}x_2+\cdots+a_{nn}x_n=b_n \end{cases} a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn
    其中系数矩阵非奇异,且主对角元 a i i ≠ 0 a_{ii}\ne 0 aii=0,则可由第   i \ i  i个方程解出 x i x_i xi,有
    x i ( k + 1 ) = 1 a i i ( b i − ∑ j = 1 i − 1 a i j x j ( k + 1 ) − ∑ j = i + 1 n a i j x j ( k ) )   ,   i = 1 , 2 , ⋯   , n x_i^{(k+1)}=\frac 1{a_{ii}}(b_i-\sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)}-\sum_{j=i+1}^{n}a_{ij}x_j^{(k)})\ ,\ i=1,2,\cdots,n xi(k+1)=aii1(bij=1i1aijxj(k+1)j=i+1naijxj(k)) , i=1,2,,n
    与雅可比迭代的区别在于第二项   x j \ x_j  xj的指数变为了   k + 1 \ k+1  k+1

    一般来说,高斯—赛德尔迭代法比雅可比迭代法好。但情况并不总是这样,甚至有雅可比迭代收敛但高斯—赛德尔迭代不收敛的情况


  • 松弛法

    松弛法是对高斯—赛德尔迭代法的一种加速方法

    设高斯—赛德尔迭代
    x ~ i ( k + 1 ) = 1 a i i ( b i − ∑ j = 1 i − 1 a i j x j ( k + 1 ) − ∑ j = i + 1 n a i j x j ( k ) )   ,   i = 1 , 2 , ⋯   , n \tilde x_i^{(k+1)}=\frac 1{a_{ii}}(b_i-\sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)}-\sum_{j=i+1}^{n}a_{ij}x_j^{(k)})\ ,\ i=1,2,\cdots,n x~i(k+1)=aii1(bij=1i1aijxj(k+1)j=i+1naijxj(k)) , i=1,2,,n
    加速
    x i ( k + 1 ) = ω x ~ i ( k + 1 ) + ( 1 − ω ) x i ( k ) x_i^{(k+1)}=\omega \tilde x_i^{(k+1)}+(1-\omega)x_i^{(k)} xi(k+1)=ωx~i(k+1)+(1ω)xi(k)
    上二式即松弛法,合并表为
    x i ( k + 1 ) = ( 1 − ω ) x i ( k ) + ω a i i ( b i − ∑ j = 1 i − 1 a i j x j ( k + 1 ) − ∑ j = i + 1 n a i j x j ( k ) )   ,   i = 1 , 2 , ⋯   , n x_i^{(k+1)}=(1-\omega)x_i^{(k)}+\frac \omega{a_{ii}}(b_i-\sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)}-\sum_{j=i+1}^{n}a_{ij}x_j^{(k)})\ ,\ i=1,2,\cdots,n xi(k+1)=(1ω)xi(k)+aiiω(bij=1i1aijxj(k+1)j=i+1naijxj(k)) , i=1,2,,n
    式中系数   ω \ \omega  ω为松弛因子。高斯—赛德尔迭代法是取   ω = 1 \ \omega=1  ω=1的特殊情形

    为了保证迭代过程收敛,必须要求   0 < ω < 2 \ 0<\omega<2  0<ω<2

    由于   x ~ i ( k + 1 ) \ \tilde x_i^{(k+1)}  x~i(k+1)通常比   x i ( k ) \ x_i^{(k)}  xi(k)精确,故为了加大   x ~ i ( k + 1 ) \ \tilde x_i^{(k+1)}  x~i(k+1)比重,取   1 < ω < 2 \ 1<\omega<2  1<ω<2,即超松弛法(SOR方法)

    实际计算时,根据系数矩阵性质或实践经验选取最佳的松弛因子


  • 迭代公式的矩阵表示

    系数矩阵可以分解为:
    A = − L + D − U A=-L+D-U A=L+DU
    注: L L L D D D 为负

    雅可比迭代矩阵:
    J = I − D − 1 A J=I-D^{-1}A J=ID1A
    高斯—赛德尔迭代矩阵:
    G = ( D − L ) − 1 U G=(D-L)^{-1}U G=(DL)1U

迭代的收敛性

  • 收敛的基本定理

    迭代过程 x ( k + 1 ) = B x ( k ) + f x^{(k+1)}=Bx^{(k)}+f x(k+1)=Bx(k)+f任意给定初始向量 x ( 0 ) x^{(0)} x(0) 收敛的充分必要条件是迭代矩阵的谱半径 ρ ( B ) < 1 \rho(B)<1 ρ(B)<1 ,且当 ρ ( B ) < 1 \rho(B)<1 ρ(B)<1 时,迭代矩阵谱半径越小,收敛速度越快

    引理:

    • 对一种矩阵范数 ∥ A ∥ < 1 \left\|A\right\|<1 A<1 ,则 lim ⁡ k → ∞ A k = 0 \lim\limits_{k\rightarrow\infty}A^k=0 klimAk=0 ,即矩阵收敛

    • 对于 R n × n R^{n\times n} Rn×n 上的矩阵 A A A,有 ρ ( A ) ≤ ∥ A ∥ \rho(A)\le\left\|A\right\| ρ(A)A

    • 对任意 ε > 0 \varepsilon>0 ε>0存在算子范数,使得 ∥ A ∥ ≤ ρ ( A ) + ε \left\|A\right\|\le\rho(A)+\varepsilon Aρ(A)+ε

    因为需求特征值,所以基本定理的理论价值大于实用价值

    例:方程组 A x = b Ax=b Ax=b ,其中 A = ( 1 − 1 3 0 − 1 3 1 − 1 3 0 − 1 3 1 ) A=\begin{pmatrix}1&-\dfrac 13&0\\-\dfrac 13&1&-\dfrac 13\\0&-\dfrac 13&1\end{pmatrix} A=1310311310311 x ,   b ∈ R 3 x,\ b\in R^3 x, bR3

    ​ 1)分别写出雅可比迭代法和高斯—赛德尔迭代法的计算公式(分量形式)

    ​ 2)分别写出雅可比迭代法的迭代矩阵和高斯—赛德尔迭代法的迭代矩阵的谱半径,并用它们判别这两种迭代方法的收敛性

​ 解:1)雅可比迭代法的计算公式
{ x 1 ( k + 1 ) = 1 3 x 2 ( k ) + b 1 x 2 ( k + 1 ) = 1 3 x 1 ( k ) + 1 3 x 3 ( k ) + b 2 x 3 ( k + 1 ) = 1 3 x 2 ( k ) + b 3 \begin{cases} x_1^{(k+1)}=\dfrac 13 x_2^{(k)}+b_1\\ x_2^{(k+1)}=\dfrac 13 x_1^{(k)}+\dfrac 13 x_3^{(k)}+b_2\\ x_3^{(k+1)}=\dfrac 13 x_2^{(k)}+b_3 \end{cases} x1(k+1)=31x2(k)+b1x2(k+1)=31x1(k)+31x3(k)+b2x3(k+1)=31x2(k)+b3
​ 高斯—赛德尔迭代法的计算公式
{ x 1 ( k + 1 ) = 1 3 x 2 ( k ) + b 1 x 2 ( k + 1 ) = 1 3 x 1 ( k + 1 ) + 1 3 x 3 ( k ) + b 2 x 3 ( k + 1 ) = 1 3 x 2 ( k + 1 ) + b 3 \begin{cases} x_1^{(k+1)}=\dfrac 13 x_2^{(k)}+b_1\\ x_2^{(k+1)}=\dfrac 13 x_1^{(k+1)}+\dfrac 13 x_3^{(k)}+b_2\\ x_3^{(k+1)}=\dfrac 13 x_2^{(k+1)}+b_3 \end{cases} x1(k+1)=31x2(k)+b1x2(k+1)=31x1(k+1)+31x3(k)+b2x3(k+1)=31x2(k+1)+b3
​ 2)系数矩阵分解为
L = ( 0 0 0 1 3 0 0 0 1 3 0 ) ,    D = ( 1 0 0 0 1 0 0 0 1 ) ,    U = ( 0 1 3 0 0 0 1 3 0 0 0 ) L=\begin{pmatrix}0&0&0\\\dfrac 13&0&0\\0&\dfrac 13&0\end{pmatrix},\ \ D=\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix},\ \ U=\begin{pmatrix}0&\dfrac 13&0\\0&0&\dfrac 13\\0&0&0\end{pmatrix} L=03100031000,  D=100010001,  U=00031000310
​ 故雅可比迭代矩阵为
J = I − D − 1 A = ( 0 1 3 0 1 3 0 1 3 0 1 3 0 ) J=I-D^{-1}A=\begin{pmatrix}0&\dfrac 13&0\\\dfrac 13&0&\dfrac 13\\0&\dfrac 13&0\end{pmatrix} J=ID1A=0310310310310
​ 再求出雅可比矩阵的特征值
∣ λ I − J ∣ = ∣ λ − 1 3 0 − 1 3 λ − 1 3 0 − 1 3 λ ∣ = λ 3 − 2 9 λ = 0 |\lambda I-J|=\left|\begin{matrix}\lambda&-\dfrac 13&0\\-\dfrac 13&\lambda&-\dfrac 13\\0&-\dfrac 13&\lambda\end{matrix}\right|=\lambda^3-\frac 29\lambda=0 λIJ=λ31031λ31031λ=λ392λ=0
​ 解得 λ 1 = 0 ,   λ 2 = 2 3 ,   λ 3 = − 2 3 \lambda_1=0,\ \lambda_2=\dfrac {\sqrt 2}3,\ \lambda_3=-\dfrac {\sqrt 2}3 λ1=0, λ2=32 , λ3=32 ,故 ρ ( J ) = 2 3 < 1 \rho(J)=\dfrac {\sqrt 2}3<1 ρ(J)=32 <1,雅可比迭代收敛

​ 高斯—赛德尔迭代矩阵
D − L = ( 1 0 0 − 1 3 1 0 0 − 1 3 1 ) ,   ( D − L ) − 1 = ( 1 0 0 1 3 1 0 1 9 1 3 1 ) D-L=\begin{pmatrix}1&0&0\\-\dfrac 13&1&0\\0&-\dfrac 13&1\end{pmatrix},\ (D-L)^{-1}=\begin{pmatrix}1&0&0\\\dfrac 13&1&0\\\dfrac 19&\dfrac 13&1\end{pmatrix} DL=13100131001, (DL)1=131910131001

G = ( D − L ) − 1 U = ( 1 0 0 1 3 1 0 1 9 1 3 1 ) ( 0 1 3 0 0 0 1 3 0 0 0 ) = ( 0 1 3 0 0 1 9 1 3 0 1 27 1 9 ) G=(D-L)^{-1}U=\begin{pmatrix}1&0&0\\\dfrac 13&1&0\\\dfrac 19&\dfrac 13&1\end{pmatrix}\begin{pmatrix}0&\dfrac 13&0\\0&0&\dfrac 13\\0&0&0\end{pmatrix}=\begin{pmatrix}0&\dfrac 13&0\\0&\dfrac 19&\dfrac 13\\0&\dfrac 1{27}&\dfrac 19\end{pmatrix} G=(DL)1U=13191013100100031000310=000319127103191

​ 再求出高斯—赛德尔矩阵的特征值
∣ λ I − G ∣ = ∣ λ − 1 3 0 0 λ − 1 9 − 1 3 0 − 1 27 λ − 1 9 ∣ = λ ( λ − 1 9 ) 2 − 1 81 λ = 0 |\lambda I-G|=\left|\begin{matrix}\lambda&-\dfrac 13&0\\0&\lambda-\dfrac 19&-\dfrac 13\\0&-\dfrac 1{27}&\lambda-\dfrac 19\end{matrix}\right|=\lambda(\lambda-\dfrac 19)^2-\frac 1{81}\lambda=0 λIG=λ0031λ91271031λ91=λ(λ91)2811λ=0
​ 解得 λ 1 = 0 ,   λ 2 = 0 ,   λ 3 = 2 9 \lambda_1=0,\ \lambda_2=0,\ \lambda_3=\dfrac 29 λ1=0, λ2=0, λ3=92,故 ρ ( G ) = 2 9 < 1 \rho(G)=\dfrac 29<1 ρ(G)=92<1 ,高斯—赛德尔迭代收敛

  • 迭代矩阵法

    引理:

    方阵 B B B 满足 ∥ B ∥ < 1 \left\|B\right\|<1 B<1 ,则 I − B I-B IB非奇异矩阵,且
    ∥ ( I ± B ) − 1 ∥ ≤ 1 1 − ∥ B ∥ \left\|(I\pm B)^{-1}\right\|\le \frac 1{1-\left\|B\right\|} (I±B)11B1

    定理:

    • 若迭代矩阵 B B B 满足 ∥ B ∥ < 1 \left\|B\right\|<1 B<1 ,则迭代过程 x ( k + 1 ) = B x ( k ) + f x^{(k+1)}=Bx^{(k)}+f x(k+1)=Bx(k)+f任意给定初始向量 x ( 0 ) x^{(0)} x(0) 收敛于 x = B x + f x=Bx+f x=Bx+f 的根 x ∗ x^* x

      注:充分条件 若满足,则收敛;若不满足,不一定不收敛

    • 若雅可比迭代矩阵满足 ∥ J ∥ < 1 \left\|J\right\|<1 J<1 ,则其对应的高斯—赛德尔迭代也收敛

      注:充分条件 若满足,则收敛;若不满足,不一定不收敛

  • 系数矩阵法

    严格对角占优矩阵:
    ∣ a i i ∣ > ∑ j = 1   ,   i ≠ j n ∣ a i j ∣   ,   i = 1 , 2 , ⋯   , n |a_{ii}|>\sum_{j=1\ ,\ i\ne j}^n|a_{ij}|\ ,\ i=1,2,\cdots,n aii>j=1 , i=jnaij , i=1,2,,n

    定理:

    • 严格对角占优方程组的雅可比迭代公式和高斯—赛德尔迭代公式均收敛

    • 若系数矩阵 A A A 对称正定,则解方程组 A x = b Ax=b Ax=b 的高斯—赛德尔迭代收敛

    • 2 D − A 2D-A 2DA 对称正定,则雅可比迭代收敛

    例:判断线性方程组
    ( − 1 − 5 8 4 1 − 2 − 2 9 3 ) ( x 1 x 2 x 3 ) = ( 9 − 6 5 ) \left(\begin{matrix}-1&-5&8\\4&1&-2\\-2&9&3\end{matrix}\right) \left(\begin{matrix}x_1\\x_2\\x_3\end{matrix}\right)= \left(\begin{matrix}9\\-6\\5\end{matrix}\right) 142519823x1x2x3=965
    高斯—赛德尔迭代的收敛性

    解:将方程组进行行行交换后为
    ( 4 1 − 2 − 2 9 3 − 1 − 5 8 ) ( x 2 x 3 x 1 ) = ( − 6 5 9 ) \left(\begin{matrix}4&1&-2\\-2&9&3\\-1&-5&8\end{matrix}\right) \left(\begin{matrix}x_2\\x_3\\x_1\end{matrix}\right)= \left(\begin{matrix}-6\\5\\9\end{matrix}\right) 421195238x2x3x1=659
    因为方程组系数阵为严格对角占优矩阵,故高斯—赛德尔迭代收敛

  • 松弛法的收敛性

    定理:

    • 解方程组 A x = b Ax=b Ax=b 的松弛法收敛的必要条件 0 < ω < 2 0<\omega<2 0<ω<2
    • A A A 对称正定,且 0 < ω < 2 0<\omega<2 0<ω<2 ,则解方程组 A x = b Ax=b Ax=b 的松弛法收敛

你可能感兴趣的:(数值计算方法第三章—线性方程组的数值解法知识点总结)