线性代数导论 - #4 矩阵分解之LU分解的意义、步骤和成立条件

目前我们用于解线性方程组的方法依然是Gauss消元法。在Gauss消元法中,我们将右侧向量b与A写在一起作为一个增广矩阵进行同步的操作,这就默认了对A与b的操作数是相等的且每换一个b就要重复一遍对A的操作。

然而,在实际情况中,右侧向量b经常发生变化。而且,研究发现,Gauss消元法中,对n阶矩阵A的消元操作数正比于n3,而对右侧向量b的回代操作(包括行变换和恢复成代数方程的形式)数仅仅正比于n2。(操作次数上的相对大小可以根据A与b元素数量的差距进行猜想)

在b不变时,两种算法上的复杂度差距不明显,选择同步操作更为方便直观。但是,当b变化时,如果我们将对A和对b的操作进行分隔的话,只需对A完成一次完整的消元操作,再对b进行回代操作。这样可以大大减少操作的次数。

所以,在b变化时,我们先对A单独进行分解操作。其中的一种分解方法是LU分解。这种方法的优势在于分解结果中L(上三角矩阵)和U(下三角矩阵)都是三角形矩阵,后续运算比较简便。而且二者恰好相配,使用计算机进行运算时可以存储在一个数组中,节约存储空间。

利用A的LU分解解线性方程组的过程为将Ax=b等价变形成(LU)x=b,根据结合律有L(Ux)=b,再解Ly=b中的y,最后解Ux=y得到线性方程组的解。

LU分解的步骤如下:

1.求U留E:沿用Gauss消元法,将A化为U,不同的是,变换过程中左边乘上的每一个E都要记录下来;

2.逆E为L:将用到的E各自求逆(取含变换操作的元素的相反数)再逆序相乘(将消元乘数按照原来的位置写到一起,再补齐左上-右下对角线上的1和对角线上方的0),乘积即为L:

E求逆的简便方法和乘积求逆的运算法则在#3中已经提到。

逆序相乘等价于归置消元乘数于下三角矩阵中是一个常用结论,记忆使用可以简化运算。

乘积为L的依据是:假设E为所有E的乘积,EA=U可变形为E-1EA=E-1U=IA=A=LU,其中L=E-1。

什么样的矩阵才能进行LU分解?

具体判定方法没有给出。不过根据分解的过程,我们可以推定消元过程中不进行行交换的矩阵才能进行LU分解,即默认主元位(k行k列)上的元素均非0。

如果必须进行行交换怎么办?

Prof. Strang引入了置换的概念,针对n阶矩阵,其置换矩阵群含有n!个置换矩阵P也即可能的置换操作。这个矩阵群具有许多特殊的性质,比如P-1=PT,P之间的乘积仍属于该矩阵群。

置换将在#5中进行详细介绍。

