线性代数方程组数值解法

线性代数方程组的数值解法

  • 线性代数方程组数值解法
    • 一.向量范数与矩阵范数
      • 1.1 向量范数
        • 1.1.1 满足三个条件(向量范数公理)
        • 1.1.2 常用的向量范数
      • 1.2 矩阵范数
        • 1.2.1 矩阵范数公理(四个条件)
        • 1.2.2 常用的矩阵从属范数
          • 相容性(对于向量范数与矩阵范数而言)
          • 从属范数
          • 常见从属范数
          • Frobenius范数(F范数)
    • 二.Gauss消元法
      • 2.1 Gauss消元法
      • 2.2 列选主元素消元法
      • 2.3 全选主元素消元法
    • 三.三角分解法
      • 3.1 LU分解
      • 3.2 列主元消元法的LU分解
      • 3.3 杜立特(Doolittle)分解法
      • 3.4 Crout分解法
      • 3.5 Cholesky平方根法
      • 3.6 改进的Cholesky平方根法
      • 3.7 三对角方程组追赶法
    • 四.矩阵的条件数及误差分析
      • 4.1 条件数
    • 五.线性方程组的迭代解法
    • 六.梯度法

线性代数方程组数值解法

即对n阶线性方程组:
A x = b \mathbf{Ax=b} Ax=b
的数值解法。其中 A = ( a i j ) \mathbf{A}=(a_{ij}) A=(aij)是n×n矩阵且非奇异。(以下讨论皆以矩阵A可逆为前提)
以下摘录了两类数值方法:

  • 直接法: A x = b ⟺ G x = d \mathbf{Ax=b}\Longleftrightarrow\mathbf{Gx=d} Ax=bGx=d 其中G通常是对角矩阵、三角矩阵或者是一些结构简单的矩阵。
  • 迭代法:
    A x = b ⟺ x = B x + k 建 立 迭 代 格 式 : x ( i + 1 ) = B x ( i ) + k , i = 0 , 1 , . . . , \mathbf{Ax=b}\Longleftrightarrow\mathbf{x=Bx+k}\\建立迭代格式: \\\mathbf{x^{(i+1)}=Bx^{(i)}+k},i=0,1,..., Ax=bx=Bx+kx(i+1)=Bx(i)+k,i=0,1,...,
    迭代收敛。

一.向量范数与矩阵范数

1.1 向量范数

1.1.1 满足三个条件(向量范数公理)
  1. 非负性: ∥ x ∥ ≥ 0 \Vert\mathbf{x}\Vert\ge0 x0,且 ∥ x ∥ = 0 ⟺ x = 0 \Vert\mathbf{x}\Vert=0\Longleftrightarrow\mathbf{x=0} x=0x=0;
  2. 齐次性: ∥ α x ∥ = ∣ α ∣ ∥ x ∥ \Vert\alpha\mathbf{x}\Vert=|\alpha|\Vert\mathbf{x}\Vert αx=αx;
  3. 三角不等式: ∥ x + y ∥ ≤ ∥ x ∥ + ∥ y ∥ \Vert\mathbf{x+y}\Vert\le\Vert\mathbf{x}\Vert+\Vert\mathbf{y}\Vert x+yx+y
1.1.2 常用的向量范数
  • 1范数: ∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ \Vert{\mathbf{x}}\Vert_1=\sum^n_{i=1}|x_i| x1=i=1nxi;
  • 2范数: ∥ x ∥ 2 = ( ∑ i = 1 n ∣ x i ∣ 2 ) 1 2 \Vert{\mathbf{x}}\Vert_2=(\sum^n_{i=1}|x_i|^2)^{\frac{1}{2}} x2=(i=1nxi2)21;
  • ∞范数: ∥ x ∥ ∞ = max ⁡ ∣ x i ∣ \Vert{\mathbf{x}}\Vert_\infin=\max_{}|x_i| x=maxxi;
  • p范数: ∥ x ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p \Vert{\mathbf{x}}\Vert_p=(\sum^n_{i=1}|x_i|^p)^{\frac{1}{p}} xp=(i=1nxip)p1;

1.2 矩阵范数

1.2.1 矩阵范数公理(四个条件)
  1. 非负性: ∥ A ∥ ≥ 0 \Vert\mathbf{A}\Vert\ge0 A0,且 ∥ A ∥ = 0 ⟺ A = 0 \Vert\mathbf{A}\Vert=0\Longleftrightarrow\mathbf{A=0} A=0A=0;
  2. 齐次性: ∥ α A ∥ = ∣ α ∣ ∥ A ∥ \Vert\alpha\mathbf{A}\Vert=|\alpha|\Vert\mathbf{A}\Vert αA=αA;
  3. 三角不等式: ∥ A + B ∥ ≤ ∥ A ∥ + ∥ B ∥ \Vert\mathbf{A+B}\Vert\le\Vert\mathbf{A}\Vert+\Vert\mathbf{B}\Vert A+BA+B
  4. 乘法不等式 ∥ A B ∥ ≤ ∥ A ∥ ∥ B ∥ \Vert\mathbf{AB}\Vert\le\Vert\mathbf{A}\Vert\Vert\mathbf{B}\Vert ABAB
1.2.2 常用的矩阵从属范数
相容性(对于向量范数与矩阵范数而言)

满足:
∀ x , A : ∥ A x ∥ 向 量 ≤ ∥ A ∥ 矩 阵 ∥ x ∥ 向 量 \forall\mathbf{x,A}:\Vert\mathbf{Ax}\Vert_{向量}\le\Vert\mathbf{A}\Vert_{矩阵}\Vert\mathbf{x}\Vert_{向量} x,A:AxAx

从属范数

由向量范数定义:
∥ A ∥ = m a x ∥ x ∥ = 1 ∥ A x ∥ = m a x ∥ x ∥ ≠ 0 ∥ A x ∥ ∥ x ∥ \Vert{\mathbf{A}}\Vert=max_{\mathbf{\Vert{x}\Vert}=1}\Vert\mathbf{Ax}\Vert=max_{\mathbf{\Vert{x}\Vert}\ne0}\frac{\Vert\mathbf{Ax}\Vert}{\Vert\mathbf{x}\Vert} A=maxx=1Ax=maxx=0xAx
显然满足相容性。

  • 单位矩阵 I \mathbf{I} I的的任何一种从属范数 ∥ I ∥ \mathbf{\Vert{I}\Vert} I=1。
  • 从属范数一定与所给定的向量范数相容,反之不然
常见从属范数
  • 1范数: ∥ A ∥ 1 = max ⁡ 1 ≤ j ≤ n ∑ i = 1 n ∣ a i j ∣ \Vert{\mathbf{A}}\Vert_1=\max_{1\le j\le{n}}\sum^n_{i=1}|a_{ij}| A1=max1jni=1naij;(最大的绝对值的列之和)
  • 2范数: ∥ A ∥ 2 = ρ ( A H A ) \Vert{\mathbf{A}}\Vert_2=\sqrt{\rho(A^HA)} A2=ρ(AHA) ;
  • ∞范数: ∥ x ∥ ∞ = max ⁡ 1 ≤ I ≤ n ∑ J = 1 n ∣ a i j ∣ \Vert{\mathbf{x}}\Vert_\infin=\max_{1\le I\le{n}}\sum^n_{J=1}|a_{ij}| x=max1InJ=1naij;(最大的绝对值的行之和)

