矩阵分解 三角分解(LU分解)
来源:互联网 发布:淘宝上代写毕业论文 编辑:程序博客网 时间:2024/04/28 21:22
三角分解(LU分解)
在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积)。LU分解主要应用在数值分析中,用来解线性方程、求反矩阵或计算行列式。
本质上,LU分解是高斯消元的一种表达方式。首先,对矩阵A通过初等行变换将其变为一个上三角矩阵。对于学习过线性代数的同学来说,这个过程应该很熟悉,线性代数考试中求行列式求逆一般都是通过这种方式来求解。然后,将原始矩阵A变为上三角矩阵的过程,对应的变换矩阵为一个下三角矩阵。这中间的过程,就是Doolittle algorithm(杜尔里特算法)。
例子1:
A = LU,这里将A的对应元素求出。可以直接顺序计算LU值
例子2:
若AX=b是一个非奇异系统,那么高斯消元法将A化简为一个上三角矩阵。若主轴上没有0值,则无需交互行,因此只需进行第3类初等行变换(把第 i 行加上第 j 的 k 倍)即可完成此变换。例如
第3类行变换可以通过左乘相应的初等矩阵image实现,对上例来说进行的3个变换就是相应初等矩阵的乘积。注意最右边是一个下三角矩阵L
从而有
注意:
1)U是高斯消元的结果,且对角线上是主元
2)L对角线上是1,对角线下面的元素image恰恰是在式1中用于消去(i,j)位置上元素的乘子。
LU分解常用来求解线性方程组,求逆矩阵或者计算行列式。例如在计算行列式的时候,
在线性代数中已经证明,如果方阵
在计算机程序中常常用到这种方法解线性代数方程组。它的优点是存储量很省。L和U中的三角零元素都不必存储,这样只用一个n阶仿真就可以把L和U存储起来。
即:下三角存储L各元素而上三角存储U的元素。
再考察公式S会发现A中任一元素aij只在计算lij(j<=i)和uij(u>=j)中用到一次,以后就不再出现了,因为完全可以利用原始数据A的单元,一个个逐次存储L或U中
的相应元素,即:
下面是关于使用LU分解求解方程组Ax = b:
当系数矩阵A完成了LU分解后,方程组Ax = b就可以化为L(Ux) = b,等价于求解两个方程组Ly = b和Ux = y;
具体计算公式为
采用LU分解有如下特点:
(1)LU分解与右端向量无关。先分解,后回代,分解的运算次数正比于n^3,回代求解正比于n^2。遇到多次回代时,分解的工作不必重新做,这样节省计算时间。
(2)分解按步进行,前边分解得到的信息为后边所用。
(3)【A】矩阵的存储空间可利用,节省存储。
- 矩阵分解 三角分解(LU分解)
- 矩阵之LU分解
- 矩阵LU的分解
- 矩阵分解(1) LU分解
- 5. 矩阵的LU分解、QR分解
- 从高斯消元到矩阵的三角分解(LU)
- LU分解
- LU分解
- LU分解
- LU分解
- LU分解的矩阵逆运算
- 矩阵分析中的LU分解
- 矩阵LU分解算法分析
- eoj1041 矩阵的LU分解
- LU分解的矩阵逆运算
- 矩阵分析之LU分解
- matlab实现矩阵LU分解
- 线性代数:矩阵的LU分解
- makefile中条件判断与函数
- Kubo更名为CFCR,成为Cloud Foundry部署Kubernetes的默认方案
- 【构建知识图谱neo4j】
- 三天掌握Kubernetes技术
- xmc4800 Ethercat high speed sync event
- 矩阵分解 三角分解(LU分解)
- React Native for Android Nnable to load script from assets 'index.android bundle'
- Tensorflow实战学习(一)【什么是TensorFlow】
- 数据库隔离级别
- ES6,箭头函数解决this作用域问题
- STM32入门系列-GPIO工作模式及LED电路原理
- linux 刷新环境变量
- kibana几次崩溃问题引发的探索
- 获取当前字段第二多的记录