线性代数学习笔记

Published: by Creative Commons Licence

  • Tags:

矩阵

置换矩阵

置换矩阵是指每一行每一列恰好有一个1,其余元素是0的方阵。对于大小为n×n的置换矩阵,很显然总共有n!种不同的置换矩阵。

置换矩阵的性质:

  • 两个置换矩阵的乘积也是置换矩阵
  • 如果A是置换矩阵,则AT=A1

第二点的证明可以观察行交换矩阵Pij,可以发现PijPTij=I,而所有矩阵都可以表示为行交换矩阵的乘积。

LU分解

每个Rn×n矩阵A都可以通过高斯消元,转换为置换矩阵,下三角矩阵和上三角矩阵的乘积。

A=PLU

进一步可以得到

A=PLDU

其中P是置换矩阵,L是单位下三角矩阵,U是单位上三角矩阵,且LU的对角线元素均为1D是对角线矩阵。

有些矩阵可以分解为P=LU的形式,其中L是下三角矩阵,U是上三角矩阵。一个可逆矩阵A可以进行LU分解当且仅当A的所有子式都非0。且如果存在LU分解,则矩阵ALDU分解是唯一的。

矩阵乘法

矩阵乘法满足下面性质:

  • 如果AB均为上(下)三角矩阵,则AB也是上(下)三角矩阵

转置矩阵

矩阵A的转置记作AT。转置矩阵拥有如下性质:

  • (AT)1=(A1)T
  • (AB)T=BTAT

对称矩阵

如果AT=A,则称A是对称矩阵。

对称矩阵有下面性质:

  • 对称矩阵只有实数特征值
  • 我们可以为对称矩阵选择正交的特征向量

对称矩阵的不同特征值的特征向量一定正交。证明如下:考虑对称矩阵A,以及它的任意两个不同的特征向量a,b以及对应的特征值x,y,可以推出

Ax=axyTAx=ayTxyTAT=byTyTATx=byTxayTx=byTxyTx=0

正交矩阵

如果一个Rn×n矩阵A的列(行)向量为单位向量,且不同列(行)向量相互正交,那么矩阵A称为正交矩阵。

很显然置换矩阵也是正交矩阵。

正交矩阵A有下面性质:

  • A1=AT
  • det(A)=±1

如果已知A的列向量标准正交,那么A的行向量也一定标准正交。因为ATA=I,因此AAT=I

矩阵求逆

一个n×n矩阵A有逆矩阵A1,等价于下面条件:

  • A的行列式值非0
  • A的行向量线性无关
  • A的列向量线性无关
  • Ax=0当且仅当x=0

一些推广:

  • 如果A是上(下)三角矩阵,则A可逆当且仅当对角线元素中不含0
  • 如果A中对于任意i均满足nji|aij|<|aii|,则A一定可逆

第二条性质的证明如下,设任意向量x满足Ax=0,设x中绝对值最大的成分为xi,那么Aix一定与aiixi同号(即非0)。因此等式的唯一解为x=0,故可以推出A可逆。

矩阵A的逆矩阵有如下性质:

  • 如果A是对称矩阵,则A1也是对称矩阵
  • 如果A是上(下)三角矩阵,则A1也是上(下)三角矩阵
  • 如果A是稀疏矩阵,则A1可能是密集矩阵
  • A1是唯一的

投影

对于列向量a以及点bba上的投影为p=aaTbaTa,也可以写作p=Pb,其中P=aaTaTa

对于Rm的子空间S,设其基为n个列向量(线性无关),由这n个列向量可以组成一个m×n的矩阵A。子空间S的投影矩阵为P=A(ATA)1AT

对于任意投影矩阵P,都满足:

  • P是对称矩阵
  • P2=P
  • IPP的正交补空间,(IP)P=0,可以通过(IP)b=bPb=e得到误差向量。
  • PyP的列空间中与yL2范数距离最小的向量。

特征值

对于方阵A,如果存在一个非零向量x,满足Ax=λx,则称xA的特征向量,且λ称为特征值(注意λ允许为0)。

可以发现(AλI)x=0,因此x位于AλI的零空间中,因此AλI一定是奇异矩阵。可以得到|AλI|=0

Rn×n上的方阵A的特征值λ1,,λn满足下面性质:

  1. 如果A是个上(下)三角矩阵,则对角线上的所有元素正好是A的全部特征值。
  2. 特征值不一定是实数,可能是复数。
  3. A一定有n个复数特征值,但是可能有重复。
  4. ni=1λi=|A|
  5. ni=1λi=ni=1Ai,i
  6. 如果An个特征值各不相同,那么对应的n个特征向量则线性无关。

6个性质的证明是这样的,设n个特征向量线性相关,则有c1x1++cnxn=0,继而进行推导:

A(c1x1++cnxn)=λn(c1x1++cnxn)(λ1λn)c1x1++(λn1λn)cn1xn1=0

接下来通过归纳法就可以证明c1=0,从而证明c1==cn=0。因此n个特征向量线性无关。

如果n×n的方阵An个线性无关的特征向量x1,,xn,以及对应的n个特征值λ1,,λn,那么我们称A是可对角化的。记特征向量矩阵X的第i列向量为xi,特征值矩阵Λ为对角线为λ1,,λn的矩阵,可以发现:

AX=XΛX1AX=ΛA=XΛX1

可以发现Ak=(XΛX1)k=XΛkX1,即AkA拥有相同的特征向量,但是对应的特征值为λk1,,λkn

利用特征值可以实现矩阵快速幂。对于矩阵Akc,若c处在A的特征向量组成的向量空间中,那么c=a1x1++amxm,这时候我们可以发现有Akc=a1λk1x1++amλkmxm

特征值分解

给定一个矩阵A,对于一个非0向量v,如果Av=λv,则称vA的特征向量,而λA的特征值。由于对于A的特征向量v,对于任意非0实数ααv也是A的特征向量,且αxx的特征值相同,即缩放特征向量的时候特征值不变,因此我们一般仅考虑单位长度的特征向量。

如果一个n×n矩阵An个线性无关的单位特征向量V=(v1,,vn)以及对应的特征值Λ=(λ1,,λn),那么矩阵A的特征值可以表示为:

AV=VΛA=Vdiag(Λ)V1

特征值分解可以帮助我们观察一个矩阵的内在性质,就如同一个自然数可以分解为素数的幂的乘积形式,一旦得到这种形式,我们就能很快判断一个数有多少个因子等。

特别的,对于n×n的对称实数矩阵A,它的n个特征值和特征向量都是实数。我们可以找到n个正交的标准特征向量构成一个标准正交矩阵Q,此时

A=Qdiag(Λ)QT

正定矩阵

如果一个矩阵的所有特征值都是正数,则称其为正定矩阵,如果特征值非负,则称为半正定矩阵。对应的,如果所有特征值都是负数,则称为负定矩阵,如果特征值都非正,则成为半负定矩阵。

  • 如果矩阵A是半正定矩阵,则xRn,都有xAxT0
  • 如果矩阵A是正定矩阵,则xRn,都有xAxT0,且xAxT=0x=0

特征值和微积分

给定函数dx(t)dt=Ax。记A的特征值和对应的特征向量为λ1,v1,,λk,vk,那么f(x)的积分的通解如下:

dx(t)dtdt=ki=1cieλitvi

如果给定x(0),我们就可以得到具体的解,做法就是代入通解中,求出c1,,ck

随着t趋向无穷,如果λi的实数部分为负数,那么eλit会趋向与0,如果λi的实数部分为0,则eλit会趋向与1,而如果λi为正数,则eλit会趋向于无穷。

如果An个线性无关的特征向量,我们记其为S1,S2,,Sn。以它们作为列向量组成的矩阵为S。我们简单记x=Sy,那么有:

Sdydt=ASydydt=S1ASydydt=Λyy(t)=eΛty(0)

代回到原来的公式可以得到:

x(t)=Sy(t)=SeΛtS1x(0)=eAtx(0)

其中

