线性代数_Part3

25 正交向量与正交子空间

进入第三单元学习,主题是正定矩阵及其应用。对称矩阵是其中最重要的矩阵之一,对称矩阵的特征值为实数并且拥有一套正交特征向量。正定矩阵的性质则比对称矩阵更好更好。

25.1 实对称矩阵 Symmetric matrices AT=A

包含特殊性质的矩阵,例如Markov矩阵,其特征值和特征向量往往拥有一定特性。对于对称矩阵来说有两个待证明性质:

  • 对称矩阵的特征值是实数
  • 有完全正交的特征向量
    • 如果特征值互不相同,那么每个特征值的特征向量是在单独的一条线上,那些线是垂直正交的;如果特征值重复,那就有一整个平面的特征向量,在那个平面上可以选择垂直的向量;
    • 可以将这组特征向量转化为标准正交向量。

例如:单位矩阵,单位矩阵是对称矩阵,特征值都为1,每一个向量都是特征向量。

如果A具有n个线性无关的特征向量,可以对角化得到:

A=SΛS1

而对于对称矩阵,由于其特征向量是正交的,所以有:

A=QΛQ1=QΛQT

上式Q表示标准正交矩阵,这里是方阵,因为对称矩阵的S是垂直正交的,所以可转化为Q,同时标准正交矩阵Q有:Q1=QT ,所以以上式子是对称矩阵的分解形式,分解成特征向量和特征值的组合。等式右边取转置又得到自己,所以A是对称矩阵。

  • 数学上叫这个为谱定理,谱就是指矩阵的特征值集合,一些纯东西组合。
  • 力学上叫这个为主轴定理,从几何图形上看,它意味着如果给定某种材料,在合适的轴上来看,它就变成对角化的,方向就不会重复。

问题1:为什么实对称矩阵的特征值是实数

先假设特征值中存在复数。矩阵A具有特征值λ和特征向量x,则有:

Ax=λxAx=λxAx=λxAx=λx

上式说明实对称矩阵有特征值λ和特征向量x,那该矩阵必然有另一特征值λ和特征向量x。将上式最后部分Ax=λx转置可得:

xTAT=λxT

将上式从右边乘x取内积:

xTATx=λxTx

再对上述长式子中前面部分Ax=λx左边乘xT取内积:

xTAx=λxTx

上面两个式子一对比可知:等式左侧相同,因此右端也相等:

λxTx=λxTx

所以有λ=λ,所以实对称阵的特征值为实数。

注意:上面推导的最后一步要保证xTx不等于0。这里我们简单带入数据可知xTx不等于0且为正数(一个向量为复向量,那么它乘以其共轭复向量得到实部的平方加上虚部的平方,为其长度平方)。

问题1延伸:性质好矩阵

本节中性质好矩阵是指"特征值为实数"、"特征向量正交垂直"

那么什么矩阵是好的呢?

  • 如果一个矩阵是实数矩阵,那么“性质好”的矩阵就是“实对称矩阵”AT=A
  • 如果一个矩阵是复数矩阵,那么“性质好”的矩阵就是“复对称矩阵”AT=A
    • 因为可以类比实矩阵的推导过程进行推导,这时可以发现对复数矩阵来说,只有当AT=A成立时才可以推导出该复数矩阵"特征值为实数"。也就是说假设矩阵原来是复数矩阵,对称的等价条件是AT=A
    • 这里就是想说:若给定一复矩阵,想让它和实对称矩阵有一样的性质,那该复矩阵就需要满足AT=A

对于对称矩阵,A=QΛQ1=QΛQT,可以写作:

A=QΛQ1=[q1q2qn][λ1λ2λn][q1Tq2Tqn]=λ1q1q1T+λ2q2q2T++λnqnqnT

矩阵qkqkT(qkqkT=qkqkTqkTqk=qkqkT1)是朝向向量qk的投影矩阵,所以每一个对称矩阵都是正交投影矩阵的线性组合(每一个对称矩阵都是一些相互垂直的投影矩阵的组合)。这是理解谱定理的另一种方法。

当确认矩阵特征值为实数后,下一个要考虑的问题就是它是正还是负数,因为这影响着微分方程中体系的稳定与否。但是对于大型矩阵通过计算|(AλI)|=0得到特征值进行判定难以实现,即使用MATLAB求解结果也不一定可靠,但MATLAB可以得到矩阵的主元,而对称阵的主元中正负数的个数与特征值相同,即正主元的数目等于正特征值的数目。

注意:课程中老师并没有说“主元正负个数等于特征值正负个数”这个性质是如何证明的,可以不做深究。

但是简要证明可以参考:https://zhuanlan.zhihu.com/p/46023045

(对于对称阵主元与特征值符号相匹配这件事情,通常是用合同矩阵的惯性定理加以证明)

矩阵A+bI的特征值比矩阵的A特征值大b,可以通过A+bI的主元来了解矩阵A的特征值与b的大小关系,因此利用这个性质可以估计特征值的状态。

25.2 正定矩阵 Positive definite matrices

正定矩阵是对称阵的一个子类,如果一个实对称矩阵的特征值都是正数,那么它是正定矩阵。其性质比普通对称阵更好一点,即其性质为:

  • ① 特征值都为正数的对称矩阵,它的主元也均为正数;
  • ② 正定矩阵的所有子行列式都是正数。

正定矩阵将方阵特征值,主元,行列式融为一体

若将行列式作为正定的判据,则要求n阶矩阵左上角的所有k×k,(1kn)子行列式(subdeterminant)数值均为正,矩阵确定为正定矩阵。

本讲的内容将之前教授的主元、行列式和特征值的概念结合在了一起,对于正定矩阵这些都是正的,当完全掌握了它们的性质后会推广到非对称矩阵,甚至非方阵。

26 复数矩阵和快速傅里叶变换