其中:

  • A H \mathbf{A^H} AH A \mathbf{A} A共轭转置(即实数不变,虚数取负再转置)。 A H A \mathbf{A^HA} AHA为对称矩阵。
  • ρ ( A H A ) = m a x ∣ λ i ∣ \rho(\mathbf{A^HA})=max|\lambda_i| ρ(AHA)=maxλi A H A \mathbf{A^HA} AHA谱半径
    另可通过 ∣ λ I − A H A ∣ = 0 |\lambda\mathbf{I-A^HA}|=0 λIAHA=0求得特征值。
  • A为正规矩阵,即 A H A = A A H \mathbf{A^HA=AA^H} AHA=AAH时,有 ∥ A ∥ 2 = ρ ( A ) \Vert\mathbf{A}\Vert_2=\rho(\mathbf{A}) A2=ρ(A)。证明见此:正规矩阵的谱半径等于谱范数
    要点:
    A是正规阵,必然存在酉阵Q(QHQ=QQH=I)满足:
    QHAQ = D ,D为对角阵且每个对角元值为A的特征值。
  • 可以验证:由所给定的向量范数定义出的从属范数满足4条矩阵范数公理。
Frobenius范数(F范数)

∥ A ∥ F = ( ∑ i = 1 n ∑ j = 1 n ∣ a i j ∣ 2 ) 1 2 \Vert\mathbf{A}\Vert_F=(\sum^n_{i=1}\sum^n_{j=1}|a_{ij}|^2)^{\frac{1}{2}} AF=(i=1nj=1naij2)21

二.Gauss消元法

2.1 Gauss消元法

2.2 列选主元素消元法

2.3 全选主元素消元法

三.三角分解法

3.1 LU分解

定理
若A为n阶方阵,且A的所有顺序主子式不等于0,则存在唯一的一个单位下三角矩阵L和一个上三角矩阵U,使A=LU

3.2 列主元消元法的LU分解

定理
若A非奇异,则一定存在排列矩阵P,使得PA被分解为一个单位下三角阵和一个上三角阵的乘积。
P A x = P b ⟺ L U x = P b \mathbf{PAx=Pb}\Longleftrightarrow{\mathbf{LUx=Pb}} PAx=PbLUx=Pb

3.3 杜立特(Doolittle)分解法

设系数矩阵A不需要进行行行交换,且三角分解唯一(所有顺序主子式不为0),则A=LU:
L = [ 1 0 0 . . . 0 l 21 1 0 . . . 0 l 31 l 32 1 . . . 0 . . . . . l n 1 l n 2 l n 3 . . . 1 ] U = [ u 11 u 12 u 13 . . . u 1 n 0 u 22 u 23 . . . u 2 n 0 0 u 33 . . . u 3 n . . . . . . . 0 0 0 . . . u n n ] \mathbf{L}=\begin{bmatrix}1&0&0&...&0\\l_{21}&1&0&...&0\\l_{31}&l_{32}&1&...&0\\.&.&.&.&.\\l_{n1}&l_{n2}&l_{n3}&...&1\end{bmatrix}\\ \mathbf{U}=\begin{bmatrix}u_{11}&u_{12}&u_{13}&...&u_{1n}\\0&u_{22}&u_{23}&...&u_{2n}\\0&0&u_{33}&...&u_{3n}\\ .&.&.&...&.\\0&0&0&...&u_{nn}\end{bmatrix} L=1l21l31.ln101l32.ln2001.ln3.............000.1U=u1100.0u12u220.0u13u23u33.0...............u1nu2nu3n.unn
先算第一行、第一列;再顺序向后先行后列计算。
存储可利用原来的系数矩阵A的存储单元。

3.4 Crout分解法

