第五章 线性方程组的直接解法

5.1 预备知识

5.1.1 特征值与特征向量

 

5.1.2 常见的特殊矩阵

 

5.1.3 矩阵的常用定理

 

5.2 高斯消去法

5.2.1 高斯消去法

定理 5 Ax=b,其中 ARn×n

  1. k:akk(k)0,则可如下计算:

    1. 消元计算:Ax=b 化为 L1AxUx=L1b.

      {mik=aik(k)/akk(k),i=k+1,,n,aij(k+1)=aij(k)mikakj(k),i,j=k+1,,n,bi(k+1)=bi(k)mikbk(k),i=k+1,,n.
    2. 回代计算:求解 Ux=L1b.

      {xn=b(n)/ann(n),xk=(bk(k)j=k+1nakj(k)xj)/akk(k),k=n1,n2,,1.
  2. A 为非奇异矩阵,则可通过高斯消去法和行交换将方程组约化为 Ux=L1b.

备注 加减和乘除的次数均为 O(n3).


定理 6 约化的主元素非零的充要条件是 A 的顺序主子式 k:Dk0,即

i:Di=|a11a1iai1aii|0.

推论 A 的顺序主子式 k:Dk0,则

{a11(1)=D1,akk(k)=Dk/Dk1,k=2,3,,n.

 

5.2.2 矩阵的三角分解

定理 7(LU 分解) ARn×ni:Di0,则可唯一分解为单位下三角矩阵和上三角矩阵的乘积,即 A=LU.

备注 有三种分解方式:

  1. Doolittle 分解

    A=LU=[1l211ln1ln21][u11u12u1nu22u2nunn].
  2. Crout 分解

    A=LU=[l11l21l22ln1ln2lnn][1u12u1n1u2n1].
  3. LDU 分解

    A=LDU=[1l211ln1ln21][d1d2dn][1u12u1n1u2n1].

算法 1(列主元消去法)

定理 8(列主元的 LU 分解) A 非奇异,则存在排列矩阵 P 使得 PA=LU.

 

5.2.3 三角矩阵的求解

  1. Ux=dLx=d.

    1. 上三角矩阵:依次计算 i=n,n1,,1.

      xi=(dij=i+1nuijxj)/uii.
    2. 下三角矩阵:依次计算 i=1,2,,n.

      xi=(dij=1i1uijxj)/uii.
  2. 乘除法次数

    1. 乘法次数:0+1+2++(n1)=n(n1)2O(n2).

    2. 除法次数:n.

    3. 加减次数:n(n+1)2O(n2).

  3. 逆矩阵求解公式:设 A=U1,则 A 亦为上三角矩阵.

    {aii=1uii,i=1,2,,n,aij=k=i+1juikskjuii,j=i+1,i+2,,n,i=n1,n2,,1.

 

5.3 矩阵三角分解法

5.3.1 直接三角分解

 

5.3.2 平方根法

定理 9 n对称矩阵 A 所有顺序主子式非零,则可唯一分解为 A=LDLT.

定理 10 n对称正定矩阵 A 可唯一分解为 A=LLT(限定 L 对角元素为正),称为楚列斯基(Cholesky)分解.

平方根法 利用楚列斯基分解求解对称正定方程组 Ax=b.

  1. 求解 A=LLT.

    {lii=aiik=1j1lik2,i=1,2,,n,lij=(aijk=1j1liklkj)/ljj,i>j.
  2. 求解 Ly=b.

  3. 求解 LTx=y.

改进的平方根法 为避免开方,分解为 A=LDLT.

 

5.3.3 追赶法

问题 Ax=f,其中

A=(b1c1a2b2c2an1bn1cn1anbn),

并且

  1. |b1|>|c1|>0.

  2. |bi||ai|+|ci|,ai,ci0,i=2,3,,n1.

  3. |bn|>|an|>0.

分析 如下分解

A=LU=(α1γ2α2γnαn)(1β11βn11),

于是

{b1=α1,c1=α1β1,ai=γi,bi=γiβi1+αi,i=2,3,,n,ci=αiβi,i=2,3,,n1.

归纳可证,对于 i,有 |αi|>|ci|>00<|βi|<1,于是

{γi=ai,αi=biaiβi1,i=2,3,,nβi=ci/(biaiβi1),i=2,3,,n.

算法

  1. 求解 βi.

    {β1=c1b1,βi=cibiaiβi1,i=2,3,,n1.
  2. 求解 Ly=f.

    {y1=f1b1,yi=fiaiyi1biaiβi1,i=2,3,,n.
  3. 求解 Ux=y.

    {xn=yn,xi=yiβixi+1,i=n1,n2,,1.

 

5.4 向量和矩阵的范数

5.4.1 向量范数

 

5.4.2 矩阵范数

 

5.4.3 范数杂项

不那么重要(但同样有趣)的例子与性质.

 

5.5 误差分析

5.5.1 矩阵的性态

 

5.5.2 矩阵条件数

 

5.5.3 迭代改善法

  1. 求近似解

    1. 选主元三角分解:PA=LU.

    2. 求解 Ax1=b,即 {Ly=Pb,Ux1=y.

  2. 迭代:k=1,2,,N0

    1. rk=bAxk.

    2. 求解 Adk=rk,即 LUdk=Prk.

    3. 如果 dk/xkε,则停止计算.

    4. xk+1=xk+dk.

如果矩阵非常病态,则上述算法仍可能不收敛.