MIT OpenCourse 18.06 Linear Algebra 4

A的LU分解

1 上节课的补充

 
上节课最后介绍了高斯-约旦消元法求矩阵的逆
但是还有一点关于矩阵的逆的知识没讲完
这节课开头先补充一下
 

1.1 矩阵乘积的逆

 
假设我们现在有两方阵A和B
且他们各自的逆矩阵已知
那么AB乘积的逆矩阵是什么呢?
 

( A B ) − 1 = ? (AB)^{-1}=? (AB)1=?

 
这个其实很好推理
首先可以肯定
AB乘以AB的逆矩阵可得单位矩阵
也就是
 

( A B ) × ( A B ) − 1 = I 或 ( A B ) − 1 × ( A B ) = I (AB)\times (AB)^{-1}=I\\ \quad\\ 或\\ \quad\\ (AB)^{-1}\times(AB)=I (AB)×(AB)1=I(AB)1×(AB)=I

 
那么也就是说
AB的逆矩阵就是
与AB相乘后
(不管左乘还是右乘)
都能够得到单位矩阵的一个矩阵
 
所以现在思路就明确了
我们只需要去思考
AB乘以什么能得到单位矩阵呢?
脑子快的话马上就能想到这个
 

A × B × B − 1 × A − 1 = A × ( B × B − 1 ) × A − 1 = A × I × A − 1 = A × A − 1 = I A\times B\times B^{-1}\times A^{-1}\qquad=\qquad A\times (B\times B^{-1})\times A^{-1}\qquad=\qquad A\times I\times A^{-1}\qquad=\qquad A\times A^{-1}\quad=\qquad I A×B×B1×A1=A×B×B1×A1=A×I×A1=A×A1=I

 
同理
 

B − 1 × A − 1 × A × B = I \quad\\ B^{-1}\times A^{-1}\times A\times B=I B1×A1×A×B=I

 
这就好比
你先脱鞋子再脱袜子
这个过程的逆动作是
先穿袜子再穿鞋子
因此
再根据第二节3.2中提到的
矩阵乘法的结合律
显然
 

( A × B ) × ( B − 1 × A − 1 ) = I ( B − 1 × A − 1 ) × ( A × B ) = I (A\times B)\times (B^{-1}\times A^{-1})=I\\ \quad\\ (B^{-1}\times A^{-1})\times (A\times B)=I (A×B)×(B1×A1)=I(B1×A1)×(A×B)=I

 
所以AB的逆矩阵就求出来了!
 

( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)1=B1A1

 

1.2 转置的逆

 
首先这里我们需要知道一个关于转置的公式
 

( A B ) T = B T A T (AB)^{T}=B^TA^T (AB)T=BTAT

 
我想到了一个初步的理解思路
感兴趣的话可以看下
不感兴趣的话只需要记住这个公式就行
 
*****************分割线*****************
 
首先
转置不就是一个矩阵的行变成列
列变成行呗
就像这样
 

[ 1 2 3 4 ] T = [ 1 3 2 4 ] \begin{bmatrix} 1&2\\ 3&4 \end{bmatrix}^T= \begin{bmatrix} 1&3\\ 2&4 \end{bmatrix} [1324]T=[1234]

 
然后根据上一节笔记中1.2和1.3的思路
(忘了赶紧回去看)
假设两矩阵AB相乘得到矩阵C
 

A B = C AB=C AB=C

 
那么C中每一列或者每一行
都是A或B中对应的一列或者一行乘以另一个矩阵的乘积
所以AB的乘积经过转置后
 

( A B ) T = C T (AB)^T=C^T (AB)T=CT

 
C中的行变成列
列变成行
我们取C中的一行为例
它在转置前是这样的
对应着A中的一行乘以B
 

A × B = C [ ] × [ ] = [ ] A_{}\qquad\times \qquad B_{}\qquad=\qquad C_{}\\ \quad \\ \quad \\ \left[ \begin{array}{ccc} & & \\\hline & &\\ & & \end{array} \right]_{}\times\quad \left[ \begin{array}{ccc} & & \\ & &\\ & & \end{array} \right]_{}=\quad \left[ \begin{array}{ccc} & & \\\hline & &\\ & & \end{array} \right]_{} A×B=C×=

 
C中的这一行经过转置后
对应的那一列就应该跑到这里
它对应着A的转置中的一列乘以B
(注意此处AB的左右位置对调)
 