三阶矩阵的lu分解详细步骤_数学 - 线性代数导论 - #4 矩阵分解之LU分解的意义、步骤和成立条件...相关推荐

  1. 线性代数导论2——矩阵消元

    线性代数导论2--矩阵消元 本文是Gilbert Strang的线性代数导论课程笔记.课程地址:http://v.163.com/special/opencourse/daishu.html 第二课时 ...

  2. 三阶矩阵的lu分解详细步骤_计算方法(三)矩阵分解2-LU分解

    LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,作为解线性方程以及优化高斯消去法的一个分解方法,在后续文章中会使用到. 如下列方 ...

  3. sap wm内向交货步骤_内向型人在数据科学中成功的五个有效步骤

    sap wm内向交货步骤 Just like most attributes of humans, including both the bright and dark sides, being an ...

  4. kuka机器人profinet网络配置步骤_谈一谈KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤...

    本次内容来简单谈一谈KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤. 步骤1:完成硬件接线 网线一端连接至控制柜门上的KLI端口,另一端连接到交换机,PLC也连接到交换机(交换 ...

  5. 建模步骤_【设计课堂】游戏手柄建模,看这14个步骤图就够了!

    Rhino犀牛建模软件是每位工业产品设计师必须要掌握的技能之一.他是将2D草图转变为3D模型,二维转为三维的过程的软件,是展现给客户方案的最终表达方式.下面我们有请普象资深软件教学老师,金长明老师为大 ...

  6. 惠普电脑u盘重装系统步骤_惠普电脑怎么重装系统|惠普电脑重装系统步骤

    惠普电脑重装系统怎么装?现在新买的惠普电脑预装的是win10 64位系统,不管什么电脑什么操作系统,都不可避免的会遇到重装系统的问题.重装系统比较常用的是U盘,而新型主板是uefi模式,需要用uefi ...

  7. qr分解java代码_[转载]【原创】基于Givens变换QR分解Matlab代码

    如果有任何问题.建议,或者更多资源.代码.视频,欢迎您访问专业的Matlab技术交流平台--Matlab技术论坛http://www.matlabsky.com Wish my dear girl,h ...

  8. spss数据预处理步骤_数学建模准备必备的十个数据分析软件(数学建模从入门到精通)...

    前几天咋们聊了很多关于数学建模的干货,比如怎么样去前期准备学习数学建模,又比如数学建模需要哪些疾病软件?再比如数学建模论文摘要写作技巧.昨天那篇更是直接把数学建模常用的思维导图.流程图软件全部统统介绍 ...

  9. 数学猜想验证步骤_数学猜想验证_数学教学中如何运用“猜想验证”

    [摘要]猜想验证方法是指通过数学的直觉思维对数学问题进行猜想,然后通过验证得出结论的方法.在新课程标准实施的今天,在学生数学教学中运用"猜想验证",有利于提高学生主动探索.获取数学 ...

最新文章

  1. 使用方差阈值过滤(VarianceThreshold)进行特征选择、删除方差低于某一阈值的特征、详解及实战
  2. 细节:解析XML文档和XML字符串
  3. npm安装依赖包报错
  4. 60分钟入门PyTorch,官方教程手把手教你训练第一个深度学习模型
  5. 不可小视的贝叶斯(三)
  6. java 3d模型插件_3D模型整合插件 Kitbasher V1.2 支持3DS MAX 2012~2018
  7. Oracle Spatial 创建空间表、添加空间原表信息、添加删除空间索引
  8. Spark Streaming处理File Streams
  9. 《jQuery Mobile入门经典》—— 2.2 展现CSS样式
  10. 3Ds Max字母键的妙用
  11. 好佳居软装十大品牌 软装类型对应着主人
  12. 关于下载pdf请求不到数据问题
  13. [原]解密Airbnb 自助BI神器:Superset 颠覆 Tableau
  14. 华为诺亚方舟实验室简述
  15. 云层高度方法总结:激光雷达信号反演/遥感数据估计
  16. mit计算机33门课程_440多门免费在线编程和计算机科学课程,您可以在2月开始
  17. 2019C语言课程设计
  18. 读《我能记住 - 读写记忆困难儿童实战》
  19. Error in v-on handler: “TypeError: this.$refs.popup.isShow is not a function“
  20. 求1到n的素数个数C语言,求 1~n 之间素数的个数

热门文章

  1. build.xml java打包_配置pom.xml用maven打包java工程的方法(推荐)
  2. desk next the to_仁爱版七年级下册英语句型转换题型专练
  3. 和与余数的和同余理解_每日一题 | 第38期:数量关系之余数特性
  4. 阿里云盘又送福利啦?空间大时间长,不要犹豫快上车!
  5. 皮一皮:千万别得罪一个文科生...
  6. Redisson 是如何实现分布式锁的?
  7. Spring Boot 2.x基础教程:使用国产数据库连接池Druid
  8. 也许,这样理解 HTTPS 更容易!
  9. MySQL中只会count(),sum()?累加运算没听过?
  10. c语言程序执行时无法输入字符串,C语言程序设计中键盘输入数据的方法分析