Skip to content
Scroll to top↑

线性代数

MIT线性代数课程笔记,向所有想学好线代的同学推荐此课。听GS老爷子课,如饮醇醪。

注:文中的“零”、0多数是指零向量。

矩阵乘法的几种视角

矩阵A(m*n)和B(n*p)相乘,得到m*p的矩阵C。

  1. 单个元素

    很少用。

    cij的值是A中第i行与B中第j列点乘的结果,cij=k=1naikbkj

    [    ai1ai2...ain    ][ b1j   b2j   ...   bnj ]=[     cij      ]
  2. 列的线性组合

    将B看成是p个单独的列向量,C中各列是A中各列的线性组合(C中的每一列都由A乘B中对应列向量得到,B列向量即A中各列的组合方式)。

  3. 行的线性组合

    与2同理,将A看成是m个单独的行向量,C中各行是B中各行的线性组合(C中的每一行都由A中对应行向量乘B得到)。

  4. 单行乘单列

    与1相背,取A中一列(m*1),B中一行(1*p),相乘得到一个(m*p)的矩阵。C实际上是A中各列与B中各行乘积之和(第一列乘第一行,加上第二列乘第二行……)。

  5. 模块化的视角

    将A和B划成小块,乘法和上面的乘法一样。

    [A1A2A3A4][B1B2B3B4]=[A1B1+A2B3A1B2+A2B4A3B1+A4B3A3B2+A4B4]

矩阵有逆的几种理解

  1. (撒盐空中差可拟)奇异(不可逆矩阵)的行列式为0;

  2. (未若柳絮因风起)奇异矩阵各列能够通过线性组合得到0。即能够找到一个不为0的向量x,使得Ax=0

高斯-若尔当消元

对于可逆矩阵A,[E][AI]=[I?],由于EA=I(模块化视角),知EAA1=A1E=A1。故?部分就是A的逆:[E][AI]=[IA1]

为什么A=LU好于EA=U?

假设对于矩阵A,为了得到其主元,左边施加的三个消元矩阵分别是E21=[100210001]E31=IE32=[100010051],则E=E32E31E21=[1002101051]。而如果求出L,有L=E211E311E321=[100210051]。注意E左下角的10,它的出现实际上是E21E32效应叠加的结果,在E21中对第二行将第一行乘2相减,在E32中又对第三行将第二行乘5相减,最终一共在第三行中加上了10倍的第一行,这很丑陋。而L中消元乘数都还在里面,或者说为了得到L,直接将消元乘数写进去就可以(前提是过程中不发生行互换)。在分解出LU的过程中,LU时刻保存了A的所有信息,甚至可以将A抛开。

转置矩阵

AA1=I,两边取置换,(A1)TAT=I,故知(A1)T=(AT)1。转置矩阵的逆等于逆的转置。

对于置换矩阵P,有P1=PT

求解Ax=0

求解矩阵的零空间(nullspace),通过消元使矩阵成为rref格式,即可得到x的解。例:

[1232462682810][123000022044][123022000000]

矩阵有两个主元,一个自由变元。此时可以写出消元后的方程:

x1+2x2+3x3=02x2+2x3=0

令自由变元x3为1,解出零空间的基向量[111],这是一个[FI]格式。事实上如果将之前的矩阵进一步化简到rref:

[123022000000][101011000000]

该格式R=[IF00],求解Ax=0相当于求解Rx=0,知x=[FI]。若An列,式中Fnr阶矩阵,Ir阶矩阵,rA的秩(rank),即主元个数。matlab的null中正是通过rref化简来求矩阵的零基。

求解Ax=b

  • 有解:有解意味着b必须在A的列空间中,即A中各列的线性组合能得到b。另一个等价的表述是:如果A中各行的线性组合得到零行,那么b中对应的线性组合结果要为0。

  • 求解:知道了如何求解Ax=0,再求解Ax=b就简单了。因为Ax=b可以看成是A(xp+xn)=b,其中通解xnAx=0解出的零空间向量,xp称为A的特解,可以通过设自由变元为0解出。

    INFO

    特解有无数个,“令自由变元为0”只是因为方便,由[IF](xn+xp)=b[IF]xn=0,可以令xp=[...0],这里的0(nr)×1向量,从而消去F快速得到一个xp=b,其他的特解无非是这个解加上若干倍的xn

  • 解的个数:如果矩阵列满秩r=n,矩阵又瘦又长,则自由变元的个数为0,此时零空间只有零向量。显然Ax=Axp=b只有一个解。更多的时候没有解。若行满秩r=m,则有nr=nm个自由变元,此时必定有多解。若r=m=n,此时矩阵为方阵且为可逆矩阵(因为可以消元为R=I的格式),有且只有一个解。

    r=m=nr=n<mr=m<nr<m,r<n
    矩阵形状方阵瘦长宽短不确定
    rref格式R=IR=[I0]R=[IF]R=[IF00]
    解的个数1010或

