线性代数 Cheat Sheet 2-5:矩阵因式分解
矩阵 A 的因式分解是把 A 表示为两个或更多个矩阵的乘积。矩阵乘法是数据的综合,矩阵因式分解是数据的分解,分解后的结构可能更有用,或更便于计算。
Contents [show]
1. LU 分解
设 A 是 m×n 矩阵,它可以行化简为阶梯形而不必进行行对换,则 A 可写成形式 A=LU,L 是 m×m 下三角矩阵,主对角线元素全是 1,U 是 A 的一个 m×n 阶梯形矩阵。
A=LU=[1000∗100∗∗10∗∗∗1][∗∗∗∗0
∗∗∗000
∗00000]
其中矩阵 L 是可逆的,称为单位下三角矩阵。
当 A=LU 时,方程 Ax=b 可以写成 L(Ux)=b,把 Ux 写成 y,则可以由解下面一对方程来求解 x:
Ly=bUx=y
首先解 Ly=b 求得 y,然后解 Ux=y 求得 x。由于 L 和 U 都是三角矩阵,这两个方程都比较容易解。
2. LU 分解算法
设 A 可以化为阶梯形 U,化简过程中仅使用行倍加变换,此时存在单位下三角矩阵 E1,⋯,Ep,使
Ep⋯E1A=U
于是
A=(Ep⋯E1)−1U=LU
其中
L=(Ep⋯E1)−1
可以证明,单位下三角矩阵的乘积和逆也是单位下三角矩阵,于是 L 是单位下三角矩阵。
由 (2) 式有
Ep⋯E1L=I
可见 (1) 中的行变换 Ep⋯E1 把 A 化为 U,也把 L 化为 I。
LU 分解的算法
1. 如果可能的话,用一系列的行倍加变换把 A 化为阶梯形 U。
2. 填充 L 的元素使相同的行变换把 L 变为 I。
注意上面的第 1 步并不总是可能的,如果可能,则 LU 分解存在。