eAt=i=0Aii!ti

相似矩阵

如果对于Rn×n上的矩阵AB,存在某个可逆矩阵C,满足A=CBC1,那么称AB相似。很显然相似关系满足自反性,传递性,对称性,一次相似关系是一类等价关系。

很显然一个矩阵A如果有n个不同的特征值,则A一定与其特征值矩阵Λ相似。

如果AB相似,则满足:

  1. AB拥有共同的特征值。(特征向量可能不同)

第一个性质的证明如下,设Bx=λx,则有

A(Cx)=CBC1(Cx)=CBx=λ(Cx)

范数

我们一般用范数(norm)来描述一个向量的大小。LP范数定义如下

xp=(i|xi|p)1p

直观上来看,范数是将向量映射到非负实数的函数,函数值描述这个向量与原点的距离。范数拥有下面的性质:

  • f(x)=0x=0
  • f(x+y)f(x)+f(y)
  • αR,αf(x)=f(αx)

一般L2范数也称为欧几里得范数。由于欧几里得范数使用广泛,因此用|x|表示xL2范数,同时我们也可用xTx直接计算向量xL2范数的平方。L2范数的平方非常适合计算,因为其偏导数|x|xi=2xi仅需要依赖xi,而L2范数的偏导数需要计算涉及整个向量x

但是L2范数的平方在向量接近原点的时候增长非常缓慢,如果你的程序需要区分0和非常小的数值,那么可以选择使用L1范数。

范数的特殊用法:

  • |x|=maxi|xi|

我们可以把范数推广到矩阵上,只需要把n×m的矩阵视作一个长度为nm的向量即可。作用在矩阵上的L2也称作弗罗贝尼乌斯(Frobenius)范数,写作

AF=1in,1jmA2i,j

点积和L2范数的关联:xTy=|x|2|y|2cosθ,其中θxy之间的夹角。

矩阵的迹是指矩阵对角线元素的和。

Tr(A)=iAi,i

矩阵的迹拥有下面性质:

  • Tr(A)=Tr(AT)
  • Tr(AB)=Tr(BA)
  • Tr是线性函数,即Tr(A+B)=Tr(A)+Tr(B)Tr(αA)=αTr(A)

对于任意矩阵A,有|A|2=Tr(AAT)

伪逆

矩阵逆运算仅对方阵有定义。给定n×m的矩阵A,假设我们希望实现一个A的左逆B,满足Ax=yx=By

A的特征值分解为A=UDV,定义A的伪逆定义为

A+=VD+UT

D+表示将D中所有非0元素取倒数,并转置得到的矩阵。

对于给定的y,如果y处于A的列空间中,A+y表示L2范数最小的向量,满足A(A+y)=ymin(|A+y|)。而如果y不处于A的列空间,则A+y表示到A的列空间的L2范数距离最小的向量,即min(|A(A+y)y|2)

行列式

A的行列式记做det(A),是一个实数。det(A)等于A的所有特征值的乘积。我们可以认为|det(A)|描述的是所有特征值的绝对值的乘积,如果某个特征值为0,则det(A)在某个维度上将不存在高度,导致整体的体积最终为0

奇异值分解

不是每个矩阵都可以做特征值分解,但是任意矩阵都可以被奇异值分解。类似与特征值分解,奇异值分解如下:

A=UDVT

假设Am×n矩阵,那么Um×m矩阵,Dm×n矩阵,Vn×n矩阵。

其中UV都是单位正交矩阵。U的列向量称为左奇异向量,V的列向量称为右奇异向量,D的对角线元素称为奇异值。

A的左奇异向量是AAT的特征向量,而右奇异向量是ATA的特征向量。而A的奇异值是ATA的特征值的平方根。

线性方程组

四个空间

对于n×m矩阵A,记R(A)表示A的行空间,C(A)表示A的列空间,N(A)表示A的右零空间,N(AT)A的左零空间。

  • rank(C(A))=rank(R(A))
  • R(A)+N(A)=nC(A)+N(AT)=m
  • R(A)N(A)C(A)N(AT)