设系数矩阵A不需要进行行行交换,且三角分解唯一(所有顺序主子式不为0),则 A = L ^ U ^ \mathbf{A=\hat{L}\hat{U}} A=L^U^:
L ^ = [ l 11 0 0 . . . 0 l 21 l 22 0 . . . 0 l 31 l 32 l 33 . . . 0 . . . . . l n 1 l n 2 l n 3 . . . l n n ] U ^ = [ 1 u 12 u 13 . . . u 1 n 0 1 u 23 . . . u 2 n 0 0 1 . . . u 3 n . . . . . . . 0 0 0 . . . 1 ] \mathbf{\hat{L}}=\begin{bmatrix}l_{11}&0&0&...&0\\l_{21}&l_{22}&0&...&0\\l_{31}&l_{32}&l_{33}&...&0\\.&.&.&.&.\\l_{n1}&l_{n2}&l_{n3}&...&l_{nn}\end{bmatrix}\\ \mathbf{\hat U}=\begin{bmatrix}1&u_{12}&u_{13}&...&u_{1n}\\0&1&u_{23}&...&u_{2n}\\0&0&1&...&u_{3n}\\ .&.&.&...&.\\0&0&0&...&1\end{bmatrix} L^=l11l21l31.ln10l22l32.ln200l33.ln3.............000.lnnU^=100.0u1210.0u13u231.0...............u1nu2nu3n.1
先算第一列、第一行;再顺序向后先列后行计算。
存储可利用原来的系数矩阵A的存储单元。

3.5 Cholesky平方根法

定理
系数矩阵A对称正定,则存在下三角阵L,使得A=LLT。当限定L的对角元素为正时,这种分解是唯一的。
A = L ˉ L ˉ T L ˉ = [ l ˉ 11 l ˉ 21 l ˉ 22 l ˉ 31 l ˉ 32 l ˉ 33 . . . . . . . . . . . . 0 l ˉ n 1 l ˉ n 2 l ˉ n 3 . . . l ˉ n n ] \mathbf{A=\bar{L}\bar{L}^T}\\ \mathbf{\bar{L}}=\begin{bmatrix}\bar{l}_{11}&&&&\\\bar{l}_{21}&\bar{l}_{22}&&&\\\bar{l}_{31}&\bar{l}_{32}&\bar{l}_{33}\\...&...&...&...&0\\\bar{l}_{n1}&\bar{l}_{n2}&\bar{l}_{n3}&...&\bar{l}_{nn}\end{bmatrix} A=LˉLˉTLˉ=lˉ11lˉ21lˉ31...lˉn1lˉ22lˉ32...lˉn2lˉ33...lˉn3......0lˉnn
缺点:需要开根

3.6 改进的Cholesky平方根法

A = L D L T L = [ 1 l 21 1 l 31 l 32 1 . . . . . . . . . . . . 0 l n 1 l n 2 l n 3 . . . 1 ] D = [ d 1 d 2 . . . d n ] \mathbf{A={LD}{L}^T}\\ \mathbf{{L}}=\begin{bmatrix}1&&&&\\{l}_{21}&1&&&\\{l}_{31}&{l}_{32}&1\\...&...&...&...&0\\{l}_{n1}&{l}_{n2}&{l}_{n3}&...&1\end{bmatrix}\\ \mathbf{D}=\begin{bmatrix}d_1\\&d_2\\&&...\\&&&&d_n\end{bmatrix} A=LDLTL=1l21l31...ln11l32...ln21...ln3......01D=d1d2...dn

3.7 三对角方程组追赶法

Crout分解。

四.矩阵的条件数及误差分析

4.1 条件数

C o n d ( A ) = ∥ A ∥ ∥ A − 1 ∥ ≥ 1 Cond(\mathbf{A})=\mathbf{\Vert A\Vert\Vert A^{-1}\Vert}\ge1 Cond(A)=AA11
特别的,由矩阵二范数定义的条件数为矩阵的谱条件数
C o n d 2 ( A ) = ∥ A ∥ 2 ∥ A − 1 ∥ 2 Cond_2(\mathbf{A})=\mathbf{\Vert A\Vert_2\Vert A^{-1}\Vert_2} Cond2(A)=A2A12

五.线性方程组的迭代解法

六.梯度法

你可能感兴趣的:(#,计算方法/数值分析,线性代数,矩阵,算法)