实矩阵也可能有复特征值,因此无法避免在矩阵运算中碰到复数,本讲学习处理复数矩阵和复向量。

最重要的复矩阵是傅里叶矩阵,它用于傅里叶变换。而对于大数据处理快速傅里叶变换(FFT)显得更为重要,它将矩阵乘法的运算次数从n2降到nlog2n次。

26.1 复向量 Complex vectors

对于给定的复向量z=[z1z2zn]Cn,其元素中有复数,因此zTz无法给出向量的长度。例如:

[1i][1i]=0

因此对于复向量而言,需要定义其模长为:

|z|2=zTz=|z1|2+|z1|2++|z1|2

将复矩阵的“共轭转置”记为zT=zH(H来自于“Hermite”)。

与之相似,内积的定义也变为:

yHx=yTx=y¯1x1+y¯2x2++y¯nxn

26.2 复矩阵 Complex matrices

上一讲中讲到了对于复矩阵A,若有AT=A则复矩阵A的特征值为实数。这种复矩阵被称为埃尔米特矩阵(Hermitian matrixes)。转置共轭记作AT=AH

例如矩阵[23+i3i5]为埃尔米特矩阵。它具有实数特征值和正交的特征向量。由性质可知埃尔米特矩阵对角线均为实数。

此处向量标准正交的意思是:

