文章目录

  • 1. 矩阵的LU分解
  • 2. 消元法所需运算量
  • 3. 行互换 Row exchanges

  本节的主要目的是从矩阵的角度理解高斯消元法,最后找到所谓的 LLL矩阵,使得矩阵 AAA可以转变为上三角阵 UUU。即完成 LULULU分解得到 A=LUA=LUA=LU。首先继续了解一些矩阵乘法和逆矩阵的相关内容。

  在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积)。LU分解主要应用在数值分析中,用来解线性方程求逆矩阵计算行列式

1. 矩阵的LU分解

  可以将矩阵的分解类比为多项式的因式分解,分解后的结果可以让我们更容易看清“解”的状态。

(10−41)(2187)=(2103)\begin{gathered} \begin{pmatrix} 1 & 0 \\ -4 & 1 \end{pmatrix} \end{gathered} \begin{gathered} \begin{pmatrix} 2 & 1 \\ 8 & 7 \end{pmatrix} \end{gathered} = \begin{gathered} \begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \end{gathered} (1−4​01​)​(28​17​)​=(20​13​)​

E21A=UE_{21} \quad \quad A=\quad UE21​A=U

(2187)=(1041)(2103)\begin{gathered} \begin{pmatrix} 2 & 1 \\ 8 & 7 \end{pmatrix} \end{gathered} = \begin{gathered} \begin{pmatrix} 1 & 0 \\ 4 & 1 \end{pmatrix} \end{gathered} \begin{gathered} \begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \end{gathered} (28​17​)​=(14​01​)​(20​13​)​

A=LU\quad \quad A\quad \quad = \quad \quad L\quad \quad UA=LU

  左行右列,即左乘是对矩阵A的行进行变换,而右乘是对矩阵A的列进行变换。由于列变换更为熟悉,但行变换较为容易忘记(尤其是时间长了)。其实回忆的方法很简单:通过转置运算即可。

  其中UUU为上三角阵(Upper triangular matrix),主元依次排列于它的对角线上,E21‐1E_{21}^{‐1}E21‐1​ 即LLL为下三角阵(Lower triangular matrix) 。有时我们也通过分解得到对角阵DDD(diagonal matrix),例如:
(2187)=(1041)(2003)(11/201)\begin{gathered} \begin{pmatrix} 2 & 1 \\ 8 & 7 \end{pmatrix} \end{gathered} = \begin{gathered} \begin{pmatrix} 1 & 0 \\ 4 & 1 \end{pmatrix} \end{gathered} \begin{gathered} \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix} \end{gathered} \begin{gathered} \begin{pmatrix} 1 & 1/2 \\ 0 & 1 \end{pmatrix} \end{gathered} (28​17​)​=(14​01​)​(20​03​)​(10​1/21​)​
A=LDU′\quad \quad A\quad \quad \quad= \quad \quad L\quad \quad D\quad \quad U^{\prime}A=LDU′

  对于三阶矩阵而言,为了简单起见,假设不需要通过不同行之间的互换,那么:

E32(E31(E21A))=UE_{32}(E_{31}(E_{21}A))=UE32​(E31​(E21​A))=U,左乘逆矩阵可得 A=E21−11E31−1E32−1U=LUA=E_{21}^{-1}1E_{31}^{-1}E_{32}^{-1}U=LUA=E21−1​1E31−1​E32−1​U=LU

  核心问题:为什么使用A=E21−11E31−1E32−1U=LUA=E_{21}^{-1}1E_{31}^{-1}E_{32}^{-1}U=LUA=E21−1​1E31−1​E32−1​U=LU而不是E32(E31(E21A))=UE_{32}(E_{31}(E_{21}A))=UE32​(E31​(E21​A))=U呢?

  假设E31E_{31}E31​ 为单位阵III,E32E_{32}E32​和E21E_{21}E21​分别如下所示:
(1000100−51)(100−210001)=(100−21010−51)\begin{gathered} \begin{pmatrix} 1 & 0 & 0 \\ 0& 1 & 0 \\ 0 & -5 & 1 \end{pmatrix} \end{gathered} \begin{gathered} \begin{pmatrix} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 &1 \end{pmatrix} \end{gathered} = \begin{gathered} \begin{pmatrix} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 10 & -5 & 1 \end{pmatrix} \end{gathered} ⎝⎛​100​01−5​001​⎠⎞​​⎝⎛​1−20​010​001​⎠⎞​​=⎝⎛​1−210​01−5​001​⎠⎞​​
E32E21=E\quad \quad E_{32} \quad \quad \quad \quad E_{21} \quad \quad \quad \quad = \quad E E32​E21​=E
(100210001)(100010051)=(100210051)=L\begin{gathered} \begin{pmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \end{gathered} \begin{gathered} \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 5 &1 \end{pmatrix} \end{gathered} = \begin{gathered} \begin{pmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 5 & 1 \end{pmatrix} \end{gathered} =L ⎝⎛​120​010​001​⎠⎞​​⎝⎛​100​015​001​⎠⎞​​=⎝⎛​120​015​001​⎠⎞​​=L

EA=UEA=UEA=U

A=LUA=LUA=LU

  A=LUA=LUA=LU,如果不存在行之间的交换,乘积数(multipliers)可以直接写进LLL中。相比起来,LLL比EEE更容易求解。

  A=LDU′A=LDU^{\prime}A=LDU′,本质上和后面学到的奇异值分解A=U∑VTA=U\sum V^TA=U∑VT有异曲同工之妙。另外需要注意的是EEE属于下三角矩阵。

2. 消元法所需运算量

  假设将“先乘后减”为一次运算,那么对n∗nn*nn∗n 矩阵,对于其中一行进行消元要进行nnn次运算,除了第一行以外剩余有n−1n-1n−1行,所以进行了 (n−1)2(n-1)^2(n−1)2次运算,大约为n2n^2n2次运算,结果得到了第一列除第一主元外都为0的矩阵。

  随后开始对除第一行第一列之外的剩余部分进行
消元,这相当于一个 (n−1)∗(n−1)(n-1)*(n-1)(n−1)∗(n−1) 的矩阵,那么需要大约(n−1)2(n-1)^2(n−1)2 次运算,以此类推。

  最后需要的运算次数为12+22+……+n21^{2}+2^2+……+n^212+22+……+n2,利用积分公式可以估算其数值。

12+22+……+n2=∑i=1ni2≈∫0nx2dx=13n31^{2}+2^2+……+n^2=\sum \limits_{i=1}^n i^2\approx \int _ { 0 } ^ { n } x^2 dx=\frac{1}{3}n^312+22+……+n2=i=1∑n​i2≈∫0n​x2dx=31​n3

3. 行互换 Row exchanges

  如果主元为0时,就需要进行“行互换”。我们可以通过左乘一个置换矩阵(Permutation Matrix)实现“行互换”的操作。例如:
P21=(010100001)P_{21}= \begin{gathered} \begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix} \end{gathered} P21​=⎝⎛​010​100​001​⎠⎞​​

  对于 n∗nn*nn∗n 矩阵存在着 n!n!n!个置换矩阵。 置换矩阵每一行或者每一列只有一个元素是 1,其它都是 0,从第一行选一个位置设定为 1 有 nnn个选择,第二行则只剩下n−1n-1n−1个选择,以此类推,最终有 n!n!n!种可能。

  对于某阶的置换矩阵集合而言,置换矩阵的两两乘积仍在这个集合中,置换矩阵的逆矩阵也在此集合中。置换矩阵的逆矩阵即为它的转置P−1=PTP^{-1}=P^TP−1=PT。

MIT线性代数笔记四 矩阵的LU分解相关推荐

  1. 两矩阵相乘的秩的性质_MIT—线性代数笔记04 矩阵的LU分解

    第04讲 矩阵的LU分解 Factorization into A=LU 04 A的LU分解​v.youku.com 本节的主要目的是从矩阵的角度理解高斯消元法,最后找到所谓的L矩阵,使得矩阵A可以转 ...

  2. 线性代数笔记10——矩阵的LU分解

    在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积).LU分解主要应用在数值分析 ...

  3. MIT线性代数笔记三 矩阵的乘法和逆矩阵

    文章目录 1. 矩阵乘法 Matrix multiplication 1.1 标准方法(行乘以列) 1.2 列向量的线性组合 1.3 行向量的线性组合 1.4 分块乘法 2. 逆矩阵 2.1 逆矩阵的 ...

  4. MIT线性代数笔记二 矩阵消元

    文章目录 1. 消元 Elimation 2. 回代 Back-Substitution 3. 消元矩阵 Elimination Matrices 4. 置换矩阵 Permutation 5. 逆矩阵 ...

  5. 怎样用matlab做矩阵的LU分解,矩阵LU分解程序实现(Matlab)

    n=4;%确定需要LU分解的矩阵维数 %A=zeros(n,n); L=eye(n,n);P=eye(n,n);U=zeros(n,n);%初始化矩阵 tempU=zeros(1,n);tempP=z ...

  6. 线性代数:矩阵的LU分解

    矩阵的LU分解 基础公式 示例说明 2x2 矩阵情况 3x3 矩阵情况 本节是网易公开课上的麻省理工大学线性代数课程第四节: A的LU分解 的学习笔记. 本篇主要讲解 矩阵的LU分解. 矩阵的LU分解 ...

  7. 我总结的120页《图解MIT线性代数笔记.pdf》,都是干货!

    作者:丁坤博 北京大学研究生 线性代数在工科学科上的地位是任何学科无可比拟的,MIT的线性代数课程更是线性代数课程中的最佳学习资料,我们本次分享这套课程的图解笔记. 经过最近几个月的整理和总结,我们产 ...

  8. 线性代数导论4——A的LU分解

    线性代数导论4--A的LU分解 一.A=LA分解 消元的目的,只是为了更好正确的认识矩阵的概念,A=LU是最基础的矩阵分解.L是下三角矩阵,U是上三角矩阵.A通过消元最终得到U,L即A与U之间的联系. ...

  9. 施密特正交化c语言,C语言实现矩阵的LU分解、施密特正交化、Givens分解、Householder分解...

    <C语言实现矩阵的LU分解.施密特正交化.Givens分解.Householder分解>由会员分享,可在线阅读,更多相关<C语言实现矩阵的LU分解.施密特正交化.Givens分解.H ...

最新文章

  1. javassist 初步学习
  2. AtCoder AGC037E Reversing and Concatenating
  3. 一个内核网络漏洞详解|容器逃逸
  4. CentOS7系统上Kubernetes集群搭建
  5. 信用贷款常见问题应对话术
  6. windows 下安装 rabbitmq报init terminating in do_boot错误
  7. P3365,jzoj3894-改造二叉树【LIS,BST】
  8. CSS 实现按钮及线呼吸灯效果
  9. RadioButtonList控件绑定图片Vertical对齐
  10. 【调试手段】linux下valgrind内存泄露检查
  11. ctf线下赛mysql密码_CTF线下攻防赛
  12. 1066 图像过滤 (15 分)—PAT (Basic Level) Practice (中文)
  13. 数据仓库系列之元数据管理
  14. 联想电脑 Windows10 20H2 32位64位 专业版 V2021【OEM原版镜像】
  15. 使用ARCGIS多重缓冲区分析工具建立颜色渐变行政边界
  16. “集五福”瓜分20亿!互联网巨头扎堆春节红包大战,暗藏啥玄机?
  17. 在 MaCA 根目录运行所有 py 文件
  18. 什么是软连接,软连接的作用
  19. 服务搭建篇(七) Elasticsearch单节点部署以及多节点集群部署
  20. raid5数据丢失后应该怎么做才能提高数据恢复成功率?

热门文章

  1. java 创建word文件_Java 创建Word
  2. 狗狗叫c语言,跟狗狗说话软件叫什么 教你和狗狗聊天
  3. 1067 – Invalid default value for ‘id’
  4. 关于游戏介绍的HTML网页设计 HTML5期末考核大作业 HTML静态游戏网页作业 web前端开发技术 web课程设计 网页规划与设计
  5. 数组求fibnocci用c语言,c语言作业.docx
  6. React 界面样式设计
  7. ajax 分割返回,jQuery用'...'分割ajax响应?
  8. 利用python进行股票分析(四)pandas
  9. 轻松去除微博图片logo的方法
  10. 互联网时代的“跨界打击”有多厉害?最怕大势将至,你却浑然不知