矩阵分解

三角分解

:上角标用来标记变换次数,(1)^{(1)}表示没有发生变化。

若有A=[a11a12a1na21a22a2nan1an2ann]n×nA = \left[\begin{array}{c} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \dots & a_{nn} \end{array}\right]_{n×n},则第一步高斯消去的过程就是对矩阵AA做了(n1)(n-1)次初等行变换,其效果就相当于左乘(n1)(n-1)个初等矩阵,将这(n1)(n-1)个初等矩阵相乘即得单位下三角矩阵L1L_1
 

L1=[1l211l311ln11]n×nL_1 = \left[\begin{array}{c} 1 & \\ -l_{21} & 1 & \\ -l_{31} & & 1 & \\ \vdots & & & \ddots & \\ -l_{n1} & & & & 1 \end{array}\right]_{n×n}A(2)=L1A=[a11(1)a12(1)a1n(1)0a22(2)a2n(2)0an2(2)ann(2)]A^{(2)} = L_1A = \left[\begin{array}{c} a_{11}^{(1)} & a_{12}^{(1)} & \cdots & a_{1n}^{(1)} \\ 0 & a_{22}^{(2)} & \cdots & a_{2n}^{(2)} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & a_{n2}^{(2)} & \cdots & a_{nn}^{(2)} \end{array}\right]
 

继续对矩阵A(2)A^{(2)}做初等行变换以得到A(3)A^{(3)}

L2=[11l321ln21]n×nL_2 = \left[\begin{array}{c} 1 & \\ & 1 & \\ & -l_{32} & 1 & \\ & \vdots & & \ddots & \\ & -l_{n2} & & & 1 \end{array}\right]_{n×n}A(3)=L2A(2)[a11(1)a12(1)a13(1)a1n(1)0a22(2)a23(2)a2n(2)00a33(3)a3n(3)00an3(3)ann(3)]A^{(3)} = L_2A^{(2)} \left[\begin{array}{c} a_{11}^{(1)} & a_{12}^{(1)} & a_{13}^{(1)} & \cdots & a_{1n}^{(1)} \\ 0 & a_{22}^{(2)} & a_{23}^{(2)} & \cdots & a_{2n}^{(2)} \\ 0 & 0 & a_{33}^{(3)} & \cdots & a_{3n}^{(3)} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & a_{n3}^{(3)} & \cdots & a_{nn}^{(3)} \end{array}\right]
 

综上

A(n)=Ln1Ln2L2L1AA^{(n)} = L_{n-1} L_{n-2} \cdots L_2 L_1 A

A=L11L21Ln21Ln11A(n)A = L_1^{-1} L_2^{-1} \cdots L_{n-2}^{-1} L_{n-1}^{-1} A^{(n)}

LU分解

{L=L11L21Ln21Ln11U=A(n)\begin{cases} L = L_1^{-1}L_2^{-1} \cdots L_{n-2}^{-1} L_{n-1}^{-1} \\ U=A^{(n)} \end{cases},则A=LUA=LU,称为方阵AALULU三角分解

性质

求解

已知Ax=bAx=b,则LUx=bLUx=b,将线性方程组的求解转换为

{Ux=yLy=b\begin{cases} Ux=y \\ Ly=b \end{cases}

即两个三角方程组的求解。

LDU分解

如果AA能分解为LDULDU,则A=LDUA=LDU,称为方阵AALDULDU三角分解

性质

Doolittle分解

对于LU分解,如果LL是一个单位下三角矩阵,则称它为Doolittle分解

[a11a12a1na21a22a2nan1an2ann]=[1l211ln1ln21][u11u12u1nu22u2nunn]\left[\begin{array}{c} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \dots & a_{nn} \end{array}\right] = \left[\begin{array}{c} 1 & \\ l_{21} & 1 & \\ \vdots & \vdots & \ddots & \\ l_{n1} & l_{n2} & \dots & 1 \end{array}\right] \left[\begin{array}{c} u_{11} & u_{12} & \dots & u_{1n} \\ & u_{22} & \dots & u_{2n} \\ & & \ddots & \vdots \\ & & & u_{nn} \end{array}\right]

性质

分解法

变换法

直接分解法

Crout分解

对于LU分解,如果UU是一个单位上三角矩阵,则称它为Crout分解

[a11a12a1na21a22a2nan1an2ann]=[l11l21l22ln1ln2lnn][1u12u1n1u2n1]\left[\begin{array}{c} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \dots & a_{nn} \end{array}\right] = \left[\begin{array}{c} l_{11} & \\ l_{21} & l_{22} & \\ \vdots & \vdots & \ddots & \\ l_{n1} & l_{n2} & \dots & l_{nn} \end{array}\right] \left[\begin{array}{c} 1 & u_{12} & \dots & u_{1n} \\ & 1 & \dots & u_{2n} \\ & & \ddots & \vdots \\ & & & 1 \end{array}\right]

小结

对于LDU分解、Doolittle分解、Crout分解

已知{x1+2x23x3=12x1x2+3x3=53x12x2+2x3=1\begin{cases} x_1 + 2x_2 - 3x_3 = 1 \\ 2x_1 - x_2 + 3x_3 = 5 \\ 3x_1 - 2x_2 + 2x_3 = 1 \end{cases}

A=[123213322]A= \left[\begin{array}{c} 1 & 2 & -3 \\ 2 & -1 & 3 \\ 3 & -2 & 2 \end{array}\right]

使用Doolittle分解法,直接分解该矩阵。

L\U=[123]L{\backslash}U= \left[\begin{array}{c} 1 & 2 & -3 \\ \, \\ \, \end{array}\right]

L\U=[12323]L{\backslash}U= \left[\begin{array}{c} 1 & 2 & -3 \\ 2 & \\ 3 & \end{array}\right]

L\U=[1232593]L{\backslash}U= \left[\begin{array}{c} 1 & 2 & -3 \\ 2 & -5 & 9 \\ 3 & \end{array}\right]

L\U=[123259385]L{\backslash}U= \left[\begin{array}{c} 1 & 2 & -3 \\ 2 & -5 & 9 \\ 3 & \frac{8}{5} & \end{array}\right]

L\U=[123259385175]L{\backslash}U= \left[\begin{array}{c} 1 & 2 & -3 \\ 2 & -5 & 9 \\ 3 & \frac{8}{5} & -\frac{17}{5} \end{array}\right]

A=[1213851][12359175]A= \left[\begin{array}{c} 1 & \\ 2 & 1 & \\ 3 & \frac{8}{5} & 1 \end{array}\right] \left[\begin{array}{c} 1 & 2 & -3 \\ & -5 & 9 \\ & & -\frac{17}{5} \end{array}\right]

Cholesky分解

当矩阵AA对称AT=AA^T=A)且正定xTAx>0x^TAx>0)时,LULU分解的UU可以进一步分解为DMDM

[u11u12u1nu22u2nunn]=[u11u22unn][1u12u11u1nu111u2nu221]\left[\begin{array}{c} u_{11} & u_{12} & \dots & u_{1n} \\ & u_{22} & \dots & u_{2n} \\ & & \ddots & \vdots \\ & & & u_{nn} \end{array}\right] = \left[\begin{array}{c} u_{11} & \\ & u_{22} & \\ & & \ddots & \\ & & & u_{nn} \end{array}\right] \left[\begin{array}{c} 1 & \frac{u_{12}}{u_{11}} & \dots & \frac{u_{1n}}{u_{11}} \\ & 1 & \dots & \frac{u_{2n}}{u_{22}} \\ & & \ddots & \vdots \\ & & & 1 \end{array}\right]

A=LDMA=LDMAT=AA^T=A

AT=(LDM)T=MTDLT=A=LDMMTDLT=LDMM=LTA=LDLT\begin{array}{l} ⇒ A^T = (LDM)^T = M^TDL^T = A = LDM \\ ⇒ M^TDL^T = LDM \\ ⇒ M = L^T \\ ⇒ A = LDL^T \end{array}

D=D12D12=[u11u22unn][u11u22unn]D = D^{\frac{1}{2}} ⋅ D^{\frac{1}{2}} = \left[\begin{array}{c} \sqrt{u_{11}} & \\ & \sqrt{u_{22}} & \\ & & \ddots & \\ & & & \sqrt{u_{nn}} \end{array}\right] \left[\begin{array}{c} \sqrt{u_{11}} & \\ & \sqrt{u_{22}} & \\ & & \ddots & \\ & & & \sqrt{u_{nn}} \end{array}\right]

A=LD12D12LT=(LD12)(LD12)TA = L D^{\frac{1}{2}} D^{\frac{1}{2}} L^T = (LD^{\frac{1}{2}}) (LD^{\frac{1}{2}})^T

G=LD12=[g11g21g22g31g32g33gn1gn2gn3gnn]G = L D^{\frac{1}{2}} = \left[\begin{array}{c} g_{11} & \\ g_{21} & g_{22} & \\ g_{31} & g_{32} & g_{33} & \\ \vdots & \vdots & \vdots & \ddots & \\ g_{n1} & g_{n2} & g_{n3} & \cdots & g_{nn} \end{array}\right]GT=[g11g21g31gn1g22g32gn1g33gn3gnn]G^T = \left[\begin{array}{c} g_{11} & g_{21} & g_{31} & \cdots & g_{n1} \\ & g_{22} & g_{32} & \cdots & g_{n1} \\ & & g_{33} & \cdots & g_{n3} \\ & & & \ddots & \\ & & & & g_{nn} \end{array}\right]

综上

A=GGTA = GG^T

称为对称正定矩阵的Cholesky分解平方根分解

满秩分解

将矩阵Am×nA_{m×n}化为行最简HH

Am×n=P1m×mHm×n=[Bm×rSm×(mr)][Cr×n0(mr)×n]=BCA_{m×n} = {P^{-1}}_{m×m} H_{m×n} = \left[\begin{array}{c} B_{m×r} & S_{m×(m-r)} \end{array}\right] \left[\begin{array}{c} C_{r×n} \\ 0_{(m-r)×n} \end{array}\right] = BC

[a11a12a1na21a22a2nam1am2amn]m×n=[b11b12b1rb21b22b2rbm1bm2bmr]m×r[c11c12c1nc21c22c2ncr1cr2crn]r×n\left[\begin{array}{c} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{array}\right]_{m×n} = \left[\begin{array}{c} b_{11} & b_{12} & \cdots & b_{1r} \\ b_{21} & b_{22} & \cdots & b_{2r} \\ \vdots & \vdots & \ddots & \vdots \\ b_{m1} & b_{m2} & \cdots & b_{mr} \end{array}\right]_{m×r} \left[\begin{array}{c} c_{11} & c_{12} & \cdots & c_{1n} \\ c_{21} & c_{22} & \cdots & c_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ c_{r1} & c_{r2} & \cdots & c_{rn} \end{array}\right]_{r×n}

HH施列变换,使得HQ=[Er00]m×nHQ = \left[\begin{array}{c} E_r & * \\ 0 & 0 \end{array}\right]_{m×n}

AQ=P1HQ=[BS]HQ=[BS][Er00]=[BB]AQ = P^{-1}HQ = \left[\begin{array}{c} B & S \end{array}\right] HQ =\left[\begin{array}{c} B & S \end{array}\right] \left[\begin{array}{c} E_r & * \\ 0 & 0 \end{array}\right] = \left[\begin{array}{c} B & B^* \end{array}\right]

性质

求解思路

求矩阵A=[20432124031111021321]A = \left[\begin{array}{c} 2 & 0 & 4 & 3 & 2 \\ 1 & −2 & 4 & 0 & 3 \\ 1 & 1 & 1 & 1 & 0 \\ 2 & 1 & 3 & 2 & 1 \end{array}\right]的满秩分解。

A=[20432124031111021321]初等行变换[11110011010001000000]初等行变换[10201011010001000000]A = \left[\begin{array}{c} 2 & 0 & 4 & 3 & 2 \\ 1 & −2 & 4 & 0 & 3 \\ 1 & 1 & 1 & 1 & 0 \\ 2 & 1 & 3 & 2 & 1 \end{array}\right] \xrightarrow[]{初等行变换} \left[\begin{array}{c} 1 & 1 & 1 & 1 & 0 \\ 0 & 1 & −1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right] \xrightarrow[]{初等行变换} \left[\begin{array}{c} 1 & 0 & 2 & 0 & 1 \\ 0 & 1 & −1 & 0 & −1 \\ 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right]

明显r=3r=3(前3行不为0)

C=[102010110100010]C = \left[\begin{array}{c} 1 & 0 & 2 & 0 & 1 \\ 0 & 1 & −1 & 0 & −1 \\ 0 & 0 & 0 & 1 & 0 \end{array}\right]

AQ=[BB]AQ = \left[\begin{array}{c} B & B^* \end{array}\right](即3、4列互换)

B=[203120111212]B = \left[\begin{array}{c} 2 & 0 & 3 \\ 1 & −2 & 0 \\ 1 & 1 & 1 \\ 2 & 1 & 2 \end{array}\right]

综上

A=[203120111212][102010110100010]A = \left[\begin{array}{c} 2 & 0 & 3 \\ 1 & −2 & 0 \\ 1 & 1 & 1 \\ 2 & 1 & 2 \end{array}\right] \left[\begin{array}{c} 1 & 0 & 2 & 0 & 1 \\ 0 & 1 & −1 & 0 & −1 \\ 0 & 0 & 0 & 1 & 0 \end{array}\right]

QR分解

Am×n=Qm×rRr×nA_{m×n} = Q_{m×r} R_{r×n}

其中QQ满足QTQ=ErQ^TQ=E_r,可对满秩分解的BB矩阵做Schmidt正交化得到QQ矩阵。

性质

奇异值分解