前言
MIT 18.06,之前看过,但是都忘了,所以这回快速的复习一下,记好一些的笔记,要做题!
重振小镇做题家之荣耀,我辈义不容辞!
https://mitmath.github.io/1806/

贴一张老爷子的照片,感谢!
1. 方程组的集合解释
线性代数:求解方程组
{2x−y=0−x+2y=3→[2−1−12][xy]=[03]→AX=B
行图像 (Row picture)

两条直线的交点就是这个方程组的解
列图像 (Column picture)
[2−1−12][xy]=[03]→x[2−1]+y[−12]=[03]→Ax=b
这个方程的目的就是找到合适的x和y使得前两个向量组合可以得到后一个向量 [也就是找到正确的线性组合],这里是列向量的线性组合

新的问题:对于任意的b(右侧向量),是否都能求解Ax=b
也就是:列的线性组合能否覆盖整个空间?
矩阵
方程的矩阵形式:
Ax=b
矩阵A乘以向量x得到右侧的向量b
矩阵和向量的乘法的两种解:
[2153][12]=1[21]+2[53]=[127]
[25][12]=12
2. 消元法求解线性方程组
消元得到上三角矩阵
⎩⎪⎪⎨⎪⎪⎧x+3x+2y+8y+4y+zzz=2=12=2→Ax=bA=⎣⎢⎡130284111⎦⎥⎤
按顺序进行消元,对角线上的元素称为主元(pivot),因为需要使用对角线上的元素迭代的消去下面等式中的对应元素。但是0不能作为主元
A=⎣⎢⎡130284111⎦⎥⎤→(2,1)⎣⎢⎡1002241−21⎦⎥⎤→(3,2)⎣⎢⎡1002201−25⎦⎥⎤=U
箭头上方表示想要消去的元素的位置
这里消元的目的就是为了从A得到上三角矩阵U.
消元法失效
如果主元是0的时候,需要进行行交换,让非0元素占据主元的位置。
如果行交换无法使主元是非0元素,那么这个方程就没有解,这个矩阵也就是不可逆的。
回代
当使用消元法从A得到U之后,就需要把右侧向量b带入,引入b作为新的一列向量加入到矩阵中,也就是增广矩阵
⎣⎢⎡1302841112122⎦⎥⎤
因为对左侧矩阵进行变化的同时,右侧向量也会跟着做同样的变化,所以按照上面的消元法:
⎣⎢⎡1302841112122⎦⎥⎤→(2,1)⎣⎢⎡1002241−21262⎦⎥⎤→(3,2)⎣⎢⎡1002201−2526−10⎦⎥⎤→c=⎣⎢⎡26−10⎦⎥⎤
所以最终方程的形式是这样的:
⎩⎪⎪⎨⎪⎪⎧x+2y+2y−z2z5z=2=6=−10→Ux=c
接下来进行回代求解:z=−2;y=1;x=2
矩阵形式描述消元法
使用行进行计算
[127]⎣⎢⎡212333445⎦⎥⎤=[234]×1+…+[235]×7=[183047]
左行右列,左乘行变换,右乘列变换
- 列向量是乘在矩阵的右边,对矩阵的每一列进行线性合并,得到的是列向量
- 行向量是乘在矩阵的左边,对矩阵的每一行进行线性合并,得到的是行向量
消元矩阵
⎣⎢⎡130284111⎦⎥⎤→(2,1)⎣⎢⎡1002241−21⎦⎥⎤⇒⎣⎢⎡1−30010001⎦⎥⎤⎣⎢⎡130284111⎦⎥⎤=⎣⎢⎡1002241−21⎦⎥⎤
原来的消元法就变成了一个特定的矩阵:消元矩阵
E21=⎣⎢⎡1−30010001⎦⎥⎤
他的每一行都是对矩阵的行变换,同时也被称为初等矩阵E,因为是对(2,1)位置上进行消元,所以可以写成E21
所以,整个过程使用矩阵形式表达:
E32(E21A)=U
矩阵乘法满足结合律,所以可以将括号移动,变成一个矩阵,来实现所有的消元任务。但是矩阵乘法不满足交换律,不可轻易调换他们的顺序
(E32E21)A=U
置换矩阵 (pemutation)
对行进行调换:
[0110][acbd]=[cadb]
其中,P=[0110]就是置换矩阵,将两行进行位置的调换
同理,如果想对列进行置换,那么需要将矩阵进行右乘,左行右列
可以看到,因为想要消除置换矩阵带来的影响,那就是把它再置换回去,那么置换矩阵的逆就是置换矩阵的转置
P−1=PT
分清转置(T,是一个操作) 和 置换(P,是一个矩阵),两个不一样的东西
矩阵的逆
⎣⎢⎡1−30010001⎦⎥⎤⎣⎢⎡130284111⎦⎥⎤=⎣⎢⎡1002241−21⎦⎥⎤
初等矩阵E21=⎣⎢⎡1−30010001⎦⎥⎤,从行2中减去了三倍的行1,现在我想回做这一步,也就是找到某一个矩阵取消这次消元(左乘),即两者相成为单位阵I:
E21−1E21=I
那么对于E21来说,他的含义相当于是从行2减去了三倍的行1,那么想消去这个行变换的影响,就应该让行2加回来三倍的行1,所以
E21−1=⎣⎢⎡130010001⎦⎥⎤
3. 矩阵的乘法和逆
矩阵乘法
矩阵乘法:AB=C
点乘法
其中矩阵C的3行4列的元素C34=Arow−3⋅Bcol−4=∑k=1na3kbk4
列向量法
Am×nBn×p=Cm×p
可以将乘法考虑成一个矩阵右乘以一个列向量,得到一个列向量。也就是矩阵A右乘矩阵B中的每一个列向量
那么,矩阵C的各列是矩阵A中各列的线性组合
行向量法
与列向量法类似,可以将乘法考虑成矩阵B左乘矩阵A中的行向量,
矩阵C的各行是矩阵B中各行的线性组合
列 X 行
常规方法中,是A的行×B的列,得到是相对应位置的标量
但是这里可以是A的列×B的行
AB是A的各列×B的各行的矩阵的和
分块乘法
将矩阵进行分块,对每一个分块进行乘法
[A1A3A2A4][B1B3B2B4]=[A1B1+A2B3A3B1+A4B3A1B2+A2B4A3B2+A+4B4]
矩阵的逆 (Inverse)
只考虑方阵(square matrix) A
逆是否存在
如果存在,可以成立:A−1A=I,I为单位阵
其中,这里的是左逆,也可以有右逆,表达为:AA−1=I
对于方阵,左逆=右逆,即A−1A=I=AA−1
如果逆存在,那么矩阵A是可逆的,也就是非奇异的(non-singular)
奇异矩阵
如果存在非0向量x使得Ax=0,那么这个矩阵A是奇异的
也就是其实在矩阵A中的列向量,最少有一对向量是共平面的
可逆矩阵
求矩阵的逆:
[1237][abcd]=[1001]→AA−1=I
Gauss-Jordan:同时处理两个方程组
对增广矩阵([AI])进行消元,得到E[A∣I]=[EA∣EI]=[I∣E],那么E就是A−1
[12371001]→[10311−201]→[10017−2−31]
矩阵乘积的逆
A和B都是可逆矩阵,那么他们乘积的逆是(AB)−1=B−1A−1
逆和转置
对于单个方阵,转置和逆可互换操作
(A−1)T=(AT)−1
4. 矩阵A的LU分解
考虑三维矩阵,对A进行消元得到U,即
E32E31E21A=U
可以写成A=LU形式,即:
A=E21−1E31−1E32−1U
其中U表示的上三角矩阵,L表示的下三角矩阵
{A=LUEA=U
下面讨论这两种形式,为什么要变成A=LU的形式
对于A=LU如果不存在行互换,消元乘数可以直接写进L里面
举个例子
E32=⎣⎢⎡10001−5001⎦⎥⎤E31=IE21=⎣⎢⎡1−20010001⎦⎥⎤
对矩阵进行消元,进行上述消元变化:E21和E32
E=E32E31E21=⎣⎢⎡1−21001−5001⎦⎥⎤
这种形式下可以看到行1通过行2影响到了行3,在(1,3)位置出现了10
L=E21−1E32−1=⎣⎢⎡120010001⎦⎥⎤⎣⎢⎡100015001⎦⎥⎤=⎣⎢⎡120015001⎦⎥⎤
在这种形势下,2和5不会冲突产生10,也就是消元乘数可以直接写到L里
5. 置换、转置与向量空间
置换 (Permutation, P)
置换矩阵是行重新排列了的单位矩阵,是用来完成行互换的矩阵
对于需要进行置换操作的消元,A=LU就会变成了PA=LU
所有的置换矩阵都是可逆的,并且PT=P−1
对于n维方阵,共有n!个置换矩阵
转置 (Transpose)
(AT)ij=Aji
对称矩阵 (symmetric)
对称矩阵:转置变换以后,没有变化的矩阵 AT=A
所有的矩阵R转置乘以R都是对称的
⎣⎢⎡124331⎦⎥⎤[132341]=⎣⎢⎡1011711131171117⎦⎥⎤
证明:
(RTR)T=RTR
向量空间
空间:满足加法和数乘(即可以进行线性运算),比如: R2,表示所有的二维实向量。(二维:即向量用两个实数表述)
[32],[00],[πe],⋯
Rn包含所有的n维实向量
子空间:需要满足线性运算,但同时又是空间的子集,比如R2的子空间:
- R2本身
- 所有经过原点的直线
- (0,0)点
列空间
从矩阵中构造一个子空间:
A=⎣⎢⎡124331⎦⎥⎤
矩阵A的所有列都在R3空间中,他的列的所有线性组合都成一个子空间:列空间,记作C(A)
6. 列空间和零空间
向量空间:一些向量组成的空间,对加法和数乘运算封闭
有子空间S和T,他们的交集S∩T仍是子空间
列空间
A=⎣⎢⎢⎢⎡123411112345⎦⎥⎥⎥⎤
矩阵A的列看做向量,那么矩阵A的列空间是R4的子空间,记作C(A)
C(A)由这三个列向量线性组合的所有向量构成,因为矩阵A的三个列向量不是线性无关的,所以C(A)是R4中的二维子空间
下面开始讨论这个子空间有“多大”,并将它和线性方程组Ax=b联系起来,即
Ax=b是否对任意的b都有解,满足什么条件的b可以满足Ax=b
Ax=b有解当且仅当b∈C(A)
零空间
A的零空间包含Ax=0中所有的解x=⎣⎢⎡x1x2x3⎦⎥⎤,对于矩阵A,他的零空间属于R3
Ax=0的特解:
⎣⎢⎡000⎦⎥⎤,⎣⎢⎡11−1⎦⎥⎤
所以A的零空间包含了c⎣⎢⎡11−1⎦⎥⎤
所以A的零空间就是R3中的一条直线
7. 求解零空间Ax=0
之前讲过了列空间和零空间的基本概念,现在主要关注的是如何去求解列空间和零空间
A=⎣⎢⎡1232462682810⎦⎥⎤
下面通过消元来求解Ax=0,消元并不会改变Ax=0的解
A=⎣⎢⎡1232462682810⎦⎥⎤→⎣⎢⎡100200222244⎦⎥⎤→⎣⎢⎡100200220240⎦⎥⎤=U
最终得到了这种矩阵的阶梯形式(echelon form),非零元素以一种阶梯形式出现。其中红色表示的就是矩阵的主元(pivots)
矩阵主元的个数称为该矩阵的秩(rank)
现在从Ax=0变换到了Ux=0,他的解没有变,也就是零空间没有变
所以下面通过U来求解A的零空间
主元所在列称为主列(pivot column),也就是矩阵中的黄色部分;其他的列称为自由列(free columns)
自由列表示可以任意、自由的分配数值;列2和列4的乘数是任意的,即可以任意的分配x2和x4。当x2和x4固定下来,x1和x3随之固定
所以需要任意假定一个x2和x4数值,但是因为零向量肯定是零空间中的一个解,所以把自由列所对应的元素全假定成0没有意义,这里一般是采用one-hot想法,逐一假设成1来进行求解(这里的解应该是零空间的特解)
x2=1,x4=0⇒⎣⎢⎢⎢⎡−2100⎦⎥⎥⎥⎤;x2=0,x4=1⇒⎣⎢⎢⎢⎡20−21⎦⎥⎥⎥⎤
所以,Ax=0的解就是
c1⎣⎢⎢⎢⎡20−21⎦⎥⎥⎥⎤+c2⎣⎢⎢⎢⎡−2100⎦⎥⎥⎥⎤
如果矩阵Am×n的秩r=2,表示只有r个方程起作用。他的自由列、自由变量就有n−r个,可以采用one-hot形式进行取值,得到特解
可以看到,使用列向量来理解整个矩阵、方程组的求解,理解将会变得非常的顺畅
下面继续对行阶梯形式的U进行再一次的简化,得到的简化行阶梯形式记为R (Reduced row echelon form)。而简化行阶梯形式主元上下全是0,主元为1
U=⎣⎢⎡100200220240⎦⎥⎤→⎣⎢⎡100200010−220⎦⎥⎤=R
简化行阶梯形式R中包含了这些信息:
R=⎣⎢⎡100200010−220⎦⎥⎤⟶col2⟺col3⎣⎢⎡100010200-220⎦⎥⎤c1c3c2c4→[IF00]
其中Ir×r,自由列Fr×n−r
在经过列变换后,我们再求Rx=0的解
构造零空间矩阵:他的各列由特解组成,记为N,即满足RN=0
那么通过上面列变换之后的简化行阶梯形式,我们可以很容易得到
N=[−FI]=⎣⎢⎢⎢⎡−20102−201⎦⎥⎥⎥⎤
再把相应的行2和行3调换回去就可以了,就得到了之前得到的特解
8. 求解Ax=b
有了前面的铺垫,现在正是进入到求解线性方程组。
线性代数的根本目的就是为了求解线性方程组
A=⎣⎢⎡1232462682810⎦⎥⎤⇒⎩⎪⎪⎨⎪⎪⎧x1+2x1+3x1+2x2+4x2+6x2+2x3+6x3+8x3+2x4=b18x4=b210x4=b3
考虑Ax=b的增广矩阵[A∣b]:
⎣⎢⎡1232462682810b1b2b3⎦⎥⎤
同上进行消元
⎣⎢⎡100200220240b1b2−2b1b3−b2−b1⎦⎥⎤
所以有解的条件就是b3−b2−b1=0,因为第三个方程左边全是0
可解性
Ax=b有解,当且仅当b属于A的列空间时
由上面的Ax=b的求解过程可知,换一种表述为:
如果A各行的线性组合得到零行,那么b中元素的同样组合必然也是零,就像b3−b2−b1
求Ax=b的所有解
第一步只求一个特定的解,即特解(particular solution)
其中一个方法就是,把所有的自由变量设为0,求出Ax=b的主变量
按照上面进行举例: x2=0,x4=0可以得到
{x1+2x3=12x3=3
可得:x1=−2,x3=23,特解向量为xp=⎣⎢⎢⎢⎡−20230⎦⎥⎥⎥⎤
第二步,求解A的零空间xn
最终的解就是特解加上零空间中的任意向量x=xp+xn
因为Axp=b,Axn=0
使用秩讨论Ax=b的求解
对于m×n的矩阵Am×n,他的秩是r (r≤m,r≤n)
列满秩 (r=n<m)
每一列都有主元,没有自由变量。
这个时候A的零空间只有零向量N(A)={0}
如果Ax=b有解,只存在一个解,就是特解,即x=xp
行满秩 (r=m<n)
这种情况下,将会得到m个主元,这个时候通过消元法我们可知不会出现零行,所以对于任意的b,Ax=b都有解
自由变量为n−r个
举个例子,有点不好理解
A=[13216151]
矩阵的秩是2,得到的简化阶梯型:
R=[1001____]
R中没有零行,左边是单位阵,右边就是自由变量组成的矩阵F,可以任意设定
满秩 (r=m=n)
这种矩阵肯定是方阵,他是可逆矩阵,简化阶梯型R=I,零空间只有0向量,Ax=b有且只有唯一解
矩阵的秩决定了方程组解的数目
9. 线性相关、向量空间的基和维数
“向量组”是线性相关、无关;“向量组”生成一个空间;“向量组”作为一组基
他们都是针对的向量组进行讨论,而不是矩阵
线性无关
什么条件下,向量x1,x2,⋯,xn是线性无关的?
如果不存在结果为零向量的组合,则向量组线性无关(除非系数全0)
当向量x1,x2,⋯,xn是矩阵A的列向量,如果矩阵A的零空间只存在零空间,那么这个向量组线性无关,即这个矩阵A的秩r=n
向量空间
设向量组v1,v2,⋯,vl生成(span)了一个向量空间,表示这个空间包含了这些向量的所有线性组合
向量空间的基:指一系列的向量v1,v2,⋯,vd,他们线性无关、可以生成整个向量空间
对于给定空间,R2,Rn,…,空间中基的个数是相等的,即空间的维度
A=⎣⎢⎡111212323111⎦⎥⎤
他的列空间C(A),前两列向量就是这个列空间的基,那么这个列空间的维数就是矩阵A的秩。
(注意,这里说的不是矩阵A的维度,而是矩阵A的列空间的维度!)
零空间表达是这些向量组怎么线性相关的,零空间的维度是dimN(A)=n−r
10. 矩阵的四个基本子空间
对于矩阵Am×n
列空间C(A)∈Rm
零空间N(A)∈Rn
行空间C(AT)∈Rn: 矩阵A转置的列的所有线性组合
因为一般不太喜欢处理行向量,所以进行转置之后处理列向量。爱的魔力转圈圈~~~
- 左零空间N(AT)∈Rm
关心这些空间的一组基,以及他们的维数
子空间 | 维度 | 一组基 |
---|
列空间 | 矩阵A的秩rank(A) | 矩阵A的r个主列 (注意这里是矩阵A,不是U或是R) |
行空间 | 矩阵A的秩rank(A) | 行最简矩阵R的前r行 |
零空间 | n−r | Ax=0得到的特殊解 (每个自由变量都可以得到一个特殊解) |
左零空间 | m−r | 对A进行初等行变换到R的矩阵E的最后m−r行 |
关于行空间的一组基:
A=⎣⎢⎡111212323111⎦⎥⎤→⎣⎢⎡100010110100⎦⎥⎤
因为在化成最简行阶梯形式R的过程中经历了行变化,此时C(A)=C(R),但是他们的行空间却是相等的,所以行空间的一组基就是最简行阶梯形式R的前r行
关于左零空间:
ATy=0,y就在A转置矩阵的零空间中
对两边进行转置,可得:yTA=0,这个时候yT对A进行左乘,所以得名左零空间
使用高斯-若当法(就是之前求逆的那个方法),来求左零空间
E[Am×n∣Im×m]→[Rm×n∣Em×m]
因为最简行阶梯矩阵R的形式是酱紫的:
Em×mAm×n=Rm×n=[IF00]
R的下面m−r行都是0,所以对应于Em×m的最后m−r行就是左零空间的基
左乘是行变换(左行右列),Em×m最后几行,左乘A得到的行都是0,所以是左零空间的基
11. 矩阵空间和秩1矩阵
矩阵空间
把矩阵当做向量,满足加法和数乘
这里讨论所有的3x3矩阵组成的空间M
对于M,他的一组基是
⎣⎢⎡100000000⎦⎥⎤⎣⎢⎡000100000⎦⎥⎤⋯⎣⎢⎡000000001⎦⎥⎤
所以M的维度是9,(维度的定义即需要至少九组线性无关的基来生成整个空间)
M的子空间:所有的上三角矩阵、对称矩阵、对角矩阵,….
| 维度 | |
---|
对称矩阵S | 6 | 对称矩阵不是对角矩阵 |
上三角矩阵U | 6 | |
对角矩阵D | 3 | |
秩1矩阵
所有的秩1矩阵都可以写成䘝列向量乘以一个行向量的形式,即A=uvT
A=[1248510]=[12][145]
通过秩1矩阵,可以搭建出来任何矩阵,比如秩4矩阵通过4个秩1矩阵进行线性组合就可以搭建出来
举个例子:
S表示所有4维空间中的向量v=⎣⎢⎢⎢⎡v1v2v3v4⎦⎥⎥⎥⎤∈R4,并且满足v1+v2+v3+v4=0
首先S是R4中的一个子空间,因为向量v满足加法和数乘的封闭
其次,S空间的基向量和维数:
令Av=0,可得到一个符合条件的矩阵A=[1111],那么S=N(A),S其实就是A的零空间,所以他的维数是3
同理,S的一组基是
⎣⎢⎢⎢⎡−1100⎦⎥⎥⎥⎤,⎣⎢⎢⎢⎡−1010⎦⎥⎥⎥⎤,⎣⎢⎢⎢⎡−1001⎦⎥⎥⎥⎤
矩阵A的列空间是R1,矩阵A的转置零空间N(AT)是零维的,这个子空间只有一个空集,没有基
12. 线性代数的应用:图和网络
14. 正交向量与正交子空间

正交向量(orthogonal vectors): 在n为空间中,这些向量的夹角是90° (垂直的另一种说法)。即 xTy=0
简单的一种证明(从直角公式开始推):
∣∣x∣∣2+∣∣y∣∣2=∣∣x+y∣∣2
xTx+yTy=(x+y)T(x+y)=xTx+yTy+2xTy
正交子空间(orthogonal subspace): 子空间S和子空间T正交,表示S中的每个向量都和T中的每个向量正交
如何求一个误解方程组的解,即当 Ax=b 无解的时候,如何去解这个方程组(特别是m>n情况下):最小二乘法
对矩阵Am×n来说,一个特别好的矩阵: ATA
- ATA是n×n的方阵
- ATA是对称阵
- N(ATA)=N(A), rank(ATA)=rank(A),所以ATA可逆当且仅当A的各列线性无关,零空间只有一个零向量
Ax=ATb 无解时, 可以通过 ATAx^=ATb 求最优解, 但是 ATAx^=ATb 和 Ax=ATb 的解是不一样的,所以加个小帽子以区分
15. 子空间投影
一维空间

a 是一维空间,想要了解到在空间a上离向量b最近的一点
a 上离 b 最近的一点是 p,p 和 b 正交,p 和 b 之间的误差是 e=b−p
投影 p 在空间 a 上,是 a 的 x 倍 (x是一个标量,而a和b是向量),所以关键就是怎么求 x
aT(b−xa)=0
∴x=aTaaTb
最终,b 在 a 上的 投影 就是
p=aaTaaTb
由上式可知,投影是通过一个 投影矩阵(projection matrix) P 完成的:
p=Pb,Pn×n=aTaaaT
下面主要来分析投影矩阵的一些性质:
- 投影矩阵的列空间 C(P) 是通过 a 的一条线,rank(P)=1
- 这个矩阵是对称的 PT=P
- 投影矩阵的平方还是自己 P2=P, (相当于投影两次)
高维空间
为什么需要投影?
Ax=b可能会误解,只能求解最接近这个解的解,所以通过投影来微调b,即 Ax^=p, p 是 b 在列空间上的投影
Ax^=p=A(ATA)−1ATb
∴ATAx^=ATb
现在有一个向量 b 想要投影到 A 的列空间上,得到投影向量 p
令 A 的列空间中两个基向量为 a1,a2
那么投影向量的表达为: p=x1^a1+x2^a2=Ax^
同一维中的推理,需要通过垂直来辅助:
e=(b−p)=(b−Ax^)⊥C(A)
∴{a1T(b−Ax^)=0a2T(b−Ax^)=0
∴AT(b−Ax^)=0
e 在 N(AT) 的空间中,即 e⊥C(A),殊途同归。最终希望得到的 x^ 如下表达:
ATAx^=ATb
下面就是最重要的投影三个公式:
系数 x^:
x^=(ATA)−1ATb
投影 p:
p=Ax^=A(ATA)−1ATb
投影矩阵 P:
P=A(ATA)−1AT
如果 A 是一个可逆的方阵,那么他的列空间是整个n维空间,那么 P=I,相当于我投我自己,就没有用,所以上面是唯一一种形式
同一维情况一样
- 这个矩阵是对称的 PT=P
- 投影矩阵的平方还是自己 P2=P
16. 投影矩阵和最小二乘
投影矩阵
如果 b 在列空间 C(A) 中,Pb=b
如果 b 垂直于列空间 C(A) 中,Pb=0

在几何上表示:列空间垂直于左零空间。对于一个典型的b,投影到列空间得到p=Pb
投影部分和误差部分加起来其实就是向量 b ,即 p+e=b
而误差部分 e=b−p=b−Pb=b(I−P) 其实相当于 b 在左零空间上的投影
因为投影不管投影多少次都不会在变,所以平方的性质仍然存在 (I−P)2=(I−P)
最小二乘法
举个例子:(1,1);(2,2);(3,2) 拟合出来一条直线
设最优的直线是 b=C+Dt,需要确定 C 和 D 的参数。
带入上面三个点的参数,得到方程:
⎩⎪⎪⎨⎪⎪⎧C+D=1C+2D=2C+3D=2
⎣⎢⎡111123⎦⎥⎤[CD]=⎣⎢⎡123⎦⎥⎤→Ax=b
这个方程是无解的,但是他可以有最优解,最优意味着最小化他的误差
min∣∣e∣∣2→min∣∣Ax−b∣∣2=min(e12+e22+e32)
min[(C+D−1)2+(C+2D−2)2+(c+3D−2)2]
所以可以通过对C和D求偏导进行求最优解
但是使用投影的方法可以利用线性方程组很快
[111213]⎣⎢⎡111123122⎦⎥⎤=[36614511]
这里还有一个小技巧,就是求解ATAx=ATb的时候可以直接对AT[A∣b]进行计算
{3C+6D=56C+14D=11
下面对于最小二乘法只有一个难题,就是需要证明A是线性无关的时候,ATA是可逆的
即ATAx=0只有一个零解
两边都点乘xT,得到 xTATAx=0
(Ax)T(Ax)=0⇒Ax=0
xTx 转置乘本身相当于求x的长度的平方
因为A线性无关,所以Ax=0只有一个零解
17. 正交基和正交矩阵
标准正交基
一组标准正交基(orthonormal vector): q1,q2,⋯,qn,任意的q都和其他q正交,并且因为是“标准”的,所以他们的长度是1,即满足下面的条件
qiTqj={1,if i=j0,if i!=j
上面的不等号渲染有问题,所以使用!=代替了
标准正交矩阵
标准正交矩阵(方阵): Q=[q1,q2,⋯,qn]
下面研究一下标准正交矩阵的性质:
QTQ=⎣⎢⎢⎢⎢⎡q1Tq2T⋮qnT⎦⎥⎥⎥⎥⎤[q1q2⋮qn]=⎣⎢⎢⎢⎢⎡10⋮001⋮0⋯⋯⋱⋯00⋮1⎦⎥⎥⎥⎥⎤=I
即:QT=Q−1,但是Q必须是方阵
对于投影矩阵P,他是 PT=P
对标准正交基举个例子:
21⎣⎢⎢⎢⎡11111−11−111−1−11−1−11⎦⎥⎥⎥⎤
举几个标准正交基的好处:
投影
Q是标准正交基,现在要将向量投影到他的列空间中,投影矩阵:
P=Q(QTQ)−1QT=QQT
当Q是方阵时,Q的列空间就是整个空间,所以投影矩阵是I;如果不是方阵,那么结果就是上述这个
最小二乘法
ATAx^=ATb→QTQx^=QTb→x^=QTb
线性无关向量标准正交化
格拉姆-施密特正交化法 (Gram-Schmidt)
其实就是逐个向量减去之前向量的分量(即之前向量在这个向量空间上的投影)
对于两个向量 a 和 b,标准正交化的向量 q1 和 q2
a’=a;b’=b−Pa’=b−a’Ta’a’Tba’
q1=∣∣a’∣∣a’;q2=∣∣b’∣∣b’
下面验证一下分量a’和b’正交
a’Tb’=a’T(b−a’Ta’a’Tba’)=0
所有,以后对于列空间的基,可以有了性质更好的描述,就是标准正交基
重新用矩阵的角度审视消元法:
A=LU→A=QTR=QR
[ab]=[q1q2][a1Tq1a1Tq2⋯⋯]
因为 R 与 A 的列空间一致,所以可以表达为每个分量
A=[abc]=[q1q2q3]⎣⎢⎢⎢⎢⎢⎡q1Taq1Tbq2Tbq1Tcq2Tcq3Tc⎦⎥⎥⎥⎥⎥⎤=QR
这个其实就相当于了格拉姆-施密特的正交过程了
而 R 为什么是上三角矩阵,因为每一个后面的 q 都要与前面的列向量正交
18. 行列式及其性质
接下来把重点放到了方阵上,行列式的目的是为了矩阵的特征值
矩阵的 行列式(determinant) 记作 detA 或者 ∣A∣
行列式的三个性质定义了行列式是个什么东西:
- detI=1,使得单位矩阵的行列式为1,(定义基准)
- 交换行,行列式的值的符号会相反,(现在知道了置换矩阵的行列式)
- 行列式是一个线性函数,对每一行都成立
∣∣∣∣∣tactbd∣∣∣∣∣=t∣∣∣∣∣acbd∣∣∣∣∣
∣∣∣∣∣a+a’cb+b’d∣∣∣∣∣=∣∣∣∣∣acbd∣∣∣∣∣+∣∣∣∣∣a’cb’d∣∣∣∣∣
由上面三个性质可以继续推导出下面的性质来:
两行相等使得行列式等于0 (可以由性质2得到)
从行k减去行1的i倍,行列式不变(性质3+性质2)
若有一行为0,那么行列式就是0 (性质3,t=0)
上三角矩阵的行列式等于对角线元素的乘积
detU=∣∣∣∣∣∣∣∣∣∣∣d10⋯d2⋯⋯⋱⋯⋯⋮dn∣∣∣∣∣∣∣∣∣∣∣=d1d2⋯dn
因为上三角矩阵U和原矩阵A之间只经过了性质6的线性变换,所以原矩阵A的行列式就等于上三角矩阵U的行列式
如果其中一个对角线元素为0,那么将得到全0行,行列式为0
detA=0 当且仅当 A 是奇异矩阵,(不可逆)
两个方阵A和B的矩阵乘积的行列式等于他们行列式的乘积 detAB=detA×detB。所以可以推导出下面:
detA−1=detA1
这个其实也说明,如果没有逆,detA=0,逆就没有意义
detA2=(detA)2
det2A=det2IdetA=2ndetA
矩阵的行列式等于矩阵转置的行列式
detAT=detA
从这里其实就可以发现,对于行列式来说,行和列并没有什么区别,都是进行行变换/列变换要改变符号的
简单的证明一下:要证 ∣AT∣=∣A∣→∣UTLT∣=∣LU∣
L是一个下三角阵,并且对角线上全是1,所以∣L∣=1,同理,转置后的L对角线上也全是1,所以 ∣UT∣=∣U∣
19. 行列式公式和代数余子式
有了以上的性质,特别是性质7之后,可以给探究一下行列式的定义,即通过消元法来求行列式的值
首先对于2阶矩阵:
[acbd]→[a0bd−acb]→det=a(d−acb)=ad−bc
对于3阶矩阵的行列式:
使用性质三,对一个三阶行列式进行分解:因为如果其中一行/列全是0则行列式等于0,所以分解结果得到的是6个有值的行列式
∣∣∣∣∣∣∣∣a11a21a31a12a22a32a13a23a33∣∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∣a11000a22000a33∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣a110000a330a230∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣0a210a120000a33∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣00a31a12000a230∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣0a21000a32a1300∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣00a310a220a1300∣∣∣∣∣∣∣∣=a11a22a33−a11a23a32−a12a21a33+a12a23a32+a13a21a32−a13a22a31
而在这里其实就能发现:
对于n阶矩阵(n×n),他的行列式表达式中有 n! 项,因为可以看出,如果其中一行/列全是0则行列式等于0,那么就是排列问题了,第一行有n中选择,第二行有n−1种可能,以此类推
所以n阶行列式的形式应该是这种形式的:
detA=∑±a1αa2β⋯anγ
aij表达了i行j列的元素,那么α,β,⋯,γ其实就是(1,2,⋯,n)的一种排列
而前面的正负号其实取决于(α,β,⋯,γ)→(1,2,⋯,n)这两种排列需要进行变换的奇偶次数
将上面的进行凝练,通过代数余子式来说明行列式的求解:
代数余子式 (cofactors)
首先还是考虑简单的三阶情况:
det=a11(a22a33−a23a32)+a12(⋯)+a13(⋯)
可以将行列式表达换成上面的这种形式,选定第一行中的一个数,然后由剩余因子组成的表达式就是代数余子式,即以a11括号内的(a22a33−a23a32)就是a11的代数余子式
Cofactor(aij)=(−1)ijdet(n−1matrix withrowicoljearsed)
通过代数余子式,就可以进行扩展到n阶行列式的计算:
det A=i∑na1iC1i
20. 行列式的应用:逆矩阵、克拉默法则、体积
行列式引出的目的就是为了求解特征值,但是这不妨碍他还有一些其他的应用
逆矩阵
因为行列式关于矩阵逆的独特性质 detA−1=detA1
首先还是考虑 2×2 的逆矩阵情况:
[acbd]−1=ad−bc1[d−cba]
可以看到,归一化的 ad−bc1=det(A)
右边的矩阵就是各个位置对应的代数余子式,即
A−1=det(A)1CT
其中,C是由代数余子式构成的矩阵,CT一般称为伴随矩阵
下面简单证明一下:
A−1=det(A)1CT⇒ACT=det(A)IA=⎣⎢⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎥⎤CT=⎣⎢⎢⎢⎢⎡c11c12⋮c1nc21c22⋮c2n⋯⋯⋱⋯cn1cn2⋮cnn⎦⎥⎥⎥⎥⎤
ACT在对角线上的每一个值正好都是行列式的代数余子式表达,如果不在对角线,把他还原成对应矩阵,会有相同的两行,即奇异矩阵,det=0
ACT=⎣⎢⎢⎢⎢⎢⎡detA0detA⋱0detA⎦⎥⎥⎥⎥⎥⎤=det(A)⋅I
克拉默法则
提供一种代数形式的表达,但不适合计算
求解:Ax=b
x=A−1b=detA1CTb
其中,xj=det(A)det(Bj),Bj是A的第j列替换成b
举个例子:
B1=⎣⎢⎢⎢⎢⎡b1b2⋮bna12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎥⎤
即矩阵A的第j列用b来代替⇒克拉默法则
计算体积
还是先从简单的来说,比如 3×3的情况:
有3个向量:(a11,a12,a13);(a21,a22,a23);(a31,a32,a33)他们在空间中组成了一个“箱子”
这个箱子的体积就等于这几个向量构成的矩阵的行列式的绝对值,即 ∣detA∣
首先考虑最基本的情况:对于标准正交矩阵 Q,证明他的“箱子”的体积是1
QTQ=I→detQTdetQ=detI=1→(detQ)2=1→detQ=1
在这个基础上,拓展成长方块也同样成立,接下来就是证明对于任意角度的向量都可以 [通过行列式的线性性质进行计算,也就是把平行四边形拆成一个长方形进行计算]
21. 特征值和特征向量
特征值和特征向量还是针对方阵而言的
给定矩阵A,作用在向量x,(A就像是一个函数对x进行变换然后得到了一个新的向量),得到的新的向量Ax与原向量x平行,即
Ax=λx
其中,λ是一个系数,称为特征值(eigen value),x是特征向量(eigen vector)
首先还是来看两个例子
投影矩阵的特征值和特征向量
当x在平面上时(即投影矩阵P=A(ATA)−1AT所要投影到的A的列空间上,即C(A)),Px=x,所以特征值为λ=1
当x垂直于平面是,Px=0,所以特征值为λ=0
所以我们可以知道投影矩阵P的两个特征值,分别是λ=0,1
置换矩阵的特征值和特征向量
这里使用A=[0110]来表示置换向量,避免与上面的投影矩阵P混淆
他的一组特征向量和特征值可以是x=[11],λ=1;另一组可以是x=[−11],λ=−1
如何求解特征值和特征向量,即Ax=λx
将上式重写成: (A−λI)x=0,即如果存在x使得这个式子成立,那么A进行λI的偏移后必须是奇异的
奇异矩阵的行列式为0,所以 det(A−λI)=0,这个方程被称为特征方程/特征值方程
举个例子:A=∣∣∣∣∣∣3113∣∣∣∣∣∣
∴det(A−λI)=∣∣∣∣∣∣3−λ113−λ∣∣∣∣∣∣=(3−λ)2−1=λ2−6λ+8
这里的 6 是矩阵A的迹, 8 是矩阵A的行列式值,对于二阶行列式有这个性质
∴ 有两个特征值:λ1=4 λ2=2
λ1=4时,(A−λI)=[−111−1], x1=[11]
λ2=2时,(A−λI)=[1111], x2=[−11]
还有另一个例子:A=∣∣∣∣∣∣1001∣∣∣∣∣∣
得到他的两组特征值和特征向量是:
λ1=1时, x1=[11]
λ2=−1时, x2=[−11]
从这两个例子看出来,第一个例子的矩阵成为A1,第二个例子的矩阵称为A2,
A1=A2+3I。对于特征值来说其实就是相应的+3,对于特征向量来说其实不变。
所以特征值和特征向量反应了一个矩阵的另一个属性。
特征值\特征向量比较糟糕的情况
1. 出现复数
记旋转矩阵Q为使矩阵中每个向量旋转90°的矩阵,二维即:
Q=[cos90∘sin90∘−sin90∘cos90∘]=[01−10]
通过刚才可以知道:
{trace=0+0=λ1+λ2det=1=λ1λ2
λ1和λ2没有实数解,有复数解:λ1=i 和 λ2=−i
解释其实就是,对向量旋转90°,除非是零向量,否则不可能出现Ax=λx中平行的情况
2. 出现重根
上三角矩阵: A=[3013]
顺带一提,上三角矩阵的特征值就是对角线上的元素
他的两个特征值都是: λ1=λ2=3
所以这个矩阵的特征向量是:
(A−λI)x=[0010]x=0→x1=[10]
只有一个特征向量,没有第二个无关的特征向量
特征值的性质:
- 特征值的和(∑λ)等于矩阵A对角线元素之和,即迹(trace):a11+…+ann
22. 对角化和幂
特征向量矩阵S:将矩阵A的n个线性无关的特征向量按列组成的矩阵(即可逆)
特征值矩阵Λ:矩阵A的n个特征值构成的矩阵,特征值在矩阵的对角线上
S−1AS=Λ
AS=SΛ
A=SΛS−1
对上式进行一个推导:
AS=A[x1x2⋯xn]=[λ1x1λ2x2⋯λnxn]=[x1x2⋯xn]⎣⎢⎢⎢⎢⎡λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn⎦⎥⎥⎥⎥⎤=SΛ
这个就是矩阵的对角化方法,最后得到矩阵Λ
A=SΛS−1
一种新的矩阵分解,可以拓展原来的思考,比如计算矩阵的平方A2:
Ax=λx→A2x=λAx=λ2x
A2=SΛS−1SΛS−1=SΛ2S−1
上面两个式子说明了同一件事:A2的特征值是A的平方,A的特征向量和A2一样,对角化提供了一种以矩阵形式思考的解决方法。
同理,可拓展到K次幂:
Ak=SΛkS−1
但是对于A=LU分解这是不可用的
进行对角化的条件:
矩阵A没有重复的特征值(充分不必要)。如果存在重复的特征值,可能但不一定存在n个线性无关特征向量(比如n维的单位向量,特征值只有1,但是特征向量是每一列),只要没有重复的特征向量就行。
求解差分方程:
{初始向量 u0差分方程 uk+1=Auk
uk=Aku0
其中,初始矩阵u0可以写成A的特征向量的线性组合形式 (因为特征向量之间线性无关,A非奇异不会产生重复的特征向量看,所以特征向量矩阵的列空间铺满了整个空间)
u0=c1x1+c2x2+⋯+cnxn
Au0=c1λ1x1+c2λ2x2+⋯+cnλnxn
A100u0=c1λ1100x1+c2λ2100x2+⋯+cnλn100xn
举个例子:斐波那契数列
Fk+2=Fk+1+Fk[0,1,1,2,3,5,8,13,21,…]
定义向量:uk=[Fk+1Fk]∴{Fk+2=Fk+1+FkFk+1=Fk+1⇒uk+1=Auk;A=[11 10]
A的特征值:λ=21±5
因为斐波那契数列是增长的,所以增长速度应该是 λ1=21+5
从u0=[F1F0]=[10]=c1x1+c2x2 可以求得 c1=51,c2=−51
所以,[F100F99]=A99[F1F0],F100=c1λ1100+c2λ2100
所以,F100≈c1λ1100
23. 微分方程和exp(At)
这一部分看不太懂,看常微分方程的时候再回过头来看
24. 马尔科夫矩阵和傅里叶级数
特征值和特征矩阵的应用
马尔科夫矩阵
马尔科夫矩阵,满足两条性质:1. 每个元素大于等于0; 2. 每一列相加都等于0 (与概率有着非常紧密的联系)
假设使用马尔科夫矩连续乘以一个正的向量u0,即
u1=Au0;u2=Au1;⋯;un=Aun−1
k步之后我们可以得到Aku,这些向量会最终接近一个稳定状态,比如:
A=[.8.2.3.7]
对于每一个u0=(a,1−a),都可以收敛到稳定的状态:u∞=(0.6,0.4)
现在来讨论能到达稳态的条件:
- λ=1是马尔科夫矩阵A的特征值
- 马尔科夫矩阵A的其他特征值都绝对值小于1,即 ∣λ∣<1
在遇到矩阵连乘时,根据特征值分解,我们可以得到:
uk=Aku0=u0(c1λ1kx1+c2λ2kx2+⋯+cnλnkxn)
所以,要想u∞到达稳态,必须有一个特征值为1,其他特征值项逐渐消失才行
现在要判断马尔科夫矩阵一定有一个特征值等于一,所以判断A−I是不是奇异的:
当A−I所有列相加得到0,就说明A−I是奇异的
因为马尔科夫矩阵每一列和为1,所以A−I每一列和为0,所以用行向量(1,1,1)左乘A−I可以得到0,即(0,0,0)A=0,说明(1,1,1)在A−I的左零空间中,行向量线性相关,矩阵是奇异的
这里其实就拓展出来好多,因为对于行列式来说行列是无关的det(A)=det(AT),而只要 det=0 矩阵就奇异,所以只要零空间/左零空间有非0向量,那么这个矩阵就是奇异的
还有特征值的一个性质:矩阵和其转置的特征值是一样的
证明:det(A−λI)=0→det(AT−λI)=0
傅里叶级数
讨论一下带有标准正交基的投影问题
给定标准正交基 q1,⋯,qn,任意向量可以以标准正交基的一个组合进行表达:
v=x1q1+x2q2+⋯+xnqn
现在想要知道,对于v,标准正交基的组合数x1,x2,⋯,xn是多少
那么标准正交基在这里就非常有用了,例如想求x1,则左右两边都对q1做内积,因为是正交的,所以除了x1这一项,其他都是0
q1Tv=x1q1Tq1+0+⋯+0
因为是标准正交基,所以q1Tq1=1,即x1=q1Tv
使用矩阵形式可以得知:
v=Qx,Q=[q1q2⋯qn],x=⎣⎢⎢⎡x1⋮xn⎦⎥⎥⎤
可得:x=Q−1v,因为Q是标准正交矩阵,所以x=QTv
现在代入傅里叶级数
已知函数f(x),我们想把它写成组合的形式,包含常数项,也包含cos,sin项等,即:
f(x)=a0+a1cosx+b1sinx+a2cos2x+b2sin2x+⋯
这个就是傅里叶级数,无穷维,并且cos和sin还正交,它作用在函数空间上,可以用函数f(x)来代替v,可以使用正交函数cos,sin,⋯来代替正交向量q1,q2,⋯
函数的正交类比于向量的正交:
向量的正交:两个向量的点积为0,即 vTw=v1w1+⋯+vnwn
函数的正交:给定两个函数,记为f和g,类比于向量的正交取点积,即对于取值积f(x)g(x)的和为0,即 fTg=∫f(x)g(x)dx
现在我们关心如何求a0,a1,⋯,以a1为例,同刚才投影一样,两边对cosx进行正交
\int_{0}^{2\pi}{f(x)\cos{x}\mathrm{d}x}=a_{1}\int^{2\pi}{0}(\cos{x})^{2}=\pi a{1}
26. 对称矩阵
对称矩阵(实数) A=AT:
特征值是实数;
特征向量是垂直的(正交)
所以,特征值分解在对称矩阵情况下:
A=SΛS−1→A=QΛQ−1=QΛQT
这个等式称为“谱定理”
谱:矩阵特征值的集合
下面简要推导一下:特征值都是实数
取式子的共轭复数,同时因为指定对称矩阵是实矩阵:
Ax=λx→Ax=λx→Ax=λx
对两边取转置,右乘x:
xTAT=xTλ→xTA=xTλ→xTAx=xTλx
对原矩阵两边左乘xT,得到:
xTAx=xTλx
结合上面两式可得:
xTλx=xTλx
所以 λ=λ,特征值为实数
如果是复矩阵,上述性质如实现,仍需要满足共轭条件,即A=AT
下面再推到一下特征向量都是正交的,即:
若x1,x2是对称矩阵A的两个特征向量,Ax1=λ1x1,Ax2=λ2x2,如果λ1!=λ2,则x1Tx2=0
令z=x1TAx2,因为z是标量,所以zT=z,即
x_{2}^{T}A^{T}x_{1} = x^{T}{1}Ax{2}
因为A是对称的,所以有:
x_{2}^{T}Ax_{1} = x^{T}{1}Ax{2}
x_{2}^{T}\lambda_{1}x_{1} = x^{T}{1}\lambda{2}x_{2}
\lambda_{1}x_{2}^{T}x_{1} = \lambda_{2}x^{T}{1}x{2}
因为:zT=z,所以:
x1Tλ2x2=x2Tλ2x1
λ2x1Tx2=λ2x2Tx1
结合上述两式,得到:
λ1x2Tx1=λ2x2Tx1
(λ1−λ2)x2Tx1=0
因为 λ1 不等于 λ2
所以:x2Tx1=0
对A=QΛQT继续探索:
A=QΛQT=[q1q2⋯]⎣⎢⎡λ1λ2⋱⎦⎥⎤⎣⎢⎢⎡q1Tq2T⋮⎦⎥⎥⎤=λ1q1q1T+λ2q2q2T+⋯
q1q1T 是投影矩阵,是对称的
所以每一个对称矩阵都是由一些互相垂直的投影矩阵的组合
对对称矩阵来说,主元与特征值的符号个数一致 (正主元的个数=正特征值的个数)
27. 复数矩阵和快速傅里叶变换
28. 正定矩阵和最小值
正定矩阵(postive definite matrix):所有特征值为正数的对称矩阵
对于正定矩阵的几种判定方法,以A=[acbd]为例:
- 所有的特征值为正:λ1>0,λ2>0
- 所有主子矩阵(即西雅图子矩阵,Seattle submatrices)的行列式都是正的:a>0,ac−b2>0
- 所有的主元都是正的: a>0,aac−b2>0
- xTAx>0
举个例子:
A=[26618]
这个是半正定矩阵,因为是奇异矩阵,所以可以得到一个特征值λ1=0(所以被称为“半正定”),另一个特征值为λ2=20。矩阵只有一个主元2。
对于判定方法4:
[x1x2][26618][x1x2]=2x12+12x1x2+18x22
对于任意的x,如果xTAx总是正的,那么A是一个正定矩阵
但是对于这个矩阵[26618],x2Ax≥0,所以他是半正定的
如果稍加修改,对矩阵[2667]来说,xTAx=2x12+12x1x2+7x22是一个马鞍面,存在一点小于0,所以不是正定矩阵
对矩阵[26620]来说,xTAx=2x12+12x1x2+20x22>0是一个碗面,对所有不等于0的x都成立。
再进一步,对得到的xTAx进行配方,得到xTAx=2x12+12x1x2+20x22=2(x1+3x2)2+2x22。而矩阵进行LU分解后得到:[26620]=[1301][2062]配方的本质其实就是消元,可以看到两个主元分别是两个平方的系数,L中的3就是配方的系数
正定可以检查函数是否存在最小值:
对于微积分来说,如果x2d2u>0,则存在极小值
那么采用矩阵形式,则是f(x1,x2,⋯)组成的矩阵是正定的
- 正定矩阵的逆也是正定的,因为特征值是原矩阵特征值的倒数,所以都是正的
- 矩阵A,B都是正定的, A+B也是正定的,因为xT(A+B)x>0
- 对于长方矩阵Sm×n,STS是正定的,xTATAx=(Ax)TAx,等于Ax的长度的平方≥0
29. 相似矩阵和若尔当形
相似矩阵:A和B是n×n相似矩阵,意味着存在一个可逆矩阵M使得:B=M−1AM
举个例子:特征值分解 S−1AS=Λ,即A和Λ是相似的
相似矩阵的共同点: 他们具有相同的特征值,无关特征向量的数目也一样
简单证明一下:
Ax=λxAMM−1x=λxM−1AMM−1x=λM−1xBM−1x=λM−1x
即,λ也是矩阵B的特征值
对于存在相等特征值的情况:
例如两个特征值相等为4: λ1=λ2=4,可以分别是如下两种矩阵:
[4004],[4014]
但是这两种情况并不一样
[4004]只和自己相似,M−14IM=4I,
[4014]可以代表一个大家族,称为若尔当标准型,即最简单,最接近对角阵的一个(但他不能对角化,如果能的话,他就和上面的这个矩阵相似了)
再举一个特例:
⎣⎢⎢⎢⎡0000100001000000⎦⎥⎥⎥⎤,⎣⎢⎢⎢⎡0000100000000010⎦⎥⎥⎥⎤
这两个矩阵的特征值λ1=λ2=λ3=λ4=0,但是很明显他们不是相似的
若尔当解释他们的分块是不一样的,第一个矩阵的分块是⎣⎢⎡000100010⎦⎥⎤和[0],第二个矩阵的分块是[0010] 和[0010],所以他们是不相似的
若尔当定理: 每个方阵A都相似于一个若尔当阵J,若尔当阵即由若干个若尔当块都成的矩阵:
J=⎣⎢⎢⎢⎡J1J2⋱Jd⎦⎥⎥⎥⎤
若尔当块:特征值位于方阵的对角线上,若尔当块的数量等于特征向量的数量
30. 奇异值分解(SVD)
矩阵最终和最好的分解
A=UΣVT
- Σ是对角矩阵
- U 和 V 都是正交矩阵
任何矩阵都可以有奇异值分解,中间是一个对角矩阵,两边是两个正交矩阵
Motivation
行空间 ∈Rn 中的标准正交基v1,v2,⋯,寻找一个变换Am×n,使之变换成列空间 ∈Rm 中的一组正交基u1=Av1,u2=Av2,⋯,即
Av1=σ1u1Av2=σ2u2⋯
其中,σ是伸缩向量,目的是为了是使得v也是归一化后的标准正交基
化成矩阵形式即:
A[v1v2⋯vr]=[u1u2⋯]⎣⎢⎡σ1σ2⋱⎦⎥⎤
即
AV=UΣ
A=UΣV−1
AV=UΣVT
V 是标准正交的
举个例子,对于矩阵A=[4−343]
- 要寻找行空间中的v1,v2∈R2
- 要寻找空间中的v1,v2∈R2
- 找出归一化系数σ1>0,σ2>0
同时求 U 和 V 太困难了,所以我们想办法消去U,先求 V
ATA=VΣTUTUΣVT=VΣTΣVT=V⎣⎢⎡σ12σ22⋱⎦⎥⎤VT
这里最后化简成了对称矩阵ATA的对角化形式(特征值分解)QΣQT,其中⎣⎢⎡σ12σ22⋱⎦⎥⎤是ATA的特征值矩阵,V是ATA的特征向量矩阵
所以如何求 V 和 U:
- ATA的特征值向量就是V
AAT的特征值向量就是U- ATA的特征值就是σ的平方
这里需要注意的是,通过上述我们无法确定特征向量的符号,在求出V后,只能根据V的符号来对应U的符号,即Avi=σiui
下面来针对上面的矩阵A=[4−343]实践一下
ATA=[44−33][4−343]=[257725]
标准化后的特征向量是
[2121];[21−21]
得到的特征值是:
λ1=32;λ2=18
所以可以得到SVD分解中的 Σ 和 V:
Σ=[320018];V=[212121−21]
下面用相同的方法去求U
AAT=[4−343][44−33]=[320028]
标准化后的特征向量:
[10];[01]
得到 U=[1001]
但是这个U是不对的
AV=ΣU验算不回去,因为同样是特征向量,符号是可以不确定的,而这里选择正的特征向量刚刚好是错误的,所以在指定V的特征向量后,对应的Avi=σiui的特征向量符号就出来了
所以这里计算U,应该使用Avi=σiui,即:
Av1=[4−343][2121]=[420]=σ1u1=32u1
Av2=[4−343][21−21]=[0−32]=σ2u2=18u1
u1=[10];u2=[0−1];U=[100−1]
和上面的错误结果只有符号的差异
再举一个特殊的例子,秩1矩阵[4836]
矩阵的行空间就是[43]的倍数,即所在所在的直线,在这个空间中选择标准基,即v1=[0.80.6]
矩阵的列空间就是[48]的倍数,即所在所在的直线,在这个空间中选择标准基,即u1=51[12]
ATA=[80606045]
得到λ1=0,λ2=125
因为秩1,所以选择零空间和左零空间中的标准正交基来构成U和V
所以最后得到:
A=[4836]=51[122−1][125000][0.80.60.6−0.8]=UΣVT
31. 线性变换及对应矩阵
线性变换:加法和数乘,线性变换应该保证这两种运算的不变形,即:
T(v+w)T(cv)=T(v)+T(w)=cT(v)
等同于判断:
T(cv+dw)=cT(v)+dT(w)
举个例子:投影就是线性变换
如果想要了解线性变换对输入空间的影响,只需要了解线性变换对这个输入空间的一组基进行的变换即可
坐标:源自于一组基,v的坐标是一组数字:c1,c2,⋯,表示了v由多少个基向量组成,即v=c1v1+c2v2+⋯
平时的话是因为默认存在了标准正交基,即v=⎣⎢⎡324⎦⎥⎤,但是里面的含义其实是:
v=3⎣⎢⎡100⎦⎥⎤+2⎣⎢⎡110⎦⎥⎤+4⎣⎢⎡101⎦⎥⎤