B T × A T = C T [ ] × [ ] = [ ] B^T_{}\qquad\times \qquad A^T_{}\qquad=\qquad C^T_{}\\ \quad \\ \quad \\ \left[ \begin{array}{ccc} & & \\ & &\\ & & \end{array} \right]_{}\times\quad \left[ \begin{array}{c|cc} & & \\ & &\\ & & \end{array} \right]_{}=\quad \left[ \begin{array}{c|cc} & & \\ & &\\ & & \end{array} \right]_{} BT×AT=CT×=

 
所以这样就不难理解这个公式了
 

( A B ) T = B T × A T (AB)^T=B^T\times A^T (AB)T=BT×AT

 
*****************分割线*****************
 
理解的思路说完了
甭管你看没看
现在都要开始思考
转置的逆是什么呢?
我们从这个最基本的公式开始
 

A × A − 1 = I A\times A^{-1}=I A×A1=I

 
两边同时转置
即可得到
 

( A × A − 1 ) T = I T (A\times A^{-1})^T=I^T (A×A1)T=IT

 
而根据单位矩阵的性质
除了主对角线的元素全部为1以外
其他元素均为0
所以它转置以后
仍然是单位矩阵
 

I T = I I^T=I IT=I

 
而根据公式
 

( A × B ) T = B T × A T (A\times B)^T=B^T\times A^T (A×B)T=BT×AT

 
可得
 

( A × A − 1 ) T = ( A − 1 ) T × A T (A\times A^{-1})^T = (A^{-1} )^T\times A^T (A×A1)T=(A1)T×AT

 
所以
 

A × A − 1 = I ↓ ( A × A − 1 ) T = I T ↓ ( A − 1 ) T × A T = I A\times A^{-1}=I\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ (A\times A^{-1})^T=I^T\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ (A^{-1} )^T\times A^T=I A×A1=I(A×A1)T=IT(A1)T×AT=I

 
所以显然
根据最后得到的
 

( A − 1 ) T × A T = I (A^{-1} )^T\times A^T=I (A1)T×AT=I

 
我们可以看出
A的转置
左乘A的逆的转置
等于的单位矩阵
这也就说明了
A的转置的逆
就是A的逆的转置
 

2 A的LU分解

 
为了便于理解这一部分
我决定先给出具体的操作方法
再讲这么干是为了啥
 

2.1 这是啥???

 
2.1.1 L和U是啥???
 
第二节课笔记的1.2.1已经讲了如何通过消元得到U
U叫上三角矩阵
英文是Upper Triangular
但是L我们还没遇到过
这里我直接说了
L是叫下三角矩阵
英文名叫Lower Triangular
我们已经知道
U的主对角线以下的元素都是0
那么类似的我们可以想到
L的主对角线以上的元素都是0
 
2.1.2 A咋分解成L和U???
 
在第二节课笔记的3.2
我们已经把矩阵消元的过程通过一个消元矩阵E全部表示
(如果忘记了一定要打开上节课笔记的这一部分再看一遍)
并最终把消元表示成了EA=U的形式
那么如果我说我们这次要把消元表示成A=LU的形式
我们该怎么做呢?
 
其实很简单
脑子快点的可能已经就看出来了
L其实就是E的逆
就像这样
 

E × A = U ↓ E − 1 × E × A = E − 1 × U ↓ A = E − 1 × U E\times A = U\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ E^{-1}\times E\times A = E^{-1}\times U\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ A = E^{-1}\times U E×A=UE1×E×A=E1×UA=E1×U

 
这样只列公式可能有点空洞
所以我弄个矩阵实际操作一下
比如
 

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

 
这个一下就能看出来
它的消元步骤是第二行减去四倍的第一行
也就是
 

A ⟶ r o w 2 − 4 × r o w 1 U [ 2 1 8 7 ] ⟶ r o w 2 − 4 × r o w 1 [ 2 1 0 3 ] A\stackrel{row2-4\times row1}{\longrightarrow}U\\ \quad\\ \begin{bmatrix} \boxed2&1\\ 8&7 \end{bmatrix}\stackrel{row2-4\times row1}{\longrightarrow} \begin{bmatrix} 2&1\\ 0&\boxed3 \end{bmatrix} Arow24×row1U[2817]row24×row1[2013]

 
而能够实现这一步行变换的消元矩阵E是
 