矩阵的四个子空间

属于维度基向量的构造
列空间C(A)Rmr主元所在的列
零空间N(A)Rmnrxn,即Ax=0的解
行空间R(A)Rnrrref之后剩下的非0行,因为消元过程都是各行的线性组合,得到的结果依然在行空间中
左零空间N(AT)RnmrATx=0的解,有xTA=0,联想将A化简到R的过程,由于R下方是零行,矩阵乘法可以看成行的线性组合,则消元矩阵E的最后一行使得A中各行线性组合得到0行,该行即为xT

应用示例

考虑如下的有向图:

我们用矩阵M=[11000110001110011010]来表达这个图,其中列代表4个顶点,行代表5条边,-1代表起点,1代表终点。可以得到一些初步结论:

  1. 矩阵M的1、2、5行是线性相关的,实际上它们恰好构成了ABC这个回路;
  2. 矩阵的维度和秩dim(M)=rank=3
  3. 矩阵的零空间是一维的,dim(N(M))=nr=1

考虑Ax=0,其中x=[x1x2x3x4],有:

x1+x2=0x2+x3=0x3+x4=0x1x4=0x1+x3=0

如果x1x2x3x4代表结点上的电势,Ax=0的就是结点之间电势差为0的表述,如果没有电势差,就不会产生电流。x的一个解是[1111],整个零空间可以用c[1111]表示。

INFO

C是如何与电导产生联系的?为什么这里可以说是欧姆定律的体现?

考虑ATy=0,有:

y1+y4y5=0y1y2=0y2y3+y5=0y3y4=0

这个式子表述的是各个结点出入的电流相等,即基尔霍夫定律。N(AT)的一组基是[11001][00111]。前者表达的是ABC这个回路的电流,后者表达的则是ACD这个回路的电流,并且可以很快得到关于ABCD回路的表达[11110],必定与前两个线性相关。

回路就意味着线性相关,现在可进一步解释回路与秩的关系,dim(N(AT))=mr=m(n1),线性无关的回路的数量=边的数量-顶点的数量+1,即欧拉定理的一种表述。

INFO

为什么是dim(N(AT))?M的转置的零空间即是M各行线性组合为0的向量空间,M中各行代表的是图中的边,维度正是这些边线性相关性的刻画。

整理上述步骤,把电势方程记为ee=Ax=0,电导c使电势产生电流y=Ce,电流又满足一个平衡方程(基尔霍夫定律)ATy=0。当然这些都是无电源情况下的讨论,如果添加一个外部电源b,则电势方程变为e=Ax=b。总结一下就是ATCAx=b,应用数学的一个常见框架。

正交矩阵和投影

正交向量

两个向量正交意味着xTy=0。对于两个向量a=[x1x2]b=[y1y2],勾股定理a2+b2=c2也可以写成aTa+bTb=(a+b)T(a+b),两边化简得到aTb+bTa=0,由aTb=bTa(都是点乘的结果x1y1+x2y2),有aTb=0。两种表述是等价的,并且可以推广到n维。

投影矩阵

很多时候我们的Ax=b都是无解的,这种时候只能在A上寻找一个最接近的解,方法是通过找到向量bA的列空间内的投影p,求近似解Ax^=p

下图中,A的列空间[a1a2],欲求解Ax=b,而b是不在A的列空间(图中平面)内的。于是寻找b在列空间内的投影p,退而求Ax^=p,误差向量e=pb

由于eA的列空间正交,有ATe=AT(pb)=AT(Ax^b)=0,得x^=(ATA)1ATb。则p=Ax^=A(ATA)1ATb。如果将其看作对向量b施加的一个效应,可总结出投影矩阵P=A(ATA)1AT,投影施加的效应与待投影的向量b无关,只与A有关。bA的列空间中的投影p=Pb

P有如下性质:

  1. PT=P
  2. P2=P(一次投影来到列空间内,再次投影保持不动了);
  3. A是一维向量的时候,ATA退化为一个数,因此P可以写成AATATA
  4. 如果bA的列空间中,有Pb=b(因为此时b=AxPb=A(ATA)1ATAx=Ax=b);如果bC(A),说明bN(AT)中,有ATb=0,得Pb=0

最小二乘法成立条件

在直线拟合问题中,列出误差e的计算式子再求偏导使误差最小化得到的方程正是方程ATAx^=ATb。该方法成立有一个前提,A的各列需要线性无关,因为只有这样ATA才可逆,方程才有解。A各列线性无关意味着Ax=0的解只有零向量(但是注意A不一定是方阵,未必可逆,尤其在线性拟合的问题中往往是“瘦长”的),左右两边同时乘上ATATAx=0,说明ATAx=0也只有零解,而ATA是方阵故可逆。

标准正交基

如果矩阵Q的每一列都满足qiTqj={0ifij1ifi=j,每一列都相互正交,称这样的矩阵为标准正交矩阵。Q有如下良好的性质:

  1. QTQ=I,若Q为方阵,QT=Q1
  2. 在投影矩阵的问题中,如果AQ,那么有P=A(ATA)1AT=QQT(如果Q为方阵,进一步有P=I),此时ATAx^=ATb变为QTQx^=x^=QTb,可以立即得到x^的解。

正交化方法与A=QR

(格拉姆-施密特正交化方法)对于线性无关的向量组,可以利用投影矩阵计算出对应的一组正交向量,如果这些向量组作为列向量构成矩阵A,则正交化之后的向量组Q使得A=QRR将是一个上三角矩阵。

行列式

行列式的若干性质

  1. det(I)=1
  2. 如果交换矩阵的行(或列)一次,行列式的值变为其相反数;
  3. |tatbcd|=t|abcd||a+ab+bcd|=|abcd|+|abcd|
  4. 如果矩阵有相同行(或列),则行列式的值为0。可以利用性质2,交换后得到的相反数为自身推出;
  5. 为第k行减去第l行的若干倍,不改变行列式的值(结合3和4可证);
  6. 若存在零行(列),行列式的值为0;
  7. 三角矩阵或对角矩阵[d1...0d2...00d3......]的行列式等于主元的乘积(对于对角矩阵,可以通过消元变为I,乘数即是主元的积;对于三角矩阵,可以进一步消元得到对角矩阵,这一过程行列式的值不变)。这一性质提供了计算行列式的有效方法,以及det(2A)=2ndet(A)等;
  8. 奇异矩阵的行列式为0;
  9. det(AB)=det(A)det(B),同时易知若A可逆,有det(A1)=1/det(A)
  10. det(A)=det(AT)。依然通过消元的思想证明,如果A是奇异矩阵显然成立;如果A可逆,A可以消元为LU的格式,其中det(L)=1(因为主元全为1),而AT等于UTLT,同样的有det(LT)=1,又因为U是上三角矩阵,有det(U)=det(UT),得证。

代数余子式和伴随矩阵

以一个22矩阵[abcd]为例,其行列式可以根据上述性质3进行分解:

|abcd|=|a0cd|+|0bcd|=|a0c0|+|a00d|+|0bc0|+|0b0d|=adbc

类似的,3阶矩阵可以分解为6项,4阶矩阵可以分解为24项……其思路是固定第i行第j列,然后寻找那些不在第ij列上的“主元”,对结果起作用的只有这些项。而同在i行或j列上的元素由于可以被(分解)消元为0不需要考虑,那些有零行和零列的项也不用考虑。对于n阶矩阵,显然分解后有n!项,并且第ij列所对应的项的系数与i+j的值相关,奇数为负数,偶数为整数(考虑为行交换的次数)。

如果对矩阵A的每一元素,如果将该元素替换为A去掉该行该列剩余部分所组成矩阵的行列式(代数余子式),得到的矩阵称为A的伴随矩阵C

行列式的若干应用

矩阵的逆

A1=1det(A)CT,其中CA的伴随矩阵。

即证ACT=det(A)I,下面结果对角线元素aijCij=det(A)很好理解,重点在于理解为什么右边省略号部分为0,实际上会相当于求一个具有相同行(或列)的矩阵的行列式,而且正是上面分解过程中被我们省略的那种。以[abcd]为例,其伴随矩阵为[dcba],转置后为[dbca],则结果第一行第二项为a11C21+a12C22=a(b)+ab=0

[a11...a1n...an1..ann][C11...Cn1...C1n...Cnn]=[det(A)a11C21+a12C22......det(A).........det(A)]

根据ACT=det(A)I,两边再求行列式,det(ACT)=det(det(A)I)det(A)det(CT)=det(A)n,其中nA的阶数(也是CT的阶数),于是有det(CT)=det(A)n1

面积和体积

行列式的值等于向量所确定的图形的面积或体积。例如I或者任何一个标准正交矩阵确定的立方体的体积为1。对于两向量AB,先求AB方向上的投影E,随后A减去E得到“高”,底乘高可证。

特征值与特征向量

矩阵A施加于不为零的向量x上之后,如果得到的结果还能与x平行,可以用Ax=λx刻画,这样的x称为特征向量,λ称为特征值。显然如果A是奇异矩阵,它可以将一个非零向量变为零向量,λ=0是一个特征值,另一个可利用矩阵的迹等方法计算。

A是一个平面,其投影矩阵P的特征值和特征向量由于Px=x,可以得到一个特征值λ=1。对应的另一个特征向量是与A垂直的那个,即N(A)中的向量,有Px=0,此时特征值为0。

系统地求Ax=λx,方程中λx都是未知数所以没法消元,但是Axλx=(AλI)x=0,知AλI应该为奇异矩阵(否则x为零向量),可利用det(AλI)=0求解出λ

以正交矩阵Q=[0110]为例,det(QλI)=det([λ11λ])=λ2+1=0,知λ1=iλ2=i。可见特征值也可以为复数。

特征值也可以只有一个,例如[1301],其特征值为1,特征向量可以是[10],没有其他线性独立的特征向量了。

总结了一些性质:

  1. 由于(AλI)T=ATλI,知转置矩阵与原矩阵有相同的特征值。

  2. 若矩阵可逆,等价于说矩阵的特征值均不为0,否则Ax=0有非零解,N(A)不只有零向量,还有该解对应的特征向量x了。

  3. 特征值之和等于矩阵的迹,特征值之积等于矩阵的行列式。进一步可知矩阵逆的行列式等于该矩阵特征值之积的倒数。

对角化方法

若取A的线性独立特征向量x1,...,xn构成矩阵S=[x1...xn],有AS=[λ1x1...λnxn]=[x1...xn][λ100.........00λn],若将[λ100...00λn]记作Λ,有AS=SΛ,或者写成A=SΛS1(对角化),Λ=S1AS

A2=SΛS1SΛS1=SΛ2S1,对比A2x=λ2x,可以发现它们说的是同一个东西。特征值给了我们一种计算矩阵幂的方法。例如若要Akk时趋向于0,说明|λi|<1

上述讨论的前提是A必须有n个不相同的特征值。需要注意的是有重复的特征值并不一定就意味着没有n个独立的特征向量,例如单位矩阵I

一阶线性差分方程与矩阵的幂

如果一个差分方程可以用矩阵表达成uk+1=Auk的形式,有uk=Aku0。这给了我们利用特征值求解方程的思路,如果能将u0表示成(仅对一阶差分方程):u0=Sc=c1x1+...+cnxn,那么u1=Au0=c1λ1x1+...+cnλnxnuk=Aku0=c1λ1kx1+...+cnλnkxn。以fibnacci数列为例:

Fib(n+2)=Fib(n+1)+Fib(n),这是一个二阶线性差分方程,可以通过一些技巧将其表达成uk+1=Auk的形式,令uk=[Fib(n+1)Fib(n)],有uk+1=[Fib(n+2)Fib(n+1)]=[1110]uk,这里的[1110]即是我们要找的A

随后解出A的特征值为λ1=12(1+5)λ2=12(15),由AλI是奇异矩阵解出其特征向量为[λ11][λ21]。利用对角化方法结合u0可解出通式中的c1c2,进一步求出Fib(100)的值。

一阶线性微分方程与矩阵指数

对于微分方程,假设能够表达成dudt=Au的格式,也可以用类似的思路进行求解。只是这时的核心思想是常系数线性微分方程的解是指数形式的,u(t)=c1eλ1tx1+...+cneλntxn(根据这个式子,dudt=c1λ1eλ1tx1+...,而Au也等于右边,可知思考的方向是正确的)。

这里的u(t)和前面的uk可看成对应的东西。

以一组相互影响的u1u2为例:

{du1dt=u1+2u2du2dt=u12u2

u=[u1u2],显然我们需要的A=[1212]。可解出A的特征值为λ1=0λ2=3,特征向量为x1=[21]x2=[11],则u(t)=c1[21]+c2e3t[11],题设u0=[10],可知c1[21]+c2[11]=[10]。可以解出c1c2的值。

针对这个问题的u(t),会发现当t的时候,系统趋向于c1x1稳定状态。但我们并不总是能够得到稳态,有时会趋向于0,有时会趋向于无穷。

  1. 想要u(t)收敛,需要式子中所有的eλt0,则λ应该小于0。更进一步,如果λ是复数,根据欧拉公式,ebit部分的模为1,则模|e(a+bi)t|=|eat|,需要λ的实数部分(后面记作Re.λ)小于0.
  2. 如果λ1=0,其他的λ<0,则可以达到一个不为0的稳态;
  3. 其他的情况u(t)“blow up”

INFO

后面的习题课上又补充了一个周期性的例子,假设矩阵A=[1110],可求出特征值为1±i32。 它们实际上是e±iπ3,在复平面单位圆上旋转6周得到1。可知λ6=1A6有两个特征值都是1A6I

特别的,对于2*2的矩阵,想要具有稳定性,要求矩阵的迹小于0(两个特征值相加,结果为负数),同时行列式大于0(两个特征值都为负数,不能一正一负)。

可以看出,解中各个指数函数是互不相干的。原方程组有两个互相耦合的未知函数,而特征值和特征向量的作用是解耦,又称对角化。将u=Sv带入dudt=Au,有Sdudt=ASvdudt=S1ASv=Λv。即以特征向量为基,将u表示成Sv,得到关于v的对角化方程组,新的方程组不存在耦合

WARNING

这一段没看懂:

dv1dt=λ1v1,惯用的表示法是v(t)=eΛtv(0)u(t)=SeΛtS1u(0)。这里的eΛt=[eλ1t000eλ2t.........eλnt]

这要求我们允许“矩阵指数”的定义,那么dudt=Au可积,结果有eAt=SeΛtS1

如何理解指数中有矩阵,也就是这里的eAteΛt呢?思路是将指数展开为幂级数。

ex=0xnn!有:

eAt=I+At+(At)22+...+(At)nn!+...

INFO

另一个常见级数是几何级数。同样可以有矩阵的形式。由(1q)1=0qn有:

(IAt)1=I+At+(At)2+...+(At)n+...

这实际上也是求逆矩阵的好方法,如果t很小且At的特征值小于0,逆近似等与I+At

由于A=SΛS1,现在可利用eAt的展开式来理解eAt=SeΛtS1eAt=I+SΛS1t+(SΛS1t)22+...,注意I=SS1,而(SΛS1t)2=SΛ2S1t2=S(Λt)2S1

对于二阶微分方程my+2ry+ky=0,和之前fibnacci的方法类似,令u=[yy],有u=[2rmkm10]u,求解特征值得到一个关于λmrk的方程mλ2+2rλ+k=0,也就是我们在微积分(微分方程)课上学到的式子。

特征值与特征向量的应用举例

一阶RC电路

一阶RC电路的电容满足dQdt=V0RQRC,为了得到一个方程组,我们设P=V0R,则dPdt=0。令u(t)=[QP],所需的A=[1RC100]

AλI=[1RCλ10λ],可解出λ1=0,λ2=1RC,对应的x1=[11RC]x2=[10]

于是u(t)的通式为u(t)=c1x1+c2etRCx2,由u(0)=c1x1+c2x2=[Q0V0R],可解出c1=CV0c2=Q0CV0,则u(t)=CV0[11RC]+(Q0CV0)etRC[10]=[CV0+(Q0CV0)etRCV0R],其第一行即Q(t),而第二行显然是P。当t时,QCV0,这是电路的一个稳定状态。

WARNING

一些疑惑,一开始我令u=[PQ],得到A的特征值一个为1一个为0,u(t)的通式里面会出现et就不是收敛的了。为什么不能这样设u,这样的u和上面的u有何关联?

逻辑斯蒂方程

对于简单逻辑斯蒂方程dNdt=rNrN2K,虽然是非线性的,却可以通过设y=1N得到一个线性方程,最后可求出稳定状态为承载容量K

马尔可夫矩阵

马尔可夫矩阵是这样的一些矩阵:

  1. 矩阵的所有项均大于等于0;
  2. 矩阵各列(某些书上是各行)相加为1.

可以推理出马尔可夫矩阵的一些性质:

  1. 有一个特征值为1。因为矩阵各列相加为1,而A1I之后该列位于矩阵对角线上的元素为xi1,而其余项之和为1xi,该项与其余项之和为0,换句话说[11...1]在其零空间里,A1I为奇异矩阵;
  2. 其他的特征值的绝对值均小于1。这使得最后得到的差分方程解的通式中,除了λ1=1的那项之外,其他的项在k足够大时都趋向于0。

INFO

在一阶线性差分方程问题中,特征值为1使得λk=1得到稳态很重要;而在一阶线性微分方程的问题中,特征值为0使得eλt=1得到稳态很重要。

马尔可夫矩阵的性质很容易和概率问题联系到一起。在一个人口迁徙模型中,假如每年有0.1的人口从A地迁徙到B地,有0.2的人口从B地迁徙到A地,则可以用这样一个矩阵刻画:[0.90.20.10.8]u0=[uA0uB0]

傅里叶级数

带有标准正交基的投影

假设向量q1,q2,...,qnn维向量空间的一组标准正交基,则空间中的任意向量V都可以由它们构成:

V=x1q1+x2q2+...+xnqn

这个过程可以理解为将向量展开到正交基上面去。为了求出x1,可以通过对每一项于q1求内积,得到x1=q1TV(也可以整体应用矩阵的思想,[q1q2...qn][x1x2...xn]=V,知x=Q1V=QTV)。

从本质上来说,傅里叶级数是上述问题(离散情形)在连续情形下的拓延。傅里叶级数将向量的分解拓展到了函数空间,使用相互正交的sinxcosx等作为“正交基”来分解函数

f(x)=a0+a1cosx+b1sinx+a2cos2x+b2sin2x+...

如何理解函数的“正交”,也就是点积为0呢?

对于向量来说,vTw=v1w1+v2w2+...+vnwn,在连续情形中对应的其实就是积分,两个函数的点积其实就是它们乘积的积分:

fTg=f(x)g(x)dx

对于cosxsinx来说,由于以2π为周期,积分区域应取02π为上下限,会发现sinxcosx积出来的结果正是0。

与离散情形的x1=q1TV类似,要求这里的a1,对展开式的每一项求与第一项cosx的内积,右边会有很多0,只有cosx的那一项保留了下来:

02πf(x)cosxdx=02πa1(cosx)2dx

右边积出来为πa1,则a1=1π02πf(x)cosxdx

对称矩阵

对称矩阵:A=AT,有一些良好的性质:

  1. 所有的特征值都是实数。由A=ATAx=λxAx=λxAx=λx可推出Ax=λx,而a+bi=abi,实矩阵A=A),有xTA=xTλ,则xTAx=xTλxxTAx=xTλx,从而λ=λ。基于这个推理过程,若A是复数矩阵,则AA,可推出“对称”的条件是A=AT

  2. 特征值不同的特征向量之间相互正交,即A=SΛS1=QΛQ1=QΛQT=λ1q1q1T+λ2q2q2T+...,每个对称矩阵都是一些互相垂直的投影矩阵的组合。(主轴定理,特征向量说明主轴的方向,特征值说明主轴的长度。)

  3. 主元的符号和特征值的符号一致。这给了我们计算矩阵特征值的良好方式(AλI的方法对高阶矩阵很困难):首先用消元求出矩阵的主元,这个计算量很小。随后可以将矩阵平移若干个单位,比如7,则矩阵特征值也平移了7,根据新矩阵主元的变化可知原矩阵有多少特征值大于7或小于7。

INFO

习题课上的拓展:什么样的矩阵具有相互正交的特征向量?满足AAT=ATA的,典型的如对称矩阵、正交矩阵,还有“反对称矩阵”AT=A等。

正定矩阵

正定矩阵是一些要求更严格的对称矩阵:

  1. 所有主元大于0;
  2. 所有特征值大于0;
  3. 行列式大于0,但是这还不够,要求所有顺序子行列式均大于0。这样才有全正的主元和特征值。

如何理解判别式 xTAx>0

以2*2矩阵A=[26618]为例,[x1x2]A[x1x2]=2x12+12x1x2+18x22=2(x1+3x2)2必定大于等于0。如果将A右下角的项改一改,则配方后可能多出来正的或负的平方项,从而未必大于等于0。并且只有A是正定的才有f(x1,x2)配方之后大于等于0,图像有最小值。假如将A改为[26620],则f(x1,x2)=2x12+12x1x2+20x22=2(x1+3x2)2+2x22,配方之后出现的数字2(主元)、3(消元乘数)、2(主元)其实都来自消元,配方法就是消元,配出来的平方项里面是消元乘上的因数,外面的系数是主元,这也是为什么正主元才能得到全部正的平方项,从而整个式子大于等于0。

INFO

通过这些性质,正主元、正特征值、正行列式、平方和、图像向上原点是最小值都联系在一起了。

从微积分的角度说,关于f(x,y)的图像向上有最小值意味着对xy的一阶导数为0,二阶导数大于0,用线性代数的语言就是说这么一个矩阵[fxxfxyfyxfyy]是正定矩阵(注意fxy=fyx)。

一些推论:

  1. A是正定矩阵,则A1也是正定矩阵;
  2. AB是正定矩阵,则A+B是正定矩阵(利用判别式);
  3. 对于普通的长方形矩阵AATA是正定矩阵。(依然利用判别式,xTATAx=|Ax|2>=0,为了排除等于0的情况,要求N(A)只有零向量,即各列线性无关,即列满秩rank(A)=n)。这个式子我们在最小二乘法那里已经见到了,其正是正定矩阵的出处。

相似矩阵

矩阵AB相似,意味着存在一个可逆矩阵M,使得B=M1AM。我们之前学过的对角化就出现了一类相似矩阵。

相似矩阵具有相同的特征值。由Ax=λx,有M1AMM1x=BM1x=λM1x,可知B的特征值与A相同,B的特征向量为M1x

比较值得注意的是特征值重复的情况,A=[4004]只和它自己相似,因为M1AM=A,而[4104]这类矩阵虽然也有两个重复的特征值4,但它们有很多个且互相相似。

奇异值分解(SVD)

SVD的思想在于将行空间的一组(标准)正交基vi转换到列空间的一组(标准)正交基,从而有Avi=σiui,可以看出这个式子和特征值式子非常相像。用矩阵形式表达:A[v1v2...vr]=[u1u2...ur][σ10...0σ2......0...σr],可记作AV=UΣ,或者A=UΣV1=UΣVT

重点是VU的求取,由于ATA的良好性质,我们有ATA=VΣTUTUΣVT=V[σ120...0σ22......0...σr2]VT,这正是对角化QΛQ1,从而求出ATA的特征值和特征向量即可求出V,特征向量就是vi,特征值就是σi2。同理可以利用AAT得到U

伪逆

我们已经学过很多矩阵尤其是长方形矩阵是没有逆的,但在投影矩阵、特征值相关内容的学习中注意到了一些事实:对于列满秩m*n矩阵AATA为n*n方阵,而(ATA)1ATA=I;行满秩矩阵同理,只不过等式变成了AAT(AAT)1=I。因此可以拓展矩阵“逆”的概念,得到左逆Aleft1=(ATA)1AT和右逆Aright1=AT(AAT)1的定义。

INFO

如果将Aleft1写在A的右边,正是(列空间)投影矩阵;而如果将Aright1写到A的左边,则得到(行空间)投影矩阵。

行空间到列空间的映射

我们可以理解正是“零空间”破坏了矩阵的逆,因为如果一个矩阵施加到一个向量上为零,那么没有逆可以还原回去了。对于任意一个向量x,用A乘它Ax得到的是A中列向量的线性组合,因此Ax总是属于C(A),而如果这个x属于行空间,那么Ax就可以被看成是从行空间往列空间的一次映射,假设有矩阵的逆能够映射回xA+Ax=x,则把A+称为A伪逆,这里不再局限于方阵了。SVD是求伪逆的好方法,它不限于可逆矩阵或列满秩矩阵(最小二乘法)。

行空间和列空间的向量是一一对应的。如果xy属于R(A)xy,那么AxAy。可以用反证法,如果Ax=Ay,有A(xy)=0,说明xy在零空间,而xy又属于行空间,则xy只能是零向量,则x=y,与已知xy不符。

最后是一幅“Big Picture”: