我们本章的目的是对 \(A=LU\) 进行分析,我们以这种思路来看待高斯消元。

好现在还是从简单的开始。

首先,讲一下上一章中没讲完的内容——乘积的逆。

假设 \(A\) 和 \(B\) 均是可逆矩阵,即有:

\[A·A^{-1} = I = A^{-1}·A
\]

那 \(AB\) 的逆是什么?使用单独的逆相乘吗?是的。

用矩阵 \(A\) 的逆和 \(B\) 的逆相乘,什么顺序?反顺序相乘。因此有:

\[(AB)(B^{-1}A^{-1})=I
\]

所以 \(A^{-1}B^{-1}\) 就是我们所求的东西。这里可以把括号抹去,想怎么乘就怎么乘,因为括号可以移动,矩阵有乘法结合律

首先应该把什么乘起来?\(B\) 乘以 \(B\) 的逆,乘积为单位矩阵;\(A\) 乘以 \(A\) 的逆得到单位矩阵。

关于为什么逆矩阵顺序要反过来,就相当于原来你先脱鞋子在脱袜子,他的逆动作就该是先穿鞋子,再穿袜子,而不是先穿鞋子再穿袜子(bushi。

回到刚才的例子,还要放到另一侧来检验:

\[B^{-1}A^{-1}AB=I
\]

由于下一章可能会涉及到转置,这里就做一个铺垫。

如果转置某可逆方阵,那么其转置的逆是什么?

首先,\(A\) 矩阵可逆:

\[AA^{-1}=I
\]

两侧同时转置,则就要涉及到矩阵转置了。转置单位矩阵会得到什么?还是单位矩阵对吧,不管怎么转置行和列,因为单位矩阵是对称的所以不会有变化。如果我对左边的乘积进行转置,这还是得改变两者的顺序。分别转置两个矩阵,然后以相反顺序相反顺序相乘。

注:矩阵 \(A\) 的转置记作 \(A^T\)

\[(A^{-1})^TA^T = I
\]

这个公式的推导可以说是一目了然,它也足以告诉我们答案了,什么是矩阵 \(A\) 的转置的逆?就是\((A^{-1})^T\) 。

然后我们惊奇的发现:

\[(A^{-1})^T = (A^T)^{-1}
\]

也就是说,转置和逆这两种运算,对于单个矩阵而言,顺序可以颠倒。好,这些就是我们将要用到的基础公式。

接下来,我们回到我们的主题 \(A\) 的 \(LU\) 分解。

我假设有一个矩阵 \(A\) 它是一个具有一切美好性质的矩阵。考虑 \(2 \times 2\) 的情况。

\[A=\begin{bmatrix}
2&1\\
8&7
\end{bmatrix}
\]

所以 \(E_{2,1}\) 是多少?

很显然,

\[U = \begin{bmatrix} 2&1\\0&3 \end{bmatrix}\,\,\,\,\,
E_{2,1} = \begin{bmatrix}
1&0\\-4&1
\end{bmatrix}
\]

有:

\[\quad \quad E_{2,1}·A = U
\\
\begin{bmatrix}
1&0\\-4&1
\end{bmatrix}
\begin{bmatrix}
2&1\\
8&7
\end{bmatrix}=\begin{bmatrix} 2&1\\0&3 \end{bmatrix}
\]

我们开始计算:

\[\begin{equation}
A = LU\\
\begin{bmatrix}
2&1\\
8&7
\end{bmatrix}=
L
\begin{bmatrix}
2&1\\
0&3
\end{bmatrix}
\end{equation}
\]

所以,这里的 \(L\) 是什么,它和 \(E_{2,1}\) 有什么关系?是逆。因为如果两边同时乘以 \(E_{2,1}\) 的逆 \(\dots\)

\[\begin{aligned}
E_{2,1}·A·(E_{2,1})^{-1}&=U·(E_{2,1})^{-1}\\
I·A&=U·(E_{2,1})^{-1}\\
A&=U·(E_{2,1})^{-1}\\
\therefore L&=(E_{2,1})^{-1}\\
\because (E_{2,1})^{-1}&=\begin{bmatrix}
1&0\\
4&1
\end{bmatrix}\\
\therefore L&=\begin{bmatrix}
1&0\\
4&1
\end{bmatrix}
\end{aligned}
\]

好,这是 \(2 \times 2\) 的情况。那么,\(L\) 代表什么?为什么用字母 \(L\) ?

\(U\) 代表上三角矩阵(\(Upper\)),\(L\) 表示下三角矩阵(\(Lower\))。

可以看到,他的对角线上都是 \(1\) 因为对角线上都是主元,有时我们会把主元单独列出来:

\[\begin{aligned}
A&=LDU\\
\begin{bmatrix}
2&1\\
8&7
\end{bmatrix}&=
\begin{bmatrix}
1&0\\
4&1
\end{bmatrix}
\begin{bmatrix}
2&0\\
0&3
\end{bmatrix}
\begin{bmatrix}
1&\frac{1}{2}\\
0&1
\end{bmatrix}
\end{aligned}
\]

\(D\) 表示对角矩阵 (\(Diagonal\))

下面不能只停留在 \(2 \times 2\) 了,这里的例子非常简单。

接下来考虑 \(3 \times 3\) 的情况:

\[\begin{aligned}
E_{3,2}E_{3,1}E_{2,1}A&=U \,\,\,\,\,(No\,\,Row\,\,Exchanges)\\
A&={E_{2,1}}^{-1}{E_{3,1}}^{-1}{E_{3,2}}^{-1}U\\
&=LU
\end{aligned}
\]

我们假设一下:

\[E_{3,2}=\begin{bmatrix}
1&0&0\\
0&1&0\\
0&-5&1\\
\end{bmatrix}
\quad
E_{2,1}=\begin{bmatrix}
1&0&0\\
-2&1&0\\
0&0&1\\
\end{bmatrix}
\]

有:

\[\begin{bmatrix}
1&0&0\\
0&1&0\\
0&-5&1\\
\end{bmatrix}
\begin{bmatrix}
1&0&0\\
-2&1&0\\
0&0&1\\
\end{bmatrix}=
\begin{bmatrix}
1&0&0\\
-2&1&0\\
10&-5&1\\
\end{bmatrix}=E \longleftrightarrow EA=U
\]

下面我要反顺序计算它的逆:

\[\begin{bmatrix}
1&0&0\\
2&1&0\\
0&0&1\\
\end{bmatrix}
\begin{bmatrix}
1&0&0\\
0&1&0\\
0&5&1\\
\end{bmatrix}=
\begin{bmatrix}
1&0&0\\
2&1&0\\
0&5&1\\
\end{bmatrix}=L \longleftrightarrow A=LU
\]

对于 \(A=LU\) 如果不存在行交换,消元乘数可以直接写入 \(L\) 中。

我们考虑一个问题,**一个 \(n \times n\) 的矩阵 \(A\) ,需要多少次操作? **

令 \(n=100\) 假设矩阵中没有 \(0\) 。

第一步,

经过一步操作,剩下的就是 \(99 \times 99\) 的方阵了,因为主元已近在 \((1,1)\) 的位置,第一行已经固定,第一列同样的已经固定,剩下的也就是 \(99 \times 99\) 的方阵了。

那么,最终需要多少步?注意我们算的是时间复杂度(粗略理解就行,可能叫时间复杂度有点不太严谨),不是消元的次数。

所以,

\[Cost\,\,of\,\,A=n^2+(n-1)^2+(n-2)^2+\dots+1^2\approx\frac{1}{3}n^3\\
Cost\,\,of\,\,B=n^2
\]

下面讲讲置换(\(Permutations\)),考虑 \(3 \times 3\) 的情况。

有矩阵 \(\begin{bmatrix}
1&0&0\\
0&1&0\\
0&0&1
\end{bmatrix}\) ,通过一次置换可以得到: \(\begin{bmatrix}
0&1&0\\
1&0&0\\
0&0&1
\end{bmatrix}\) 、 \(\begin{bmatrix}
0&0&1\\
0&1&0\\
1&0&0
\end{bmatrix}\) 、

\(\begin{bmatrix}
1&0&0\\
0&0&1\\
0&1&0
\end{bmatrix}\) 、 \(\begin{bmatrix}
0&1&0\\
0&0&1\\
1&0&0
\end{bmatrix}\) 、 \(\begin{bmatrix}
0&0&1\\
1&0&0\\
0&1&0
\end{bmatrix}\) 。

仔细观察会发现这个矩阵群很有意思,将它们两两相乘,得到的矩阵仍然在这六个矩阵之中。

置换矩阵有一个很奇妙的性质:

\[P^{-1}=p^T
\]

它的逆等于其转置。我最后再讲一点,考虑 \(4 \times 4\) 的情况,有多少种转置矩阵?显然是 \(24\) 种。

本章到此结束。

预告:下一章的内容是转置和置换

线性代数 A 的 LU 分解的更多相关文章

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

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

  2. matlab 求解线性方程组之LU分解

    线性代数中的一个核心思想就是矩阵分解,既将一个复杂的矩阵分解为更简单的矩阵的乘积.常见的有如下分解: LU分解:A=LU,A是m×n矩阵,L是m×m下三角矩阵,U是m×n阶梯形矩阵 QR分解: 秩分解 ...

  3. 矩阵分解---QR正交分解,LU分解

    相关概念: 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等.两个向量正交的意思是两个向量的内积为 0 正定矩阵:如果对于所有的非零实系数向量x ,都有 x ...

  4. 矩阵LU分解分块算法实现

    本文主要描述实现LU分解算法过程中遇到的问题及解决方案,并给出了全部源代码. 1. 什么是LU分解? 矩阵的LU分解源于线性方程组的高斯消元过程.对于一个含有N个变量的N个线性方程组,总可以用高斯消去 ...

  5. 【线性代数】6-7:SVD分解(Singular Value Decomposition-SVD)

    title: [线性代数]6-7:SVD分解(Singular Value Decomposition-SVD) categories: Mathematic Linear Algebra keywo ...

  6. LU分解,Javascript代码

    ///A 为矩阵,这里写成一维数组,如 [1],[1,2,3,4] function GetLU(a) { var n = a.length;//矩阵的总数据数目 var s = Math.sqrt( ...

  7. matlab实现高斯消去法、LU分解

    朴素高斯消去法: function x = GauElim(n, A, b) if nargin < 2 for i = 1 : 1 : n for j = 1 : 1 : n A(i, j) ...

  8. LU分解(2)

    接着上次LU分解的讲解,这次给出使用不同的计算LU分解的方法,这种方法称为基于GaxPy的计算方法.这里需要了解lapapck中的一些函数.lapack中有一个函数名为gaxpy,所对应的矩阵计算公式 ...

  9. LU分解(1)

    1/6 LU 分解          LU 分解可以写成A = LU,这里的L代表下三角矩阵,U代表上三角矩阵.对应的matlab代码如下: function[L, U] =zlu(A) % ZLU ...

  10. MATLAB矩阵的LU分解及在解线性方程组中的应用

    作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...

随机推荐

  1. 多模态自动驾驶混合渲染HRMAD:将NeRF和3DGS进行感知验证和端到端AD测试

    基于3DGS和NeRF的三维重建技术在过去的一年中取得了快速的进步,动态模型也变得越来越普遍,然而这些模型仅限于处理原始轨迹域内的对象. HRMAD作为一种混合方案,将传统的基于网格的动态三维神经重建 ...

  2. 20241105,LeetCode 每日一题,用 Go 实现两数之和的非暴力解法

    题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案,并且你不能 ...

  3. cesium czml更新dataSource

    cesium czml更新dataSource:沙盒

  4. ArcGIS拼接、镶嵌同一空间位置的不同遥感影像

      本文介绍在ArcGIS下属的ArcMap软件中,对处于同一空间位置的多幅栅格图像加以拼接.融合与叠加等操作的方法.   假如现在我们分别有以下三幅栅格图像,三者分别是独立的三个图层.第一个图层如下 ...

  5. DeepSeek又在节前放大招!

    写在前面 事情是这样的,就在五一假期开始前夕,DeepSeek放出了模型DeepSeek-Prover-V2-671B: 这是延续了节假日狂飙的传统?   言归正传,我们看看这次放出了哪些核心技术. ...

  6. API接口调用--历史上的今天(v1.0)

    历史上的今天 参考(聚合数据):https://www.juhe.cn/docs/api/id/63 事件列表(v1.0) 接口地址: http://api.juheapi.com/japi/toh ...

  7. 【工具】秘塔AI搜索|推荐一个现在还免费的AI聚合搜索工具

    网址:https://metaso.cn/ 使用时间:2024/03/27 . 2024/04/10 以前其实用过它家的秘塔写作猫,当时感觉非常不错. 这次看到它出AI搜索,感觉开发者挺有野心和实力的 ...

  8. 用 Tarjan 算法求解有向图的强连通分量

    图论中的连通性概念是许多算法与应用的基础.当我们研究网络结构.依赖关系或路径问题时,理解图中的连通性质至关重要.对于不同类型的图,连通性有着不同的表现形式和算法解决方案. 无向图与有向图的连通性 在无 ...

  9. Visual Studio 快捷键(收藏)

    代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代码和折叠代码所用到的快捷键,很常用: Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 Ctrl + ...

  10. MSDN I tell you下载方式

    1.复制下载链接 2. 去下载软件粘贴即可 下以百度网盘为例: