第四章 线性方程组的直接法

4.2 LU分解

4.2.1 高斯消去法

例1. 用高斯消去法求解:[246492113][x1x2x3]=[354]

首先写出增广矩阵 [246349251134]

然后对第二行第三行首元进行处理 [24630110101052]

再处理得到上三角 [246301101001032]

最终解出x3,x2,x1

4.2.2 基本消去矩阵

定义:设有一n维列向量(a1,,ak,ak+1,,an)T,其中ak0,把它作为主元,令mi=aiak称他们为消去因子,矩阵

Mk=[100001000mk+1100mn01]

称为基本消去矩阵,满足

[100001000mk+1100mn01][a1akak+1an]=[a1ak00]

小指标在前,大指标在后,可以并起来,如

M1=[100210101] M2=[1000100121]

M1M2=[1002101121]

4.2.3 LU分解

借助基本消去矩阵,高斯消去法可以按照如下方式描述:

Mn1M2M1Ax=Ux=Mn1M2M1b,其中U是一个上三角矩阵。

由于大指标在前,Mn1M2M1无法直接计算,因此令M=Mn1M2M1

MA=U,A=M1U=M11M21Mn11U=L1L2Ln1U=LU

U=Mn1M2M1A L=L1L2Ln1

例3. 写出矩阵A=[1321247448319964]LU分解。

M1=[1000210040109001],M1A=[132102320453018125]

M2=[1000010002100901],M2M1A=[1321023200117003923]

M3=[1000010000100039111],M3M2M1A=[13210232001170002011]

L=[1000210042109939111],U=[13210232001170002011]

4.3 列主元高斯消去法

考察第1列,将绝对值最大的元素换到a11的位置,

考察第2列,将绝对值最大的元素换到a22的位置,

最后得到Mn1Pn1M1P1Ax=Ux=Mn1Pn1M1P1b

M=Mn1Pn1M1P1,则MA=UA=L~U,L~=M1

其中L~不一定是下三角矩阵

若令P=Pn1P1,则PA=PM1U=LU

L=PM1,此时L是一个下三角矩阵。

这种分解称为PLU分解。

例5. 写出求解[246492113][x1x2x3]=[354]时的P,L,U

P1=[010100001]

P1Ax=[492246113][x1x2x3]=[534]=P1b

M1=[10012101401]

M1P1Ax=[492012505452][x1x2x3]=[512114]

P2=[100001010]

P2M1P1Ax=[492054520125][x1x2x3]=[511412]

M2=[1000100251]

M2P2M1P1Ax=[49205452004][x1x2x3]=[511435]

M=M2P2M1P1=[010014112525] M1=[122511001410]

P=P2P1=[100001010][010100001]=[010001100]

L=PM1=[100141012251] U=[49205452004]

4.3.7 无需选主元的系统

1)对角占优矩阵

如果矩阵A的元素满足i=1,ijn|aij|<|ajj|,j=1,2,,n称矩阵A是严格对角占优。

严格对角占优矩阵一定是非奇异的。

2)对称正定矩阵

满足下列条件的矩阵是对称正定矩阵(SPD):A=AT,xTAx>0,x

一个矩阵是正定的,当且仅当它的顺序主子式都大于0。

如果矩阵A是严格对角占优或者对称正定矩阵,则对Ax=b使用高斯消去法使无需选主元,算法本身就是数值稳定的。

4.4.2 三对角矩阵与追赶法

假设三对角系统为

[b1c1a2b2c2a3b3c3an1bn1cn1anbn]

若不需要选主元来保证数值稳定性,此时的高斯消去法非常简单。

A的LU分解为

L=[100m210mn11000mn1] U=[d1c100d2c20dn1cn1000dn]

Ly=b,Ux=y,消去时下标从小到大,回代求解时下标从大到小,因此形象地称此时的高斯消去法为追赶法。

4.5 逆矩阵相关

4.5.1

一般情况下,不推荐直接使用A1进行计算。

几乎所有需要A1的运算都可以通过间接法来实现,比如:

A1bx=A1b,Ax=b

1)三角阵的逆矩阵

2)利用LU分解求一般矩阵的逆

方法一、 通过解线性方程组实现,计算流程如下

  • A=LU
  • LUX=In,LUxj=ej,j=1:n
  • Lyj=ej,j=1:n
  • Uxj=yj

方法二、通过逆矩阵的乘积实现,计算流程如下

  • A=LU
  • L1
  • U1
  • A1=(LU)1=U1L1

4.6 误差分析

4.6.2 向量范数

现代数学中最重要的概念非极限莫属,而极限描述的关键则是距离

所谓的向量范数,就是为了把三维空间中距离的概念推广到n维空间。

在向量空间Rn中,定义映射

f=||||:RnR

如果该映射满足:

  • ||x||0,||x||=0x=0
  • ||αx||=|α|||x||,αR
  • ||x+y||||x||+||y||

这个映射就称为Rn 空间的向量范数。

1)常用范数

  • 1-范数:||x||1=i=1n|xi|
  • 2-范数:||x||2=(i=1n|xi|2)12
  • -范数:||x||=maxi|xi|

2)常用范数间的大小关系

简单的不等关系,如||x||1>||x||2>||x||