E = [ 1 0 − 4 1 ] E=\begin{bmatrix} 1&0\\ -4&1 \end{bmatrix} E=[1401]

 
(如果不知道这个E是咋的出来的记得回去看第二节课笔记的3.2)
因此
把整个过程写成EA=U的形式就是
 

[ 1 0 − 4 1 ] × [ 2 1 8 7 ] = [ 2 1 0 3 ] \begin{bmatrix} 1&0\\ -4&1 \end{bmatrix}\times \begin{bmatrix} 2&1\\ 8&7 \end{bmatrix}= \begin{bmatrix} 2&1\\ 0&3 \end{bmatrix} [1401]×[2817]=[2013]

 
这就代表了由A消元变为U的过程
但是现在我们要换一种表达形式
由EA=U换成A=LU
这只需要在EA=U的等式两端同时左乘E的逆矩阵就可以
这里的E的逆矩阵的求法可以参考第二节课笔记的5.1
E代表着第二行减去四倍的第一行
那么E的逆矩阵就应代表着第二行加上四倍的第一行
也就是
 

E = [ 1 0 − 4 1 ] E − 1 = [ 1 0 4 1 ] E=\begin{bmatrix} 1&0\\ -4&1 \end{bmatrix}\\ \quad\\ E^{-1}=\begin{bmatrix} 1&0\\ 4&1 \end{bmatrix} E=[1401]E1=[1401]

 
所以此例中 A=LU的形式应写成
 

[ 2 1 8 7 ] = [ 1 0 4 1 ] × [ 2 1 0 3 ] \begin{bmatrix} 2&1\\ 8&7 \end{bmatrix}= \begin{bmatrix} 1&0\\ 4&1 \end{bmatrix}\times \begin{bmatrix} 2&1\\ 0&3 \end{bmatrix} [2817]=[1401]×[2013]

 
不过有一点需要补充
有时候有些人吧
他们不这么写
你可以看到
这里的L的主元都是1
(不知道主元是啥的自己看第二节课笔记的1.2.1)
但是U的主元就不全都是1
有些人写的时候
就会把主元提出来
这时U的主对角线全部为1
所以上面的等式还有另一种写法
A=LDU
就是这样
 

[ 2 1 8 7 ] = [ 1 0 4 1 ] × [ 2 0 0 3 ] × [ 1 1 2 0 1 ] \begin{bmatrix} 2&1\\ 8&7 \end{bmatrix}= \begin{bmatrix} 1&0\\ 4&1 \end{bmatrix}\times \begin{bmatrix} 2&0\\ 0&3 \end{bmatrix}\times \begin{bmatrix} 1&\frac{1}{2}\\ 0&1 \end{bmatrix} [2817]=[1401]×[2003]×[10211]

 
所以如果见到别人这样写
不要害怕
它就是A=LU而已
只不过换了种写法
 

2.2 为啥要这么做???

 
相信你现在也很迷惑
这是在干啥呢?
为啥要整A=LU?
EA=U不就已经能很简洁地表达整个消元过程了么
为啥还要弄个A=LU呢?
 
好吧
确实EA=U已经挺好使了
这能够通过一个矩阵E很简洁地表示消元的全部过程
但问题是
这个E求起来太麻烦了
你不信?
确实 刚才的例子里的E根本不费劲就求出来了
可是吧
刚才的例子只是2*2的矩阵
人脑可以立马口算出E
我们现在拿个3*3的矩阵试试看
你估计就懂了
取一矩阵
 

A = [ 1 3 3 2 − 5 3 0 − 25 3 ] A=\begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-25&3 \end{bmatrix} A=1203525333

 
先通过EA=U的形式表示它的消元过程
 