qjTqk={0jk1j=k

n个标准正交的复向量作为列向量可以构造一个矩阵Q,则有:

QHQ=QQH=I

QTQ=I=QHQ

这个复空间的正交矩阵Q称为酉矩阵(unitary matrix),换句话说,酉矩阵的逆矩阵,就是其共轭转置:

Q1=QH

酉矩阵是实数上的正交矩阵在复数的推广。

26.3 酉矩阵的性质

  • 性质1:QHQ=QQH=I
  • 性质2:酉矩阵亦必定可逆,且逆矩阵等于其共轭转置:Q1=QH
  • 性质3:酉矩阵的所有特征值,都是绝对值等于1的复数:|λi|=1
  • 性质4:由性质3可知,酉矩阵行列式的绝对值也是 1:det(Q)=1
  • 性质5:酉矩阵不会改变两个复向量xy的点积:(Qx)(Qy)=xy

26.3 傅里叶变换Fourier transform

傅里叶矩阵:最著名的“酉矩阵”。

傅里叶级数是将周期函数或者信号变换为不同频率的三角函数的和函数。

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

在电子工程或者计算机科学中,矩阵的行和列从第0行和第0列开始计数,最后到第n1行和第n1列。我们在讨论傅里叶矩阵的时候遵从这种习惯。 n阶傅里叶矩阵:全矩阵,是一个酉矩阵:

Fn=[11111ωω2ω(n1)1ω2ω2ω2(n1)1ωn1ω2(n1)ω(n1)2]

也就是(Fn)jk=ωjk,且傅里叶矩阵为对称矩阵FnFnT。矩阵中的元素是ω的幂,且ωn=1(n是矩阵阶数),在复平面内,ω落在单位圆上:

ω=ei2πn

矩阵的列向量正交。的方次分布在复平面的单位元上,只是幅角不同。当n=4时有:

ω4=1,ω=ei2π4=i

F4=[11111ii2i31i2i4i61i3i6i9]=[11111i1i11111i1i]

从矩阵可以得到一个四点(离散的)傅里叶变换,它的逆矩阵就是反傅里叶变换。逆矩阵很容易计算,因为傅里叶矩阵列向量正交。实际上这个矩阵可以分解成一系列稀疏矩阵,并且它们的逆矩阵都很容易得到。

计算可知列向量的模不是1,矩阵除以2之后,向量标准正交:

14FnHFn=I

它的逆矩阵就是共轭转置。 一个很好的性质:可以把傅里叶矩阵分解为一些列“稀疏矩阵”。

26.4 快速傅里叶变换 Fast Fourier transform

对于64阶傅里叶矩阵F64中的ω64与32阶傅里叶矩阵F32的元素ω32相比,幅角是其一半,ω642=ω32。可以从分块矩阵运算找到两者的联系:

[F64]=[IDID][F3200F32][P]

其中P是置换矩阵,而D为对角矩阵:

P=[100000001000000010010000000100000001]

D=[1ωω2ω31]

P的效果是使得所乘的向量x序数为奇数的分量如x1x3x5等提到前面,而偶数分量x2x4等放到后面。

计算64阶傅里叶变换(傅里叶矩阵乘以向量)的计算量是64×64,而等式右侧的计算量是2×32×32(两个32阶)再加上一些修正项,修正项主要来自于与对角矩阵D的乘法,大约为32次。继续对F32进行分解,计算的运算量再一次下降变为2(2×16×16+16)+32。分解到最后,仅剩修正项的运算,32×log264次。对于n阶矩阵,即将n2次计算降至n2log2n次。例如对于1024阶矩阵,运算量从1024×1024降至5×1024

27 正定矩阵和最小值

本讲学习正定矩阵,这部分内容将本课程之前的知识点:主元、行列式、特征值以及方程的稳定性融为一体。本讲介绍如何判定一个矩阵是否正定矩阵,以及当一个矩阵是正定矩阵时,其内涵和矩阵操作的效果有何特别之处。此外还有正定矩阵与几何的关系:椭圆和正定有关,双曲线与正定无关。

27.1 正定矩阵 Positive definite matrices

给定一个2×2对称矩阵A=[abbc],有四个途径判定矩阵是否正定矩阵:

  • 特征值:所有特征值均大于0——λ1>0λ2>0
  • 行列式:所有子行列式均大于0——a>0acb2>0
  • 主元:主元要均大于0——a>0acb2a>0
  • 表达式 :xTAx>0,(xx0)——通常这就是正定的定义,而前三条是用来验证正定性的条件

给定矩阵A=[266c],从判据(行列式)可知矩阵为正定阵的条件是2c36>0,即c>18

  • c=18时:

矩阵[26618]正好处在判定为正定矩阵的临界点上,称之为半正定(positive semidefinite)矩阵,它具有一个特征值0,是奇异矩阵,只有一个主元,而行列式为0。半正定矩阵特征值大于等于0。

再观察xTAx>0判据:

xTAx=[x1x2][26618][x1x2]=2x12+12x1x2+18x22

之前讨论得都是线性方程Ax(展开方程次数为一阶),现在引入xT变成二次,如果对于任意x,y,这种二次型(quadratic form)ax2+2bxy+cy2均大于零,则矩阵为正定矩阵。

在本例的半正定矩阵中,当x1=3,x2=1时,带入可知:xTAx=0

  • c=7时:

矩阵变为[2667],其二次型为f(x,y)=xTAx=2x12+12x1x2+7x22,从图像上看无最小值点,在原点处有一鞍点。鞍点在某个方向上看是极大值点,在另一方向上是极小值点,实际上最佳观测角度是特征向量的方向

  • c=20时:

矩阵变为[26620],主元为正;特征值之积为行列式的值4,特征值和为矩阵的迹22,因此特征值为正;子行列式均为正。矩阵为正定矩阵。

其二次型f(x,y)=xTAx=2x12+12x1x2+20x22,其图像最小值点为原点,一阶偏导数为0,二阶偏导数大于0。

当年上课时候老师讲双曲面的鞍点,画的图不好,有个篮球队的哥们理解不了,于是下了课跑去问老师,老师指着他的热身篮球裤说,就你这种裤腿两侧能撕开的篮球裤,全部打开,拎起来,裤裆地方就是鞍点……算了,反正GS画图真心不行,看看Lay的吧:

微积分中判定最小值点的判据【海森矩阵(Hessian Matrix)?】:

  • 一阶导数等于零:dudx=0
  • 二阶导数为正:d2udx2>0

线性代数中判据为二阶导数矩阵正定。

对于二次型我们可以用配方的办法来验证其是否具有最小值:

f(x,y)=xTAx=2x2+12xy+20y2=2(x+3y2)+2y2

配方使得x2的系数和交叉项xy的系数配合形成完全平方的形式,这个时候用到的y2的系数正好是18,即判定正定的临界点。在此例中如果实际的系数c>18,则还剩余(c18)y2,二次型在原点之外一定大于零,若c<18则二次型可以小于等于0。

对于f(x,y)=xTAx=2x2+12xy+20y2=2(x+3y2)+2y2,其几何图像为碗型的曲面,如果我们用f=1的截面横截曲面,得到的就是2(x+3y2)+2y2=1的椭圆。而对于双曲面进行切割就得到双曲线。

配方法其实就是消元:

主元就是平方项系数,L矩阵中的行操作数l21就是配方项内y的系数。因为主元是每一个完全平方项的系数,因此这就是为什么矩阵的主元为正则该矩阵为正定矩阵。本例中二次型表达式的配方说明了二维的情形,而线代的理论可以将之推广到n维。

PS:虽然知道配方和消元数字上是的对上的,但我还是不太明白消元和配方过程上有啥联系……

消元和配方都是在去耦合吧,调配成最简略的关系

二阶导数的矩阵记为[fxxfxyfyxfyy]【海森矩阵(Hessian Matrix)?】,矩阵对称代表交叉二阶偏导数与求导顺序无关,即fxy=fyx。在微积分中我们学到的判据fxxfyy>fxy2,和二阶矩阵判定正定是等价的,并且线代可以推广到n维。

fxxfyy>fxy2

3阶矩阵A=(210121012),它是正定矩阵。计算子行列式得到:

|2|=2,|2112|=3,|121022041|=4

主元是23/24/3。特征值是22,2,2+2

PS:这是G. Strang最爱的矩阵之一,可以用来把二阶微分方程变成离散问题,因为它每一行都是差分方程fn+12fn+fn1

其二次型为:

f(x,y)=xTAx=2x12+2x22+2x322x1x22x2x3

是一四维图像,三个维度x1x2x3加函数f,若用f=1切割,则有2x12+2x22+2x322x1x22x2x3=1。这是一个椭球体,三个特征值不同,因此椭球的三个长轴长度不同。三个轴的方向就是特征向量的方向,轴长度就是特征值,矩阵的分解A=QΛQT很好的说明了这件事,这就是所谓的“主轴定理”。

27.2 小说明

对于三条判据可以判定正定:xTAx>0,(xx0)。已经分析了判据3主元要大于零的原因,因为它是配方后的参数,只有都大于零才能保证正定。以下对于判据1和2做简要说明。

  • 判据1:所有特征值大于0

对称矩阵A,其正交的特征向量可以张成整个空间,因此任意向量x均可表示成特征向量的线性组合:

x=c1x1+c2x2++cnxn

代入得:

xTAx=c12λ1+c22λ2++cn2λn

当特征值都大于零且x0)时,才能保证xTAx>0。因此条件1与正定性等价。

  • 判据2:所有子行列式大于0

Ak 为矩阵A左上角k阶方块,取特殊向量x=[xk0]即后nk个元素为0,则有:

xTAx=[xk0][Ak][xk0]=xkTAkxk

若矩阵A满足正定性,则所有Ak均满足正定性。已证明正定性等价于特征值均为正,而矩阵行列式等于特征值之积,因此可知子行列式均大于零。反之亦成立,两命题等价。

28 相似矩阵和若尔当标准型

本讲介绍相似矩阵,这些内容以及奇异值分解是线性代数最核心的概念。

Strang 老师说了, Jordan标准型不再是线性代数的核心,现代线性代数尤其是AI也不怎么用到他,所以此节略去Jordan型的内容。这一讲重点讲解相似矩阵。

28.1 正定矩阵 ATA

若矩阵A满足对任意向量x0均有xTAx>0,则称矩阵为正定矩阵,可以通过特征值、主元和行列式的办法来判断矩阵的正定性。

正定矩阵来自于最小二乘问题。有大量的实际问题用到了长方形矩阵,而最小二乘问题中用到了长方形矩阵的积ATA,它是正定矩阵。

正定矩阵A是对称矩阵,它的逆矩阵A1也是正定矩阵,逆矩阵的特征值是原矩阵的倒数,因此也都是正数。若矩阵AB都是正定矩阵,则A+B也是正定矩阵:xTAx>0xTBx>0,则有xT(A+B)x>0

如果A是一个m×n长方形矩阵,则ATA是对称方阵。通过讨论xT(ATA)x>0的正负可以确认它是正定矩阵:

xT(ATA)x=(Ax)T(Ax)=|Ax|20

当且仅当Ax=0时,上面表达式取等号为0。当矩阵A的各列线性无关时,即矩阵为列满秩r=nA的零空间只有零向量,即此条件下仅有零向量,满足xT(ATA)x=0。因此矩阵列满秩时,ATA是正定矩阵。正定矩阵将之前的知识点串联起来。

28.2 相似矩阵 Similar matrices

AB均是n×n方阵,若存在可逆矩阵M,使得B=M1AM,则AB为相似矩阵。

28.2.1 特征值互不相同 Distinct eigenvalues

若矩阵A具有n个线性无关的特征向量,可以对角化得到S1AS=Λ,则A相似于Λ,这里的M是特征向量矩阵S。如果将M取其它可逆矩阵,可以得到和A相似的另一矩阵B,实际上这样可以定义一类矩阵,Λ是其中最简洁的一个。

例:A=[2112]Λ=[3001],而取另一M,则有:

B=M1AM=[1401][2112][1401]=[21516]

相似矩阵最重要的特性是:相似矩阵具有相同的特征值。事实上,所有特征值为3和1的二阶矩阵都是A的相似矩阵。

证明:矩阵A的相似矩阵B=M1AM具有和矩阵A相同的特征值:

矩阵A具有的特征值λ ,即存在特征向量x满足Ax=λx。则有:

AMM1x=λxM1AMM1x=λM1xB(M1x)=λ(M1x)

即矩阵B具有特征值λ,且特征向量为M1x

因此,相似矩阵具有相同的特征值,并且线性无关的特征向量的个数相同,但是特征向量往往不同。如果矩阵A的特征值互不相等λ1λ2λn,且与另一个矩阵B的特征值完全相同,则它们与相同的对角矩阵Λ相似。

28.2.2 重特征值 Repeated eigenvalues

如果矩阵有重特征值,则可能无法进行对角化。

例:二阶矩阵有重特征值λ1=λ2=4

  • 第一类:只与自己相似——[4004]

M1[4004]M=4M1IM=[4004]

这个系列的相似矩阵仅包含其自身。

  • 第二类:包含其它所有的重特征值为4的矩阵,其中最简洁的是 —— [4104]

元素1的位置换上其它数值仍然是相似矩阵。这个最优形式称为若尔当(Jordan form)标准型。有了这个理论,就可以处理不可对角化的矩阵,完成近似的“对角化”转化为若尔当标准型进行处理。

[4104]相似的矩阵,迹为8,行列式为16,因此我们可以构造出很多相似矩阵:

[5113],[40174],[a8a]

它们都不能对角化(因为若可以对角化则按照特征值可知结果为4I,而只4I与自己相似)。

28.2.3 若尔当标准型 Jordan form

更复杂的情况,一个四阶矩阵具有重特征值0:λ1=λ2=λ3=λ4=0。如下面的例子所示。

矩阵A=(0100001000000000),它的秩为2,因此其零空间的维数为42=2,而零空间的向量就是矩阵的特征向量,满足Ax=0x,所以矩阵A只有两个特征向量。若尔当指出上对角线每增加一个1,矩阵就减掉一个特征向量,本例中特征向量数为42=2

矩阵B=(0170001000000000)与矩阵A=(0100001000000000)为相似矩阵。

但矩阵C=(0100000000010000)与矩阵A=(0100001000000000)并不是相似矩阵,两者具有不同的若尔当块。

若尔当块形如:

Ji=[λi1000λi10001000λi]

对角线上为重特征值λi,上对角线为1,其它位置的元素均为0,每个若尔当块只有1个特征向量。若干个若尔当块可以拼成一个若尔当矩阵。

J=[J1000J2000Jd]

两个矩阵具有相同的特征值和特征向量个数,但是其若尔当块的尺寸不同,两者也并不是相似矩阵。如前述矩阵A与并C不相似。

若尔当理论:任意n阶矩阵A都与一个若尔当矩阵J相似。若尔当矩阵中的每一个若尔当块对应一个特征向量。若矩阵具有n个不同的特征向量,则可以对角化,此时其若尔当标准型J就是对角矩阵Λ。若出现重特征值,则特征向量个数变少。

说到了ATA和最小二乘问题就要解释一下G.Strang举的曲线拟合的例子,都是线性公式y=ax+b,但实际上最小二乘法也处理非线性方程,因为这里所谓的非线性是对x而言,而只要对于所求的参数是线性方程就可以。比如下面的例子中x的方幂组成的矩阵X只是一个系数矩阵,对于所求的参数β这仍是个线性方程组。

  • 相似矩阵拥有相同的特征值,但是特向量一般不相等(如果特征向量也相等那估计就是同一个矩阵了);
  • 如果两个矩阵拥有n个相同的特征值,那么他们必然相似于某个对角矩阵。

29 奇异值分解SVD

29.1 简介

本讲介绍奇异值分解(Singular value decomposition),简称SVD。这是矩阵最终也是最好的分解,任意矩阵可分解为A=UΣVT,分解结果为正交矩阵U,对角阵Σ和正交矩阵V

如果矩阵A是正定矩阵,它的奇异值分解就是A=QΛQT,一个正交矩阵Q就可以满足分解,而不需要两个。而对于可对角化的矩阵有A=SΛS1,但特征向量矩阵S并不是正交矩阵,而SVD中的UV都是正交矩阵。

29.2 对矩阵进行SVD分解

可将矩阵A视为一种线性变换操作,将其行空间的一个向量v1,变为其列空间中的向量u1=Av1 。奇异值分解就是要在行空间中寻找一组正交基,将其通过矩阵A线性变换生成列空间中的一组正交基Avi=σiui

找出矩阵A行空间中的正交基很容易,Gram-Schmidt正交化过程就可以做到,但是随便的一组正交基经过矩阵矩阵A变换得到的向量并不一定正交,因此满足此要求的行空间的正交基非常特殊。而矩阵A零空间的向量所对应的是矩阵Σ对角线上的0元素,因此很容易处理。

  • 问题的核心就是找到行空间中一组特殊的正交基:

A[v1v2vr]=[σ1u1σ2u2σrur]=[u1u2ur][σ1σ2σr]

如果加入零空间的部分,等式就变为AV=UΣ,其中V=V+V

  • 选取的行空间的一组基向量为:V=v1,v2,,vr

  • 零空间对应的正交基V=vr+1,,vn,经过线性变换得到AV=0,对应矩阵Σ中对角线最后的特征值σr+1=σr+2==σn=0

在等式AV=UΣ两侧右乘V1得到A=UΣV1=UΣVT

现在的问题就是怎么找到符合要求的向量vi,ui

为了得到这两个正交矩阵,考虑首先解决其中的一个,在等式A=UΣVT两侧分别乘上等式AT=VΣTUT两侧的项:

ATA=VΣTUTUΣVT=VΣTΣVT=V[σ12σ22σr2]VT

注意到ATA是一个对称方阵,并且符合正定矩阵正交分解的形式,上式其实就是正定矩阵ATA的正交分解,vi就是矩阵ATA的特征向量,σi2就是矩阵ATA的特征值,奇异值σi要取正平方根。用同样的办法也可以求得U,它的列向量就是矩阵AAT的的特征向量。

注意:上述求V或者U即——两侧分别乘上等式AT=VΣTUT 的方法只能用于V或者U求解某一个,不能将VU都用这种方法求解,这是因为确定特征向量的过程中,特征向量反向仍然符合要求,通过现在的方法无法确认向量的符号,但是一旦我们确认的V方向之后,U的方向也就随之确定,将V代入AV=UΣ计算U可以避免这种问题。VU之间的符号联系在进行ATA的计算时被切断了,而用AV=UΣ计算可以避免此问题。

我们注意到,如果U的一个向量反向,U中的两个向量仍然是正交向量,且此时可以完成奇异值分解,这是因为在奇异值分解的过程中,一旦确认了V中向量的方向之后,U中向量的方向也一起被限定了,而在本例中,我们用一种和V无关的方式求得了U,而这种方法并不一定总是有效,需要尝试改变向量的方向。通过将V代入AV=UΣ求得U,可以避免这个问题。

29.3 小结语

做奇异值分解就是在矩阵的四个子空间中寻找到合适的基:

  • v1,v2,,vr为行空间的标准正交基;
  • u1,u2,,ur为列空间的标准正交基;
  • vr+1,vr+2,,vn为零空间的标准正交基;
  • ur+1,ur+2,,um为左零空间的标准正交基。

奇异值分解在最小二乘法问题中有重要应用,因为在实际问题中常碰到矩阵A不是列满秩的状态,因此ATA不可逆,无法用之前的方法求最优解。即使是列满秩的情况当矩阵是超大型矩阵时,ATA的计算量太大,用奇异值分解的办法会降低计算量。

图为G.Strang给出的二阶方阵SVD的几何意义

关于该图的解释、奇异阵的意义、以及奇异阵为什么能丢掉请看一下链接:

【SVD的数学涵义及其应用实例 - 钱默吟的文章 - 知乎 https://zhuanlan.zhihu.com/p/57803955

【奇异值的物理意义是什么? - 知乎 https://www.zhihu.com/question/22237507

【为什么PCA中奇异值分解(SVD)和特征分解可以降低数据维度 https://blog.csdn.net/qq_41987033/article/details/81211574】

30 线性变换及对应矩阵

本讲介绍线性变换。在传统的线代课程中,线性变换会出现在的比矩阵还要早的位置,实际上可以在脱离坐标和具体数值的情况下讨论线性变换。但是面对科学计算的课题,还是要回到坐标上来。每个线性变换都对应于一个矩阵,矩阵概念的背后就是线性变换的概念。

无论是“线性变换”还是“矩阵”,对于初学者来说都是陌生而且突兀的概念。矩阵看起来直观,但是其运算规则总让人摸不着头脑;线性变换的概念显得抽象一些,但其实也可以描述得很朴素。G.Strang是从矩阵的概念出发,往求解线性方程组的方向引导大家,他最成功的地方是引入了列图像以及矩阵乘法的行操作、列操作,将矩阵运算变得不那么“没头没脑”。而之前推荐过的《线性代数应该这样学》是从线性变换的角度出发,用朴素的描述在更高的抽象层面讨论,很多原理与法则就变得比较简洁。个人认为两者都优于从行列式出发进入线性代数的路线。在《理解矩阵》中,作者写到矩阵的背后就是线性变换,相似矩阵描述的实际上是同一种线性变换。G.Strang说理解线性变换的本质就是找到它背后的矩阵。这实际上是一个意思,只是出发点和看问题的角度不同。当具体的矩阵和抽象的线性变换在大脑中合二为一的时候,才是对线代最本质的理解。 线性变换和矩阵的关系还可以参考以下课程,在2D空间中这个关系更容易描述:

30.1 几个小例子

  • 正例1:投影 Projection

抛开矩阵,从线性变换的概念来讨论“投影”。通过线性变换使得平面内的一个向量变为平面内的另一个向量,这种变换关系通常称之为“映射”(mapping)。

TR2R2

T(v)就像一个函数,给一个"输入",进行线性变换后得到一个"输出"。比如将二维平面的向量投影到一条直线上。

线性代数只讨论线性变换,而线性变换符合如下规则:

对于任意向量vw和标量c,有:

T(v+w)=T(v)+T(w);T(cv)=cT(v)

将两者结合就得到:

T(cv+dw)=cT(v)+dT(w)

  • 正例2:旋转45度 Rotation by 45

这个变换TR2R2,是一个线性变换,数乘和加法均符合。

  • 反例1:平面平移 Shift whole plane

沿着某方向v0平移一个平面。这就不是一个线性变换。两条法则都违反。更简单的验证方法是线性运算规则的特例T(0)=0,“平移”不符合这个规则特例。

  • 反例2:求长度T(v)=||v||

这个变换,输入一个三维向量,得到一个数值(或者说一维向量),即TR3R1。该变换可以满足T(0)=0,但是数乘负数就不符合规则。

30.2 线性变换

对二维平面的图像做线性变换的操作示意图。

矩阵T(v)=Av,矩阵乘法是一个线性变换:

A(v+w)=Av+Aw;Acv=cAv

整个平面可以通过矩阵的乘法完成变换。

例如,对上图的房子图像施加矩阵A=(1001),则输出的是上下颠倒的房子。

理解线性变换的本质就是确定它背后的矩阵

例:对某一线性变换TR3R2,输入一个三维向量而输出是一个二维向量。变成矩阵的形式T(v)=Av,则矩阵A是一个2×3矩阵。

30.3 描述线性变换 Describing T(v)

在平面内,如果我们已经了解两个线性无关的向量v1v2经过线性变换的结果T(v1)T(v1),我们实际上可以通过其线性组合,了解平面内所有的向量线性变换的结果。因此如果我们想了解线性变换对整个输入空间的影响,只需要确定它的一组基v1,v2,,vn线性变换的结果。

v=c1v1+c2v2++cnvnT(v)=c1T(v1)+c2T(v2)++cnT(vn)

线性变换与坐标无关,而矩阵是与坐标有关的。选定一组基,则对于一个向量而言c1,c2等等就是一组坐标值,给定了将向量表示为基向量线性组合的唯一的表达式。因此可以说坐标源自于一组基,c1,c2,,cn就是向量的一组坐标值。通常给出空间的坐标是标准坐标,即一组标准基。例如:

v=[324]=3[100]+2[010]+4[001]

如果用矩阵A来表示线性变换TRnRm。则需要两组基,即输入空间的一组基和输出空间的一组基,来分别确认输入向量与输出向量的坐标。设v1v2,,vn为输入空间的基,而为输出w1w2,,wn空间的基,用矩阵来表示线性变换就是将向量的坐标乘以矩阵得到它在输出空间的坐标。

  • 例:投影

将二维平面内的向量投影到一条直线,选择输入空间基向量为v1v2,其中v1沿着投影方向,v2垂直于投影方向,输出空间基选择w1=v1,w2=v2。对于输入空间中任意向量vv=c1v1+c2v2,输出为T(v)=c1v1

因此这个线性变换的矩阵就是A=(1000),输入[c1c2]得到[4004][c1c2]=[c10]。这组例子中实际上我们以投影矩阵的特征向量为基,因此得到的矩阵A是对角阵。对角线上就是投影矩阵的特征值1和0。

而如果我们以标准坐标为基,即w1=v1=[10]w2=v2=[01]。对应的投影矩阵就是之前学到的投影矩阵P=aaTaTa对于投影到斜率45度的直线,P=(12121212)

30.4 如何确定矩阵A Rule to find A

矩阵A的列实际上是描述输入原空间的基向量得到的列空间线性组合的系数:

T(v1)=a11w1+a21w2++am1wmT(v2)=a12w1+a22w2++am2wm

这样矩阵A就满足“A[]=[]”。

例如:A[100]=[a11a21am1],所得结果就是输出空间的坐标,也就是输出空间的基进行线性组合所需要的系数。

  • 介绍一个特别的线性变换——求导,T=ddx
    • 输入:c1+c2x+c3x2 ,基:1,x,x2
    • 输出:c2+2c3x ,基:1,x

这是一个T:R3R2的线性变换。

矩阵A满足:A[c1c2c3]=[c22c3],可求得矩阵A=(010002)

更普遍的来讲,矩阵的逆矩阵就是线性变换的逆变换,矩阵的乘积就是线性变换的乘积,矩阵乘法源自于线性变换。

31 基变换和图像压缩

本讲介绍基变换。选择合适的基向量会给计算制造便利。基变换的一个重要应用就是压缩,图像、影像、音频和其它一些数据都会因为基变换而得到更高效的压缩储存。本讲的主题仍旧是线性变换和矩阵的关联。

31.1 图像压缩 Compression of images

本讲涉及的压缩过程是有损压缩。例如一幅像素是512×512的静态黑白图像,图像用一个向量来表示,向量的分量xi表示像素的灰度,变化范围0xi255,占8bits。该向量属于Rn空间,n=(512)×(512)。彩色图像描述每个点的像素需要三个数据,向量长度是黑白图像的3倍。

图像的标准压缩方式为JPEG(联合图像专家组 Joint Photographic Experts Group)。图像压缩的本质就是基变换

压缩前图像采用的基向量是标准基。但是在图像中离得很近的区域,颜色是非常接近的,比如教学视频中黑板的一个区域,这些区域像素的灰度值很接近,但是用标准基来存储并没有利用上这一特点,这就给了我们压缩的空间。

标准基就是:

[1000],[0100],,[0010],[0001]

而显然对于灰度很接近的情况(即一幅图像的灰度基本都是一个值),[1111]是一个很好的基(代表低频信号,频率为0,平滑。在图像压缩后经常会存在,因为其系数通常很大),在一组基中有一个这样的向量能解决很大的问题,可以处理像素灰度接近一致的情况。但图像不是灰度完全一致的,因此接下来的问题是跟它相配合的基要选择哪些。极端的情况包括选择[+11+11],它可以给出类似国际象棋盘那种黑白相间的状态(最高频信号,噪音、扰动……在图像压缩后很少存在),还有图像一半图像暗一半图像亮,可以选择[+1+111]

  • 傅里叶基 Fourier basis

在JPEG中,将512×512的区域划分为8×8的区块进行处理,所用到的基是傅里叶基向量。

R8中的基举例:

[11111111],[1ωω2ω3ω4ω5ω6ω7],[1ω2ω4ω6ω8ω10ω12ω14],,[1ω7ω14ω21ω28ω35ω42ω49]

傅里叶基(Fourier basis)就是之前讲过的傅里叶矩阵的列向量,每个元素为复数的幂。在8x8区块中有64个系数,64个基向量,在这个64维空间中做基变换。

xcc^(0)x^=c^ivi

首先对输入的信号x,从标准基变换为傅里叶基,得到系数c,这一步是无损的过程。之后设置阀值进行压缩,超过阀值的认定为肉眼无法分辨的信号。在数学上表现为某些基向量的系数很小,这部分可以丢弃,随之得到新的系数c^。将新的系数赋值在傅里叶基上求和得到x^=c^ivi。此时求和项已经不是64项,可能只剩下两三项,这就是压缩。

视频文件可以视为图像的序列,一幅一幅进行图像压缩即可。但这样做没有利用好视频的性质,因为视频是连续的,一幅图像和下一幅图像非常接近,因此可以存储一幅基础图像,随后只存储下一幅图像对它的修正部分。

  • 小波 Wavelets

下面介绍另一组和傅里叶竞争的基向量——小波。

R8中的基举例:

[11111111],[11111111],[11110000],[00001111],[11000000],,[00000011]

这个只是一个小波选择,还有很多更精细的选择,这一组基中有太多从+1跳转到-1的变化。线性代数要做的基变换,就是将标准基下的向量p=[p1,p2,,p8]表示为小波基的线性组合,求出线性组合的参数c满足p=c1w1+c2w2++c8w8,即p=WcW即以小波基向量为列向量的小波矩阵。因此有c=W1p

好的基向量组要求:第一,可以快速求逆矩阵,例如快速傅里叶变换,这里也存在快速小波变换,因为小波矩阵列向量正交,因此可以转置得到逆矩阵;第二,要少量基向量就可以近似信号,可压缩的比例就比较高。

31.2 基变换 Change of basis

W的列向量是一组新的基向量。在旧基向量体系下的向量x和新基向量下的c的关系是:x=Wc

  • 变换矩阵

已知一个线性变换TR8R8。当使用空间的一组基时v1v2,,v8,线性变换对应的矩阵为A;当使用一组新的基u1u2,,u8时,线性变换对应的矩阵为矩阵B。两个矩阵对应的是同一个线性变换,只是使用了不同的基向量。那么AB相似矩阵——B=M1AMM是基变换矩阵(相似矩阵就是通过不同的基表示同一个向量)。

复习一下线性变换的内容:

x=c1v1+c2v2++c8v8T(x)=c1T(v1)+c2T(v2)++c8T(v8)T(v1)=a11v1+a21v2++a81v8T(v2)=a12v1+a22v2++a82v8

矩阵A就是aij组成的矩阵。

如果我们使用的基向量就是特征向量T(vI=λivi),矩阵A就变成对角阵Λ。找出特征向量是压缩最理想的结果,但是找出图像的特征向量代价太大,因此我们找到代价小但是接近理想状态的基向量(例如小波基)进行基变换,完成压缩过程。

之前我在线性变换和基变换这两讲后面留了很多具体文字,希望帮助大家理解和区分这些概念,但是有的小伙伴貌似反而被误导,所以我把另一门课程的几何描述放在这里,希望大家看了之后可以完全明白,基变换是在同一个空间中,改变对一个东西的描述方式而已。

31.3 线性变换与基变换的区别与联系

我们可以将基变换理解为特殊的线性变换,因为基变换其实是可逆线性变换,也就是说,始终是可逆矩阵。

  • 线性变换:

将一个向量变换为另一个向量,是在同一个坐标系(基向量)下的两个不同向量,其中矩阵的列可以看为标准基变换后的基,从这个变换中我们能看出这个矩阵对应什么变换。

  • 基变换:

基变换在变换前后描述的都是一个向量,它表示一个向量在原来的基下的表示(系数)变换为另一组基下的表示(系数)。其中基变换矩阵的列表示原来的基在新的基下的坐标。

。但是变换前的向量是在原来的基下的表示,变换后的向量的表示在新的基下的表示

线性代数的本质09 基变换 - 三少爷的键的文章 - 知乎 https://zhuanlan.zhihu.com/p/110975625

32 第三部分小结

主要内容

  • 特征值和特征向量Ax=λx
  • 微分方程dudt=Au和矩阵指数形式eAt
  • 对称矩阵A=AT的特征值永远为实数,总有足够的特征向量实现矩阵的对角化A=QΛQT
  • 正定矩阵;
  • 相似矩阵B=M1AM,两矩阵具有相同的特征值,但是特征向量不同,矩阵的乘方形式很接近B=M1AkM
  • 奇异值分解SVDA=UΣVT

几个知识点:

矩阵A的特征向量相互正交的条件:

AAT=ATA

对称阵、反对称阵、正交阵都满足上面条件。

投影矩阵的特征值等于0或者1,因为P2=Pλ2=λ

例题参考:https://zhuanlan.zhihu.com/p/46124814

33 左右逆和伪逆

本节主要介绍左右逆矩阵和伪逆矩阵。

33.1 两侧逆矩阵 2-sided inverse

矩阵A的两侧逆矩阵A1满足A1A=AA1=I。这就是我们通常说矩阵A的逆矩阵。此时r=m=nA为满秩方阵。

33.1.1 左逆矩阵 Left inverse

现在我们考虑一个列满秩的矩阵Am×n(n<m),秩r=n,列向量线性无关。则矩阵的零空间N(A)只有零向量,方程Ax=b无解或者有唯一解。当矩阵A列满秩的时候,矩阵为可逆矩阵,这是讨论最小二乘问题的核心。

矩阵ATAn×n的对称矩阵且满秩,因此矩阵ATA是可逆矩阵,即(ATA)1ATA=I。我们称Aleft1=(ATA)1ATA的左逆矩阵。Aleft1n×m矩阵,而Am×n矩阵,Aleft1A=In×n矩阵。

33.1.2 右逆矩阵 Right inverse

现在我们考虑一个行满秩的矩阵Am×n(n>m),秩r=m,行向量线性无关。则矩阵的左零空间N(AT)只有零向量。A的零空间维数为nm,因此有nm个自由变量,n>m时,方程Ax=b有无穷多解。

矩阵A的右逆矩阵为Aright1=AT(ATA)1

通常情况下右乘左逆矩阵得不到单位阵,AAleft1=A(ATA)1AT=P,这是列空间的投影矩阵。仅在m=n的条件下,AAleft1=I。一个长方形矩阵A不可能有两侧逆,因为AAT总有一个零空间的维数不是0。

同样的,左乘右逆矩阵得到的是Aright1A=AT(ATA)1A,这是向行空间投影的矩阵,投影矩阵在投影空间内表现的就像单位阵I一样。

33.2 伪逆矩阵Pseudoinverse

33.2.1 什么是矩阵的伪逆

可逆矩阵的零空间和左零空间只有零向量。列满秩的矩阵的零空间只有零向量,行满秩的矩阵的左零空间只有零向量。但对于不满秩的矩阵(r<nr<m),其两个零空间均存在,这就使得它取不到逆矩阵。

因为逆矩阵的作用可以看作是原矩阵的逆操作,但是矩阵A对其零空间中向量操作后变为0,这时没有逆操作能够恢复这一过程,所以带有零空间就不能取逆矩阵。

观察不满秩矩阵A的四个子空间,其行空间和列空间的维数相等,均为r。在其行空间中的向量x经过矩阵A操作后,变为列空间中的向量Ax。而xAx为一一对应的关系。如果将矩阵A限制在行空间和列空间上,它是个可逆矩阵,此时A的逆矩阵就是所谓的“伪逆矩阵A+”。

问题的关键就是一一对应,有如下定理:

  • 对于矩阵行空间中的向量xy,其通过矩阵A映射到列空间得到的向量AxAy

上述定理说明了, 行空间中的向量可以通过Ax进入列空间, 由于是一一对应,我们其实可以把 Ax还原成x

x=A+(Ax)

其中A+便是伪逆(pseudo inverse)。对于任意一个向量xRnAx的过程中A消灭了xN(A)中的部分。对于任意向量xRm的过程中A+消灭了xN(AT)中的部分。

实际上A+的作用并不是把A转换成单位阵,它只是把A投影到列空间(右乘)或行空间(左乘)上,消除掉 null space and left null space。

证明:若行空间中存在向量y与向量x在列空间中对应的向量相同,则有AxAy=0,即A(xy)=0,则xy为矩阵A零空间中的向量,但矩阵的行空间对线性运算封闭,因此xy为行空间中的向量,因两个子空间正交,所以有(xy)=0,即xy相同。因此行空间与列空间中的向量为一一对应,这种对应关系由y=Ax,给出, 其中xC(A),yC(A).

统计学家非常需要伪逆矩阵,因为他们要做很多最小二乘法进行线性回归的问题。如果矩阵不满秩,则矩阵ATA为不可逆,所以无法用之前的办法解决,此时要用到伪逆矩阵。

33.2.2 伪逆的求解

我们从SVD开始A=UΣVT,如果我们能找到Σ的伪逆Σ+那么A的伪逆就可以写为:

A+=VΣ+UT

求伪逆矩阵A+的一个方法是利用奇异值分解A=UΣVT,其中对角阵Σ是由矩阵奇异值排列在对角线上构成的m×n矩阵,其秩为r,则伪逆矩阵A+n×m矩阵,矩阵的秩也为r

矩阵右乘伪逆矩阵得到ΣΣ+m×m矩阵,矩阵对角线前r个元素为1,其它元素均为0,而左乘伪逆矩阵Σ+Σ得到n×n,矩阵对角线前r个元素为1,其它元素均为0,这两个都是投影矩阵,一个投影到行空间,一个投影到列空间。

而矩阵A的伪逆矩阵为A+=VΣ+UT

逆矩阵满足四个性质:

  • 性质1:AA+A=A
  • 性质2:A+AA+=A+
  • 性质3:AA+=(AA+)T
  • 性质4:A+A=(A+A)T

注意:AA+=UΣVTVΣ+UT得到的并不是形如ΣΣ+这种对角线上只有1和0的对角阵,所得结果是A行空间的投影矩阵。
例如A=(11),通过奇异值分解计算可以得到A+=(1212)。而AA+=(12121212)

参考链接:MIT—线性代数笔记33 左右逆和伪逆 - 三少爷的键的文章 - 知乎
参考链接:MIT 线性代数 Linear Algebra 32:左逆,右逆,伪逆

posted @   博客侦探  阅读(256)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示