几个反向的不等关系:

  • ||x||1n||x||2
  • ||x||2n||x||
  • ||x||1n||x||

给定线性空间X上的范数||||p,||||q,他们等价当且仅当c1,c2>0,使得c1||x||q||x||pc2||x||q成立。

4.6.3 矩阵范数

1)矩阵的诱导范数

矩阵A的诱导范数||A||定义为

||A||=maxx0||Ax||||x||=max||x||=1||Ax||

矩阵范数度量的是矩阵对向量的最大拉伸。

  • ||Ax||||A||||x||
  • ||AB||||A||||B||

2)矩阵的常见诱导范数及其计算

(1) 1-范数的计算公式

||A||1=maxji=1n|aij| 它是一个列范数。

(2) -范数的计算公式

||A||=maxji=1n|aij| 它是一个行范数。

(3) 2-范数的计算公式

||A||2=maxx0||Ax||2||x||2=ρ(ATA)

ρ(A)是矩阵A的谱半径,其定义为ρ(A)=maxλσ(A)|λ|,其中σ(A)表示A的特征值全体。由于特征值可能是复数,因此||指的是模。

4.6.5 条件数

cond(A)=||A||||A1||为矩阵A的条件数,若A是奇异矩阵,则令cond(A)=

条件数刻画了矩阵的奇异程度。

  • 对恒等矩阵,cond(In)=1
  • 对任意矩阵A,cond(A)1
  • 对任意常数γ0cond(γA)=cond(A)
  • 对对角阵D=diag(d1,d2,,dn),条件数计算公式为cond(D)=max1in|di|min1in|di|
  • 2-范数条件数计算公式为cond(A)2=λmax(ATA)λmin(ATA)
  • 如果A是对称矩阵,则2-范数条件数计算公式为cond(A)2=λmaxλmin

如果条件数太大,就称矩阵是病态矩阵,病态矩阵对应的线性系统在求解时会放大这些误差。

希尔伯特矩阵是著名的病态矩阵,其条件数大概是e3.5n

[1121n12131n+11n1n+112n1]

方程组近似解可靠性的判例

方程组近似解的相对误差估计式的实用方法是将方程组Ax=b的一个近似解x~回代到原方程组去求余量r

r=bAx

定理:||xx~||||x||cond(A)||r||||b||

由定理可知,使用余量r的大小来检验近似解的准确程度的办法仅对良态方程组适用。

几个常见的迭代格式

(1) Jacobi迭代格式

将线性方程组Ax=b写成分量的形式

{a11x1+a12x2++a1nxn=b1,a21x1+a22x2++a2nxn=b2,an1x1+an2x2++annxn=bn,

{x1=(b1a12x2a13x3a1nxn)/a11,x2=(b2a21x1a23x3a2nxn)/a22,xn=(bnan1x1an2x2an,n1xn1)/ann

建立相应迭代格式

{x1(k+1)=(b1a12x2(k)a13x3(k)a1nxn(k))/a11x2(k+1)=(b2a21x1(k)a23x3(k)a2nxn(k))/a22xn(k+1)=(bnan1x1(k)an2x2(k)ann1xn1(k))/ann

L=[0a210a31a32an1an2an,n10]

D=[a11a22a33ann]

U=[0a12a13a1n0a23a2n0an1,n0]

A=L+D+U,(L+U+D)x=b

Dx=b(L+U)x

x=D1[b(L+U)x]

x(k+1)=D1[b(L+U)x(k)]

J=D1(L+U),称J为Jacobi迭代矩阵。
|λD+L+U|=0,求解λ,后计算ρ(J)
Jacobi迭代格式收敛的充要条件是ρ(J)<1

严格对角占优矩阵Jacobi迭代格式收敛。

(2) Gauss-Seidel迭代格式

{x1(k+1)=(b1a12x2(k)a13x3(k)a1nxn(k))/a11x2(k+1)=(b2a21x1(k+1)a23x3(k)a2nxn(k))/a22xn(k+1)=(bnan1x1(k+1)an2x2(k+1)ann1xn1(k+1))/ann

x(k+1)=D1(bLx(k+1)Ux(k))

G=(D+L)1U,称G为Gauss-Seidel迭代矩阵。
|λ(D+L)+U|=0,求解λ,后求解ρ(G)
Gauss-Seidel迭代格式收敛的充要条件是ρ(G)<1

严格对角占优矩阵Gauss-Seidel迭代格式收敛。

(3) 逐次超松弛法(SOR方法)

{x1(k+1)=(1ω)x1(k)+ω(b1a12x2(k)a13x3(k)a1nxn(k))/a11x2(k+1)=(1ω)x2(k)+ω(b2a21x1(k+1)a23x3(k)a2nxn(k))/a22xn(k+1)=(1ω)xnk+ω(bnan1x1(k+1)an2x2(k+1)ann1xn1(k+1))/ann

x(k+1)=(1ω)x(k)+ω(bLx(k+1)Ux(k))D1

Sω=(D+ωL)1[(1ω)DωU]

Gauss-Seidel迭代格式收敛的充要条件是ρ(Sω)<1

若A是对称正定矩阵,且ω(0,2),则SOR方法收敛。

posted @   uyest  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示