E 32 × E 31 × E 21 × A = U [ 1 0 0 0 1 0 0 − 5 1 ] × [ 1 0 0 0 1 0 0 0 1 ] × [ 1 0 0 − 2 1 0 0 0 1 ] × [ 1 3 3 2 − 5 3 0 − 55 3 ] = [ 1 3 3 0 − 11 − 3 0 0 18 ] ↓ E × A = U [ 1 0 0 − 2 1 0 10 − 5 1 ] × [ 1 3 3 2 − 5 3 0 − 55 3 ] = [ 1 3 3 0 − 11 − 3 0 0 18 ] E_{32}\quad \quad \times \quad \quad E_{31} \quad \quad \times \quad \quad E_{21} \quad \quad \times \quad \quad A \quad \quad = \quad \quad U\\ \quad\\ \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&-5&1 \end{bmatrix}\times \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix}\times \begin{bmatrix} 1&0&0\\ -2&1&0\\ 0&0&1 \end{bmatrix}\times \begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-55&3 \end{bmatrix}= \begin{bmatrix} 1&3&3\\ 0&-11&-3\\ 0&0&18 \end{bmatrix}\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ E\qquad \quad \times \qquad \quad A \qquad \quad= \qquad \quad U\\ \quad\\ \begin{bmatrix} 1&0&0\\ -2&1&0\\ 10&-5&1 \end{bmatrix}\times \begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-55&3 \end{bmatrix}= \begin{bmatrix} 1&3&3\\ 0&-11&-3\\ 0&0&18 \end{bmatrix} E32×E31×E21×A=U100015001×100010001×120010001×1203555333=10031103318E×A=U1210015001×1203555333=10031103318

 
可以看到
如果想求出那个E
得去计算三个矩阵的乘积
我在上面省略了具体的矩阵乘法计算步骤
只用一个箭头就轻描淡写地表示
但真的
其实这算起来贼麻烦
 
那么如果我们用A=LU的形式来表示这个消元的过程呢?
大概就像这样
 

A = [ 1 3 3 2 − 5 3 0 − 25 3 ] A=\begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-25&3 \end{bmatrix} A=1203525333

 
先通过EA=U的形式表示它的消元过程
然后再转换成A=LU的形式
 

E 32 × E 31 × E 21 × A = U [ 1 0 0 0 1 0 0 − 5 1 ] × [ 1 0 0 0 1 0 0 0 1 ] × [ 1 0 0 − 2 1 0 0 0 1 ] × [ 1 3 3 2 − 5 3 0 − 55 3 ] = [ 1 3 3 0 − 11 − 3 0 0 18 ] ↓ A = E 21 − 1 × E 31 − 1 × E 32 − 1 × U E_{32}\quad \quad \times \quad \quad E_{31} \quad \quad \times \quad \quad E_{21} \quad \quad \times \quad \quad A \quad \quad = \quad \quad U\\ \quad\\ \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&-5&1 \end{bmatrix}\times \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix}\times \begin{bmatrix} 1&0&0\\ -2&1&0\\ 0&0&1 \end{bmatrix}\times \begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-55&3 \end{bmatrix}= \begin{bmatrix} 1&3&3\\ 0&-11&-3\\ 0&0&18 \end{bmatrix}\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ A= E_{21}^{-1}\times E_{31}^{-1}\times E_{32}^{-1}\times U E32×E31×E21×A=U100015001×100010001×120010001×1203555333=10031103318A=E211×E311×E321×U

 
这些消元矩阵的逆很好求
参照第二节课笔记的5.1
把主对角线外所有元素取相反数即可
所以
 

A = E 21 − 1 × E 31 − 1 × E 32 − 1 × U ↓ [ 1 3 3 2 − 5 3 0 − 55 3 ] = [ 1 0 0 2 1 0 0 0 1 ] × [ 1 0 0 0 1 0 0 0 1 ] × [ 1 0 0 0 1 0 0 5 1 ] × [ 1 3 3 0 − 11 − 3 0 0 18 ] ↓ [ 1 3 3 2 − 5 3 0 − 55 3 ] = [ 1 0 0 2 1 0 0 5 1 ] × [ 1 3 3 0 − 11 − 3 0 0 18 ] ↓ A = L × U A= E_{21}^{-1}\times E_{31}^{-1}\times E_{32}^{-1}\times U\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ \begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-55&3 \end{bmatrix}= \begin{bmatrix} 1&0&0\\ 2&1&0\\ 0&0&1 \end{bmatrix}\times \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix}\times \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&5&1 \end{bmatrix}\times \begin{bmatrix} 1&3&3\\ 0&-11&-3\\ 0&0&18 \end{bmatrix}\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ \begin{bmatrix} 1&3&3\\ 2&-5&3\\ 0&-55&3 \end{bmatrix}= \begin{bmatrix} 1&0&0\\ 2&1&0\\ 0&5&1 \end{bmatrix}\times \begin{bmatrix} 1&3&3\\ 0&-11&-3\\ 0&0&18 \end{bmatrix}\\ \quad\\ \stackrel{}{\downarrow}\\ \quad\\ A=L\times U A=E211×E311×E321×U1203555333=120010001×100010001×100015001×100311033181203555333=120015001×10031103318A=L×U

 
观察这个U可以发现
 

[ 1 0 0 2 1 0 0 5 1 ] \begin{bmatrix} 1&0&0\\ 2&1&0\\ 0&5&1 \end{bmatrix} 120015001

 
除了主对角线上的元素都是1以外
其他位置的元素
就对应着消元矩阵里的系数!
比如这个矩阵第二行第一列的元素 2
这个就对应着消元矩阵
 

E 21 = [ 1 0 0 − 2 1 0 0 0 1 ] E_{21}=\begin{bmatrix} 1&0&0\\ -2&1&0\\ 0&0&1 \end{bmatrix} E21=120010001

 
(这个消元矩阵代表着第二行减去两倍的第一行的操作)
再比如U的第三行第二列的元素 5
就对应着消元矩阵
 

E 32 = [ 1 0 0 0 1 0 0 − 5 1 ] E_{32}=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&-5&1 \end{bmatrix} E32=100015001

 
(这个消元矩阵代表着第三行减去五倍的第二行的操作)
ok!
说到这里
如果你足够聪明就能发现
我们其实可以不经过计算
就直接写出这个L
因为L中除了主对角线以外都是消元系数
所以我们只需要把每一步消元的系数填到对应的位置就可以得到L!
而且更重要的是
正是因为L中除了主对角线以外都是消元系数
所以我们可以直接从L中看到消元都经过了哪些步骤
不像E
首先运算就很麻烦
我们需要把每一步操作用到的的消元矩阵相乘
才能得到最终的那一个E
这运算量明显太大!
而且最后得到了E
你也看不出来啥
你看不出来这个消元步骤都是啥
你就光有一个费劲求出来的矩阵E
 
所以!!!
扯了这么多!!!
这就是我们为啥要用A=LU的形式!!!
它比起EA=U的形式更简洁更方便
而且我们能从中看出来消元都经过了哪些步骤
 

3 消元运算次数与方阵大小的关系

 
刚才我们一直在讲EA=U和A=LU
他们的主要区别是在面对更大的方阵时
运算量不同
A=LU要更简单一些
那么当你在无聊到一定程度的时候
有没有想过
不同大小的方阵进行消元的话
大概需要进行多少次运算呢?
我们先来假设有个100*100大小的方阵吧
 

[ a 1 , 1 ⋯ a 1 , 100 ⋯ ⋯ ⋯ a 100 , 1 ⋯ a 100 , 100 ] \begin{bmatrix} a_{1,1}&\cdots&a_{1,100}\\ \cdots&\cdots&\cdots\\ a_{100,1}&\cdots&a_{100,100} \end{bmatrix} a1,1a100,1a1,100a100,100

 
第一步是
把第一列上除了第一行以外的99个元素都消成0
一共99行
这99行里
每一行都要减去第一行对应的元素与消元系数的乘积
第一行有100个元素
也就是每一行都要进行100次减法
所以这一步一共进行了99*100次运算
 

[ a 1 , 1 ⋯ a 1 , 100 ⋯ ⋯ ⋯ 0 ⋯ a 100 , 100 ] \begin{bmatrix} a_{1,1}&\cdots&a_{1,100}\\ \cdots&\cdots&\cdots\\ 0&\cdots&a_{100,100} \end{bmatrix} a1,10a1,100a100,100

 
第二步是
把第二列上除了第一行和第二行以外的98个元素都消成0
一共98行
每一行都要减去第二行对应的元素
因为这些行的第一列的元素
已经在上一步中变成了0
所以每一行都无需再进行第一个元素的减法
每一行除去第一个元素后剩99个元素
也就是每一行都要进行99次减法
所以这一步一共进行了98*99次运算
 
 
以此类推
第n步需要进行(n-1)*n次运算
所以消元完这个100*100的方阵
一共需要进行
 

