线性代数学习笔记
矩阵
置换矩阵
置换矩阵是指每一行每一列恰好有一个1,其余元素是0的方阵。对于大小为n×n的置换矩阵,很显然总共有n!种不同的置换矩阵。
置换矩阵的性质:
- 两个置换矩阵的乘积也是置换矩阵
- 如果A是置换矩阵,则AT=A−1。
第二点的证明可以观察行交换矩阵Pij,可以发现PijPTij=I,而所有矩阵都可以表示为行交换矩阵的乘积。
LU分解
每个Rn×n矩阵A都可以通过高斯消元,转换为置换矩阵,下三角矩阵和上三角矩阵的乘积。
A=PLU进一步可以得到
A=PLDU其中P是置换矩阵,L是单位下三角矩阵,U是单位上三角矩阵,且L与U的对角线元素均为1,D是对角线矩阵。
有些矩阵可以分解为P=LU的形式,其中L是下三角矩阵,U是上三角矩阵。一个可逆矩阵A可以进行LU分解当且仅当A的所有子式都非0。且如果存在LU分解,则矩阵A的LDU分解是唯一的。
矩阵乘法
矩阵乘法满足下面性质:
- 如果A和B均为上(下)三角矩阵,则AB也是上(下)三角矩阵
转置矩阵
矩阵A的转置记作AT。转置矩阵拥有如下性质:
- (AT)−1=(A−1)T
- (AB)T=BTAT
对称矩阵
如果AT=A,则称A是对称矩阵。
对称矩阵有下面性质:
- 对称矩阵只有实数特征值
- 我们可以为对称矩阵选择正交的特征向量
对称矩阵的不同特征值的特征向量一定正交。证明如下:考虑对称矩阵A,以及它的任意两个不同的特征向量a,b以及对应的特征值x,y,可以推出
Ax=ax→yTAx=ayTxyTAT=byT→yTATx=byTxayTx=byTx→yTx=0正交矩阵
如果一个Rn×n矩阵A的列(行)向量为单位向量,且不同列(行)向量相互正交,那么矩阵A称为正交矩阵。
很显然置换矩阵也是正交矩阵。
正交矩阵A有下面性质:
- A−1=AT
- det(A)=±1
如果已知A的列向量标准正交,那么A的行向量也一定标准正交。因为ATA=I,因此AAT=I。
矩阵求逆
一个n×n矩阵A有逆矩阵A−1,等价于下面条件:
- A的行列式值非0
- A的行向量线性无关
- A的列向量线性无关
- Ax=0当且仅当x=0
一些推广:
- 如果A是上(下)三角矩阵,则A可逆当且仅当对角线元素中不含0。
- 如果A中对于任意i均满足∑nj≠i|aij|<|aii|,则A一定可逆
第二条性质的证明如下,设任意向量x满足Ax=0,设x中绝对值最大的成分为xi,那么Aix一定与aiixi同号(即非0)。因此等式的唯一解为x=0,故可以推出A可逆。
矩阵A的逆矩阵有如下性质:
- 如果A是对称矩阵,则A−1也是对称矩阵
- 如果A是上(下)三角矩阵,则A−1也是上(下)三角矩阵
- 如果A是稀疏矩阵,则A−1可能是密集矩阵
- A−1是唯一的
投影
对于列向量a以及点b,b在a上的投影为p=aaTbaTa,也可以写作p=Pb,其中P=aaTaTa。
对于Rm的子空间S,设其基为n个列向量(线性无关),由这n个列向量可以组成一个m×n的矩阵A。子空间S的投影矩阵为P=A(ATA)−1AT。
对于任意投影矩阵P,都满足:
- P是对称矩阵
- P2=P
- I−P是P的正交补空间,(I−P)P=0,可以通过(I−P)b=b−Pb=e得到误差向量。
- Py是P的列空间中与y的L2范数距离最小的向量。
特征值
对于方阵A,如果存在一个非零向量x,满足Ax=λx,则称x是A的特征向量,且λ称为特征值(注意λ允许为0)。
可以发现(A−λI)x=0,因此x位于A−λI的零空间中,因此A−λI一定是奇异矩阵。可以得到|A−λI|=0。
Rn×n上的方阵A的特征值λ1,…,λn满足下面性质:
- 如果A是个上(下)三角矩阵,则对角线上的所有元素正好是A的全部特征值。
- 特征值不一定是实数,可能是复数。
- A一定有n个复数特征值,但是可能有重复。
- ∏ni=1λi=|A|
- ∑ni=1λi=∑ni=1Ai,i
- 如果A的n个特征值各不相同,那么对应的n个特征向量则线性无关。
第6个性质的证明是这样的,设n个特征向量线性相关,则有c1x1+…+cnxn=0,继而进行推导:
A(c1x1+…+cnxn)=λn(c1x1+…+cnxn)⇒(λ1−λn)c1x1+…+(λn−1−λn)cn−1xn−1=0接下来通过归纳法就可以证明c1=0,从而证明c1=…=cn=0。因此n个特征向量线性无关。
如果n×n的方阵A有n个线性无关的特征向量x1,…,xn,以及对应的n个特征值λ1,…,λn,那么我们称A是可对角化的。记特征向量矩阵X的第i列向量为xi,特征值矩阵Λ为对角线为λ1,…,λn的矩阵,可以发现:
AX=XΛ⇒X−1AX=Λ⇒A=XΛX−1可以发现Ak=(XΛX−1)k=XΛkX−1,即Ak与A拥有相同的特征向量,但是对应的特征值为λk1,…,λkn。
利用特征值可以实现矩阵快速幂。对于矩阵Akc,若c处在A的特征向量组成的向量空间中,那么c=a1x1+…+amxm,这时候我们可以发现有Akc=a1λk1x1+…+amλkmxm。
特征值分解
给定一个矩阵A,对于一个非0向量v,如果Av=λv,则称v是A的特征向量,而λ是A的特征值。由于对于A的特征向量v,对于任意非0实数α,αv也是A的特征向量,且αx和x的特征值相同,即缩放特征向量的时候特征值不变,因此我们一般仅考虑单位长度的特征向量。
如果一个n×n矩阵A有n个线性无关的单位特征向量V=(v1,…,vn)以及对应的特征值Λ=(λ1,…,λn),那么矩阵A的特征值可以表示为:
AV=VΛ⇒A=Vdiag(Λ)V−1特征值分解可以帮助我们观察一个矩阵的内在性质,就如同一个自然数可以分解为素数的幂的乘积形式,一旦得到这种形式,我们就能很快判断一个数有多少个因子等。
特别的,对于n×n的对称实数矩阵A,它的n个特征值和特征向量都是实数。我们可以找到n个正交的标准特征向量构成一个标准正交矩阵Q,此时
A=Qdiag(Λ)QT正定矩阵
如果一个矩阵的所有特征值都是正数,则称其为正定矩阵,如果特征值非负,则称为半正定矩阵。对应的,如果所有特征值都是负数,则称为负定矩阵,如果特征值都非正,则成为半负定矩阵。
- 如果矩阵A是半正定矩阵,则∀x∈Rn,都有xAxT≥0。
- 如果矩阵A是正定矩阵,则∀x∈Rn,都有xAxT≥0,且xAxT=0⇒x=0。
特征值和微积分
给定函数dx(t)dt=Ax。记A的特征值和对应的特征向量为λ1,v1,…,λk,vk,那么f(x)的积分的通解如下:
∫dx(t)dtdt=k∑i=1cieλitvi如果给定x(0),我们就可以得到具体的解,做法就是代入通解中,求出c1,…,ck。
随着t趋向无穷,如果λi的实数部分为负数,那么eλit会趋向与0,如果λi的实数部分为0,则eλit会趋向与1,而如果λi为正数,则eλit会趋向于无穷。
如果A有n个线性无关的特征向量,我们记其为S1,S2,…,Sn。以它们作为列向量组成的矩阵为S。我们简单记x=Sy,那么有:
S⋅dydt=ASy⇒dydt=S−1ASy⇒dydt=Λy⇒y(t)=eΛty(0)代回到原来的公式可以得到:
x(t)=Sy(t)=SeΛtS−1x(0)=eAtx(0)其中
eAt=∞∑i=0Aii!ti相似矩阵
如果对于Rn×n上的矩阵A和B,存在某个可逆矩阵C,满足A=CBC−1,那么称A与B相似。很显然相似关系满足自反性,传递性,对称性,一次相似关系是一类等价关系。
很显然一个矩阵A如果有n个不同的特征值,则A一定与其特征值矩阵Λ相似。
如果A与B相似,则满足:
- A与B拥有共同的特征值。(特征向量可能不同)
第一个性质的证明如下,设Bx=λx,则有
A(Cx)=CBC−1(Cx)=CBx=λ(Cx)范数
我们一般用范数(norm)来描述一个向量的大小。LP范数定义如下
‖x‖p=(∑i|xi|p)1p直观上来看,范数是将向量映射到非负实数的函数,函数值描述这个向量与原点的距离。范数拥有下面的性质:
- f(x)=0⇔x=0
- f(x+y)≤f(x)+f(y)
- ∀α∈R,αf(x)=f(αx)
一般L2范数也称为欧几里得范数。由于欧几里得范数使用广泛,因此用|x|表示x的L2范数,同时我们也可用xTx直接计算向量x的L2范数的平方。L2范数的平方非常适合计算,因为其偏导数∂|x|∂xi=2xi仅需要依赖xi,而L2范数的偏导数需要计算涉及整个向量x。
但是L2范数的平方在向量接近原点的时候增长非常缓慢,如果你的程序需要区分0和非常小的数值,那么可以选择使用L1范数。
范数的特殊用法:
- |x|∞=maxi|xi|
我们可以把范数推广到矩阵上,只需要把n×m的矩阵视作一个长度为nm的向量即可。作用在矩阵上的L2也称作弗罗贝尼乌斯(Frobenius)范数,写作
‖A‖F=√∑1≤i≤n,1≤j≤mA2i,j点积和L2范数的关联:xTy=|x|2|y|2cosθ,其中θ是x和y之间的夹角。
迹
矩阵的迹是指矩阵对角线元素的和。
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=y⇒x=By。
记A的特征值分解为A=UDV,定义A的伪逆定义为
A+=VD+UTD+表示将D中所有非0元素取倒数,并转置得到的矩阵。
对于给定的y,如果y处于A的列空间中,A+y表示L2范数最小的向量,满足A(A+y)=y,min(|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假设A是m×n矩阵,那么U是m×m矩阵,D是m×n矩阵,V是n×n矩阵。
其中U和V都是单位正交矩阵。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)=n,C(A)+N(AT)=m
- R(A)⊥N(A),C(A)⊥N(AT)