7.6 矩阵的LU分解
矩阵的分解
数的分解 ==> 66 = 2 * 3 * 11 ==> 质因数分解
一个矩阵 也可以分解成为 几个矩阵乘积的形式。
矩阵分解有不同的目的。
矩阵的LU分解
矩阵的LU分解,提高计算效率为目的。
将一个矩阵A 分解为 A = L * U
L ==> Lower Triangle Matrix
U ==> Upper Triangle Matrix
以矩阵的对角线为界。
单位 下三角矩阵 ==>
回忆高斯消元法的过程 >
高斯消元法的过程,通过初等变换,把一个矩阵变成了上三角矩阵。
即>
如何将 坐标的初等矩阵 消去 怎么做呢? ==>
==>
那将 A = L * U ==>
满足条件的话 ==>
举例 三阶矩阵
先 执行高斯消元法 化为 上三角矩阵U ==>
逆 矩阵 ==>
继续执行 ==>
逆 矩阵 ==>
继续执行 ==>
逆 矩阵 ==>
为了方便计算,主元位置不归一。
在执行高斯消元法后,得到了上三角矩阵U,在这个过程中,将这个矩阵逆过来,就得到了下三角矩阵L。
综上 ==>
矩阵可以进行 LU 分解的条件 ==>
对A进行高斯消元的过程,不需要交换两行的位置
为什么进行矩阵的LU分解
在解Ax = b 的过程中
对A 进行 LU 分解 需要进行多少操作呢?==>
主对角线 下方 的元素 大概有 二分之一 * n方个元素。
在 进行 高斯消元法 执行 矩阵的初等变换操作 大概需要进行 n 次操作。因为需要对 某一行的 n 个数 都进行变化。
所以 整体 LU分解的过程 大概需要 二分之一 * n的立方 次操作。
进行 LU 分解后 ,线性系统 就变成了 ==>
L * U * x = b
设 Ux = y
==> L * y = b
求出y的过程,大概需要多少次操作呢? ==>
==> U * x = y
同理 求出x需要 ==>
综上,LU分解需要的操作次数 ==>
对比 求解矩阵的逆 需要多少次操作 ==>
所以,使用LU分解方式去计算线性系统,可以很大程度上提高效率。