99 × 100 + 98 × 99 + ⋯ + 1 × 2 99\times 100+98\times99+\cdots+1\times2 99×100+98×99++1×2

 
为了便于计算
我们暂且将其近似为这样的形式
 

10 0 2 + 9 9 2 + ⋯ + 1 2 100^2+99^2+\cdots+1^2 1002+992++12

 
所以n*n的矩阵
消元所需要进行的运算次数大概为
 

1 2 + 2 2 + ⋯ + n 2 1^2+2^2+\cdots+n^2 12+22++n2

 
根据微积分的知识
这个求和大概是
(不用去看微积分 这里了解一下就可以)
 

1 2 + 2 2 + ⋯ + n 2 ≈ 1 3 × n 3 1^2+2^2+\cdots+n^2\approx\frac{1}{3}\times n^3 12+22++n231×n3

 
这就是我们要求的总操作次数
(其实不是很精确)
 
当我们进行实际的运算的时候
往往还要带上常数矩阵b
形成增广矩阵
然后再进行回代
(如果忘了回代的话参见第二节课笔记的2.2)
所以如果我们带上b形成增广矩阵
运算量会增加多少呢?
 

[ a 1 , 1 ⋯ a 1 , 100 ⋯ ⋯ ⋯ a 100 , 1 ⋯ a 100 , 100 b 1 ⋯ b 100 ] \left [ \begin{array}{c:c} \begin{matrix} a_{1,1}&\cdots&a_{1,100}\\ \cdots&\cdots&\cdots\\ a_{100,1}&\cdots&a_{100,100} \end{matrix}& \begin{matrix} b_{1}\\ \cdots\\ b_{100} \end{matrix} \end{array} \right ] a1,1a100,1a1,100a100,100b1b100

 
这里我就不详细讲了
大体的思路是
首先进行消元操作
对b一共进行
 

99 + 98 + 97 + ⋯ + 1 99+98+97+\cdots+1 99+98+97++1

 
次操作
放在n阶方阵中也就对应着
 

n + ( n − 1 ) + ⋯ + 1 = n 2 + n 2 2 n+(n-1)+\cdots+1=\frac{n}{2}+\frac{n^2}{2} n+(n1)++1=2n+2n2

 
为了方便计算
我们将其记作
 

n 2 2 \frac{n^2}{2} 2n2

 
这是消元时矩阵b所进行的运算次数
然后我们还需要进行回代
就像第二节笔记中2.2那里做的一样
其实回代本质上就是向上消元
所以进行的运算次数和刚才的消元是一样的
我就不展开写了
也是
 

n 2 2 \frac{n^2}{2} 2n2

 
所以加上b形成增广矩阵后
进行消元和回代
总共增加了
 

n 2 2 + n 2 2 = n 2 \frac{n^2}{2}+\frac{n^2}{2}=n^2 2n2+2n2=n2

 
次运算
 

4 置换与转置

 
如果忘了置换矩阵是啥
参考第二节笔记的4
 
现在假设我们有一个3*3的矩阵
那么我们可以列出它所有的置换矩阵
(包括单位矩阵)
 

[ 1 0 0 0 1 0 0 0 1 ] [ 0 1 0 0 0 1 1 0 0 ] [ 0 0 1 1 0 0 0 1 0 ] [ 0 1 0 1 0 0 0 0 1 ] [ 0 0 1 0 1 0 1 0 0 ] [ 1 0 0 0 0 1 0 1 0 ] \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \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}\\ \quad\\ \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} 100010001001100010010001100010100001001010100100001010

 
一共六个置换矩阵
这类似“群”的概念
(有兴趣可以了解一下)
在这六个置换矩阵中
任意两个置换矩阵相乘
结果依然在这六个置换矩阵里
任意一个置换矩阵求逆
结果也在这六个置换矩阵里
 
而且置换矩阵有个性质
就是置换矩阵的逆等于置换矩阵的转置
(我还没想过咋证明 但它确实是这样)
也就是
 

P − 1 = P T P^{-1}=P^T P1=PT

 
还有
可以思考一下
对于4*4的矩阵
存在多少种置换矩阵呢?
 
答案是24
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值