注:上角标用来标记变换次数,(1)表示没有发生变化。
若有A=⎣⎢⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2……⋱…a1na2n⋮ann⎦⎥⎥⎥⎥⎤n×n,则第一步高斯消去的过程就是对矩阵A做了(n−1)次初等行变换,其效果就相当于左乘(n−1)个初等矩阵,将这(n−1)个初等矩阵相乘即得单位下三角矩阵L1。
L1=⎣⎢⎢⎢⎢⎢⎢⎡1−l21−l31⋮−ln111⋱1⎦⎥⎥⎥⎥⎥⎥⎤n×n,A(2)=L1A=⎣⎢⎢⎢⎢⎢⎡a11(1)0⋮0a12(1)a22(2)⋮an2(2)⋯⋯⋱⋯a1n(1)a2n(2)⋮ann(2)⎦⎥⎥⎥⎥⎥⎤
继续对矩阵A(2)做初等行变换以得到A(3)。
L2=⎣⎢⎢⎢⎢⎢⎢⎡11−l32⋮−ln21⋱1⎦⎥⎥⎥⎥⎥⎥⎤n×n,A(3)=L2A(2)⎣⎢⎢⎢⎢⎢⎢⎢⎡a11(1)00⋮0a12(1)a22(2)0⋮0a13(1)a23(2)a33(3)⋮an3(3)⋯⋯⋯⋱⋯a1n(1)a2n(2)a3n(3)⋮ann(3)⎦⎥⎥⎥⎥⎥⎥⎥⎤
综上
A(n)=Ln−1Ln−2⋯L2L1A
A=L1−1L2−1⋯Ln−2−1Ln−1−1A(n)
记{L=L1−1L2−1⋯Ln−2−1Ln−1−1U=A(n),则A=LU,称为方阵A的LU三角分解。
性质
- A可进行LU分解的充分条件是A的前n−1阶顺序主子式不为零
- L是一个单位下三角矩阵
- U是一个上三角矩阵
求解
已知Ax=b,则LUx=b,将线性方程组的求解转换为
{Ux=yLy=b
即两个三角方程组的求解。
如果A能分解为LDU,则A=LDU,称为方阵A的LDU三角分解。
性质
- L是一个单位下三角矩阵
- D是一个对角矩阵
- U是一个单位上三角矩阵
对于LU分解,如果L是一个单位下三角矩阵,则称它为Doolittle分解。
⎣⎢⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2……⋱…a1na2n⋮ann⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡1l21⋮ln11⋮ln2⋱…1⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎡u11u12u22……⋱u1nu2n⋮unn⎦⎥⎥⎥⎥⎤
性质
- L的主对角线上元素全为1。
- A和U第一行元素相同:u1j=a1j,j=1,2,…,n
- L的第一列元素等于A的第一列元素除以u11,li1=u11ai1,i=2,3,…,n
变换法
- 从左上角取最外圈一行一列(不包含交叉点)拷贝
- 以被取行将原矩阵被取列高斯消去为0
- 除去被拷贝的行列,对子式重复上述操作,直至剩最后一个元素
- 被拷贝部分右上角即为U
- 被拷贝部分左下角,对角线替换为1后即为L
直接分解法
- 先求U的第1行,L的第1列:套用性质
- 再求U的第2行,L的第2列:计算a2j,j=2,…,n;ai2,j=3,…,n。
- 然后U的第3行,L的第3列:⋯
- ⋯
对于LU分解,如果U是一个单位上三角矩阵,则称它为Crout分解。
⎣⎢⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2……⋱…a1na2n⋮ann⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡l11l21⋮ln1l22⋮ln2⋱…lnn⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎡1u121……⋱u1nu2n⋮1⎦⎥⎥⎥⎥⎤
对于LDU分解、Doolittle分解、Crout分解
- 三者可以相互转换
- 三个分解结果都唯一,且唯一的充要条件为A的前n−1阶顺序主子式不为零
已知⎩⎪⎪⎨⎪⎪⎧x1+2x2−3x3=12x1−x2+3x3=53x1−2x2+2x3=1
解
则A=⎣⎢⎡1232−1−2−332⎦⎥⎤
使用Doolittle分解法,直接分解该矩阵。
L\U=⎣⎢⎡12−3⎦⎥⎤
- L的第一列元素等于A的第一列元素除以u11
L\U=⎣⎢⎡1232−3⎦⎥⎤
- a22=l21u12+u22
- a23=l21u31+u32
L\U=⎣⎢⎡1232−5−39⎦⎥⎤
- a32=l31u12+l32u22
L\U=⎣⎢⎡1232−558−39⎦⎥⎤
- a33=l31u13+l32u23+u33
L\U=⎣⎢⎡1232−558−39−517⎦⎥⎤
故A=⎣⎢⎡1231581⎦⎥⎤⎣⎢⎡12−5−39−517⎦⎥⎤
当矩阵A实对称(AT=A)且正定(xTAx>0)时,LU分解的U可以进一步分解为DM
⎣⎢⎢⎢⎢⎡u11u12u22……⋱u1nu2n⋮unn⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎡u11u22⋱unn⎦⎥⎥⎥⎤⎣⎢⎢⎢⎢⎡1u11u121……⋱u11u1nu22u2n⋮1⎦⎥⎥⎥⎥⎤
A=LDM,AT=A
⇒AT=(LDM)T=MTDLT=A=LDM⇒MTDLT=LDM⇒M=LT⇒A=LDLT
令D=D21⋅D21=⎣⎢⎢⎢⎡u11u22⋱unn⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡u11u22⋱unn⎦⎥⎥⎥⎤
则A=LD21D21LT=(LD21)(LD21)T
令G=LD21=⎣⎢⎢⎢⎢⎢⎢⎡g11g21g31⋮gn1g22g32⋮gn2g33⋮gn3⋱⋯gnn⎦⎥⎥⎥⎥⎥⎥⎤,GT=⎣⎢⎢⎢⎢⎢⎡g11g21g22g31g32g33⋯⋯⋯⋱gn1gn1gn3gnn⎦⎥⎥⎥⎥⎥⎤
综上
A=GGT
称为对称正定矩阵的Cholesky分解或平方根分解。
将矩阵Am×n化为行最简H有
Am×n=P−1m×mHm×n=[Bm×rSm×(m−r)][Cr×n0(m−r)×n]=BC
⎣⎢⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎥⎤m×n=⎣⎢⎢⎢⎢⎡b11b21⋮bm1b12b22⋮bm2⋯⋯⋱⋯b1rb2r⋮bmr⎦⎥⎥⎥⎥⎤m×r⎣⎢⎢⎢⎢⎡c11c21⋮cr1c12c22⋮cr2⋯⋯⋱⋯c1nc2n⋮crn⎦⎥⎥⎥⎥⎤r×n
对H施列变换,使得HQ=[Er0∗0]m×n
AQ=P−1HQ=[BS]HQ=[BS][Er0∗0]=[BB∗]
性质
- 满秩分解不唯一
- 若B,C、B1,C1分别为满秩分解,则存在r阶可逆阵P,使B=B1P,C=P−1C1
求解思路
- Step1: 将A化为行最简H,并求出H的秩r
- Step2: 换列H使其左上角成Er×r,并将同样操作应用于A得A′
- Step3: 综上即可得A=B×C
求矩阵A=⎣⎢⎢⎢⎡21120−211441330122301⎦⎥⎥⎥⎤的满秩分解。
解
A=⎣⎢⎢⎢⎡21120−211441330122301⎦⎥⎥⎥⎤初等行变换⎣⎢⎢⎢⎡100011001−10010100100⎦⎥⎥⎥⎤初等行变换⎣⎢⎢⎢⎡100001002−10000101−100⎦⎥⎥⎥⎤
明显r=3(前3行不为0)
C=⎣⎢⎡1000102−100011−10⎦⎥⎤
由AQ=[BB∗](即3、4列互换)
B=⎣⎢⎢⎢⎡21120−2113012⎦⎥⎥⎥⎤
综上
A=⎣⎢⎢⎢⎡21120−2113012⎦⎥⎥⎥⎤⎣⎢⎡1000102−100011−10⎦⎥⎤
Am×n=Qm×rRr×n
其中Q满足QTQ=Er,可对满秩分解的B矩阵做Schmidt正交化得到Q矩阵。
性质
略