线性代数-2

 

正交矩阵和施密特正交化

正交矩阵及其性质

标准正交】(Orthonormal vectors):满足如下条件的向量 q1q2qn 标准正交 : qiTqj={0 if ij1 if i=j标准正交向量是线性无关的,很多线性代数的计算都建立在标准正交的基础上,可以将一些复杂问题简化,降低运算律。

比如如果Q的列向量为标准正交向量(Q不一定是方阵),那么QTQ=I单位阵。
对于投影矩阵P=Q(QTQ)1QT分两种情况讨论:
(1) Q不是方阵,那么P=QQT
(2) Q是方阵,那么投影矩阵就是单位阵P=I,因为Q的列向量张成了整个空间,所以投影过程不会对向量有任何改变(已经在空间内,再往该空间投影,投影前后向量不变)。

Recall:我们先前提到的最小二乘法求解,将Ax=b转化为求解ATAx^=ATb,如果A的列向量都是标准正交,那么ATA=I,于是我们要求解的问题变为了x^=ATb。此处的A和上面讨论的Q是一个东西。

(标准)正交矩阵(orthogonal matrix):标准正交的方阵即为正交矩阵。比如Q=[001100010]QT=[010001100]上面两个置换矩阵都是正交矩阵,并且二者的乘积为单位阵。

再比如[cosθsinθsinθcosθ]为正交矩阵,但是[1111]不是正交矩阵,因为没有归一化。

再比如12[1111111111111111]这个矩阵叫作Hadamard矩阵,是由11组成的正交矩阵,不同阶数的矩阵性质不同且没有规律,无从判断几阶的阿达玛矩阵为正交矩阵。

长方形矩阵13[122122]的列向量标准正交,我们可以将其拓展为正交矩阵13[122212221]

正交矩阵的性质

  • QTQ=IQT=Q1,最典型的比如置换矩阵;
  • 行列式的值必为+11
    • +1时,称为特殊正交矩阵,即旋转矩阵
    • 1时,称为瑕旋转矩阵(improper rotation matrix),即旋转+镜射。从化学结构对称性的角度看,就是Sn symmetry,即Sn= rotation of 360/n+ perpendicular mirror reflection。我理解的话,此时的正交矩阵等于纯旋转矩阵乘以一个纯镜射矩阵,而这里的纯旋转矩阵、镜射矩阵也都是正交矩阵。更具体的例子,比如将unchanged point放在三维坐标原点,那么沿着Z轴旋转φ,然后做xy面的反射,这样的旋转反射可以表示为矩阵A=(cosφsinφ0sinφcosφ0001)
    • 注意,瑕旋转矩阵的旋转角度可能为零(360度),那么此时瑕旋转矩阵等同于镜射矩阵
  • 作为一个线性变换,是保距映射,具体例子为旋转与镜射,此处是指欧式距离。
  • 正交矩阵乘一个向量的结果是:把这个向量反射到某个平面并且/或者旋转它,不会改变向量的长度。
  • 复特征值模长必为1

正交矩阵与群

xx补充

正交矩阵与矩阵分解

  • SVD分解中,两次旋转操作,都对应正交矩阵。
  • 补充xxxx

 

Gram–Schmidt process

格拉姆-施密特正交化】:两个线性无关的向量ab它们张成了一个向量空间,我们现在要做的是找到两个标准正交的向量q1q2使它们张成的空间和先前的空间一样。

施密特的贡献:如果我们有一组正交基ab,那么我们让它们除以各自的模长,得到的就是标准正交基。q1=a||a||,q2=b||b||格拉姆的贡献:


ab转化成相互垂直的AB(前者A=a,变化后者),B=bp=bATbATAA 等式两端同时乘以AT可以得到ATB=0。这里的AB都是一维(列)向量,但是不限制Rn中的n,即不限制每个向量中包含的元素个数。

如果多出来一个线性无关的向量c,我们可以通过c中减去其在AB两个方向的投影来得到CC=cATcATAABTcBTBB

注:正交化本质就是扣掉该向量在所有其他向量上的分量,这个分量可以通过投影矩阵的形式(最简单的形式,分母是数字,杀鸡用牛刀),也可以直接想成向量内积的形式去计算。总而言之,扣除分量之后得到的新向量和其他向量张成空间垂直,或者说新向量与其他向量每一个都垂直。这样将每个向量都这样处理,然后归一化,即可得到正交化的向量组,即一组标准正交基。

例如 : a=[111],b=[102],则有 A=a,B=[102]33[111]=[011],验证计算得 ATB=0。写出 q1q2 所组成的矩阵为:Q=[q1q2]=[1/301/31/21/31/2]Q列向量的空间就是ab张成的空间。 因此矩阵Q和矩阵[111012]有相同的列空间。

QR分解

换一种思路理解线性无关向量的标准正交化
前面我们是用施密特正交化公式的方法来将多个线性无关的向量进行标准正交化(不改变列空间),但是真正学习线性代数的可不喜欢这种方法。我们先前学习了A=LU分解,而在对A做施密特正交化的过程可以用矩阵运算的方式表示为A=QR,此处R为上三角矩阵。上一问中,对A其实进行的是列操作得到R,同样地,如果对R进行列操作也可以得到矩阵A[a1a2]=[q1q2][a1Tq1a2Tq1a1Tq2a2Tq2]R为上三角矩阵,a1Tq2=0,因为a1q1的方向一致,于是和q2正交。

采用QR分解来帮助求解Ax=b的问题,最大的又是是提高了数值的稳定性。

 

 

行列式和代数余子式

行列式的初等性质
(1)  det(I)=1|1001|=+1

(2)  交换行列式的两行,得到的行列式值要变号。也就是说对于置换矩阵来说,如果行交换的总次数为偶数,那么最终不变号,如果行交换的总次数为奇数,那么行列式值就要变号。|0110|=1

(3)
(3-a)如果在矩阵的一行乘以t,那么行列式的值就要乘以t|tatbcd|=t|abcd|
(3-b)  行列式是“行列式的行”的线性函数(每次只能在一行上做线性变换)|a+ab+bcd|=|abcd|+|abcd|行列式的推导性质(基于前面三条性质)
(4)  含有相同行的行列式值为0。从性质(2)推导而来,行交换,本来应该变号,但是实际是不变号的,唯一的可能就是行列式的值为0
(5)  矩阵的k行减去第i行的倍数,并不改变行列式的值。换句话说,我们在用这个进行消元的时候,并不改变矩阵对应的行列式的值。
(6)  如果矩阵的某一行全部都是0,那么其行列式为0。在性质(3)a中取t=0即可证明。
(7)  三角阵的行列式的值等于其对角线上的数值(主元)的乘积。|d10d20000dn|=|d10000d2000000dn|=d1d2dn|1000010000001|=d1d2dn 证明:消元不改变行列式值(性质5)+性质3(a)。
(8)  当且仅当矩阵A为奇异矩阵时,其行列式为0
我们先前理解的奇异矩阵就是消元操作之后,会有某一行全为零,于是行列式肯定等于零;另一方面,如果不是奇异矩阵,那么按照性质7的变换(不会出现全为零的行),我们得到的行列式的值肯定不是零。
(9)   det(AB)=det(A)det(B)尽管矩阵的和的行列式不等于行列式的和,但是矩阵乘积的行列式等于矩阵行列式的乘积。

如果A是可逆矩阵,那么det(A1)=1det(A),此外det(A2)=det(A)2det(2A)=2ndet(A),类似三维体积问题,每一个维度上翻倍,那么新的体积是原有体积的23=8倍。
(10)  det(AT)=det(A)   主要是利用A=LU分解,而LU都是三角阵,利用性质7

计算机计算行列式的方法:并不是按照显示的方式计算的,而是消元转化为三角阵,然后将主元相乘。例如(不考虑a=0)[abcd][ab0dca]|abcd|=a(dcab)=adbc

 

推导行列式的计算方法(推导)
计算方法是基于前面性质的推论,特别是前三条性质。对于二阶矩阵|abcd|=|a0cd|+|0bcd|=|a0c0|+|a00d|+|0bc0|+|0b0d|=0+adcb+0=adbc对于三阶矩阵|a11a12a13a21a22a22a31a32a33|=|a11000a22000a33|+|a110000a230a220|+|0a120a210000a33|+|0a12000a22a3100|+|00a13a21000a220|+|00a130a220a3100|=a11a22a33a11a23a33a12a21a33+a12a23a31+a13a21a32a13a22a31总之,总体的思路是先拆个稀巴烂,每次拆一行,总共拆n行,类似于n个循环嵌套,一层层剥离,就可以得到所有可能的nn种情况。但是其中很多行列式的值为零,实际需要计算的量就会减少(计算n!个行列式即可),这就要求不同行所取的元素的对应的列数不同(所在的列如果相同,那么通过性质5,消元使得这一行的所有元素都为零,而消元不改变行列式大小,所以最终推出行列式等于零)。计算的时候,通过行交换都换成三角阵,那么根据前面性质七就很好算,但是要注意行交换了多少次(变号情况)。

代数余子式(cofactor formula)的应用
代数余子式是用较小的矩阵的行列式来写出n阶行列式的公式,有点降阶的意思。例子det(A)=a11(a22a13a22a12)+a12(a21a33+a23a31)+a13(a21a32a22a31)=|a11000a22a220a32a33|+|0a120a210a22a310a33|+|00a13a21a220a31a220|需要注意的是符号的变化。对于二阶矩阵,我们同样可以采用相同的方法|abcd|=ad+b(c)代数余子式的核心是通过降阶来讲原来的行列式展开为更简单的行列式。

原矩阵去掉aij所在的行和列得到的n1阶行列式叫作余子式,记为Mij;记Aij=(1)i+jMij,叫作元素aij代数余子式

拉普拉斯展开(Laplace expansion):det(A)=j=1n(1)i+jMi,jai,j

伴随矩阵】(Adjugate matrix)
代数余子式Aij组成的矩阵,然后进行转置得到的就是伴随矩阵。A=(A11A21An1A12A22An2A1nA2nAmn)=(Aij)T伴随矩阵最大的用处是用来计算逆矩阵A1=1det(A)A

三种计算行列式值的方法的复杂程度:消元法 < 代数余子式 < 行列式展开


三对角阵
它除对角线和对角线两侧相邻的元素之外,其他元素全为零。比如计算由1组成的4阶三对角阵A4=[1100111001110011]我们可以从1阶开始算起|A1|=1,|A2|=|1111|=0,|A3|=|110111011|=1 |A1|=1|110111011|1|110011011|=|A3|1|A2|=1从矩阵的特殊结构我们可以知道|An|=|An1|1|An2|

由1组成的n阶级三对角阵的行列式从1阶开始按照1、0、-1、-1、0、1进行循环。

三对角线性方程组,对于熟悉数值分析的同学来说,并不陌生,它经常出现在微分方程的数值求解和三次样条函数的插值问题中,具体参考这里

柯西-比内公式(Cauchy–Binet formula):补充xxA=(112311)B=(113102)det(AB)=|1131||1131|+|1211||3102|+|1231||1102|

 

 

克莱姆法则/逆矩阵/体积

二阶矩阵求逆矩阵的方法如下:[abcd]=1adbc[dbca]我们根据这样的特例,能否找到通行的求解任意阶矩阵的逆矩阵的方法。

求解逆矩阵的公式(formula for A1)的通用办法
先给出答案(这里的A就是伴随矩阵,或者说(Aij)T)A1=1det(A)A我们知道AA=[a11a1nan1amn][C11Cn1C1nCmn]于是有AA=[detA0000detA00000000detA]=det(A)I我们很容易知道对角线上的元素都是detA,但是如何理解非对角线上的元素都是零呢?

比如我们用A的第i行去乘伴随矩阵的第j列(其实就是矩阵Aj行的代数余子式),可以看作将原行列式的第i行赋值给第j行,这样做的话不改变第j行的代数余子式,而新得到的行列式展开结果为零,因为行列式中存在相同的两行。


克莱姆法则
(Cramer's rule for x=A1b)
如果A可逆,那么方程必然有解x=A1b=1det(A)CTb我们可以这样思考xj=det(Bj)det(A)其中B1=[b1a12a1nb2a22a2nb3a32a3nbnan2ann],Bn=[a11a1n1b1a21a2n1b2an1n1bn1an1an2ann1bn]将矩阵Bj的行列式的数值从第j列用代数余子式展开计算,正好是伴随矩阵A的第j行和向量b点积的结果。这里我们用到了性质10 det(AT)=det(A)

注:
(1) 相比消元法,这种克莱姆法则的计算效率更低。
(2) 克莱姆法则的应用实例见维基百科,可以更好地帮助理解。

矩阵行列式和体积的关系
以三阶为例,|det(A)|= volume of box 。行列式的绝对值就是平行六面体的体积,行列式的正负对应左手系和右手系。

(1) 如果矩阵A是单位矩阵,那么就像性质1说的,行列式等于1,体积也是1。
(2)如果矩阵A是正交矩阵,那么其构成也是三个相互垂直且长度为1的正方体,体积同样等于行列式的值的绝对值。
(3)交换矩阵的行,不会改变体积,因为行列式只是变号,绝对值是不变的,这对应于性质2。
(4)对于长方体,将其中一条边的长度翻倍,那么体积翻倍,正好对应于性质3a。
(5) 对于二阶行列式,其行列式的绝对值就是对应的平行四边形的体积。其二分之一,就是对应三角形的面积。考虑不过原点的情况12|x1y11x2y21x3y31|可以这样思考,第三列的代数余子式展开,可以得到过原点的大三角形面积减去过原点的两个小三角形的面积。
行列式是将矩阵的信息压缩成一个数,可以将“体积”视为它压缩后给出的信息。更多几何意义参见书籍。(参考线性代数的几何意义)

 

特征值和特征向量

Ax=λx矩阵A相当于算符,作用于输入函数x,得到输出λx。特征向量即在特定的向量x方向上输出的Axx平行;特征值λ就是缩放因子。

如果A是不可逆矩阵,那么0一定是其特征值之一,即Ax=0x=0特征值0对应的特征向量张成了矩阵A的零空间。

  • 一般定义里面特征向量不能是零向量;
  • 特征子空间:属于λi的全体特征向量与零向量构成的集合,有的地方也叫特征空间
  • 主特征向量:特征值最大的特征向量;
  • :矩阵特征值的集合;
  • (trace):对于n×n矩阵A,它具有n个特征值(包含重复的特征值),并且它们的和等于矩阵对角线上元素的和,这个数值称为矩阵的迹。

 

常见矩阵的特征值/向量

(1)投影矩阵
如果矩阵P是朝向某平面的投影矩阵,那么对于该平面内的向量x,有Px=x,也就是是说1是矩阵P的特征值,对应的特征向量张成了投影矩阵P对应的投影平面(空间),或者说投影矩阵的行空间

        另一方面,对于垂直于该空间的向量x,显然,经过投影矩阵P的作用后得到的是零向量,也就是说Px=0x=0,于是特征值0对应于该特征向量x。所有满足要求的特征向量构成的是投影矩阵的零空间。

        上面的投影空间和零空间,也就是两类特征向量各自张成的空间,这两个空间相互垂直。总而言之,投影矩阵P的特征向量张成了整个左侧空间(四个子空间的正交关系图),由于投影矩阵是对称阵,所以左侧空间和右侧空间相同。

(2)交换矩阵
A=[0110]具有特征向量x=[11],对应于特征值1;另一个特征向量x=[11],对应于特征值1。这两个特征向量张成了整个空间。因为是对称矩阵,所以两个特征向量相互垂直(具体原因后面的问答中有解释)。

(3) 反射矩阵(Reflection matrix)
当蒙娜丽莎的图像左右翻转时,中间垂直的红色向量方向保持不变。而水平方向上黄色的向量的方向完全反转,因此它们都是左右翻转变换的特征向量。红色向量长度不变,其特征值为1。黄色向量长度也不变但方向变了,其特征值为-1。橙色向量在翻转后和原来的向量不在同一条直线上,因此不是特征向量。

下图给出了分别沿着x轴、坐标原点、y轴、y=x轴进行reflection transformation操作对应的矩阵。

(4)旋转矩阵(Rotation Matrix)
二维旋转(沿着原点)
[xy]=[cosθsinθsinθcosθ][xy]相当于对[xy]沿着原点,逆时针旋转θ得到[xy]。根据旋转矩阵的性质,我们就知道,对于实数的坐标向量而言,旋转之后,除了少数几个特定的旋转角度,其他旋转操作之后都不会与原来的方向相同或者相反,除非原始的坐标向量就是零向量。

如果我们取θ=90,根据通用的求解方式有det(QλI)=|λ11λ|=λ2+1=0λ1=i,λ2=i如果一个矩阵具有复数特征值a+bi,则它的共轭复数abi也是矩阵的特征值实数特征值让特征向量伸缩,而虚数让其旋转(类似小杂音)

实例:逆时针90度旋转矩阵Q=[0110]=[cos90sin90sin90cos90],根据前面推导的性质,知道对于这个矩阵的两个特征值有λ1+λ2=0,λ1λ2=1,那么实数特征向量只有零向量,因为其它任何向量乘以旋转矩阵,方向都会发生变化。

三维旋转(沿着轴)
比如沿着Z轴旋转θ的矩阵为Rz(θ)=[cosθsinθ0sinθcosθ0001],实际例子如下Rz(90)[100]=[cos90sin900sin90cos900001][100]=[010100001][100]=[010]向量(1,0,0)沿着Z轴旋转90度得到向量(0,1,0)

当然对于更复杂的旋转操作,可以分解为三个Basic rotations的合成:R=Rz(α)Ry(β)Rx(γ)=[cosαsinα0sinαcosα0001][cosβ0sinβ010sinβ0cosβ][1000cosγsinγ0sinγcosγ]represents a rotation whose yaw, pitch, and roll angles are α,β and γ, respectively.

(5)伸缩矩阵(Scaling Matrix):薄金属板关于一个固定点(看作原点)均匀伸展,使得板上每一个点到该固定点的距离翻倍。这个伸展是一个有特征值2的变换。从该固定点到板上任何一点的向量是一个特征向量,而相应的特征空间是所有这些向量的集合。显然这里任意特征值对应的特征空间都是一维的。表达如下[xy]=[2002][xy]

三维情况,比如三阶方阵,对角线上的元素分别为322,其他元素为零,如果被作用的空间是原点以及(1,1,1)和三个坐标轴组成的小立方体,那么对于特征值2来说,它有两个特征向量(0,1,0)(0,0,1),显然该特征值对应的特征空间为二维。经过这个矩阵的变换之后,原来的小立方体变成了更大的长方体了。

(6) 剪切变换(shear transformation):拓展,参考wiki

(7) 挤压变换(squeeze transformation):拓展,参考wiki

(6) 地球自转:地球的自转,每个从地心往外指的箭头都在旋转,除了在转轴上的那些箭头。考虑地球在一小时自转后的变换,地心指向地理南极的箭头是这个变换的一个特征向量,但是从地心指向赤道任何一处的箭头不会是一个特征向量。因为指向极点的箭头没有被地球的自转拉伸,它的特征值是1。

(7) 驻波——多维向量空间:一个两端固定的弦上的驻波可以视为特征向量的一个例子,振动弦的原子到它们在弦静止时的位置之间的带符号那些距离视为一个空间中的一个向量的分量,那个空间的维数就是弦上原子的个数。驻波的形状,或者更精确地表达,弦上每个原子位置的向量(垂直于弦的方向)组成的高维向量,随着时间的流逝不断变化。以任意时刻作为起点,经过时间T后(时间变换函数作用),恰好和起始状态的形状重叠,弦的形状函数(t=0时刻,变x)经过时间T变换后得到自己(t=T,变x),于是特征值就是1,如果存在阻尼,那么特征值就会小于1

(8) Differential Operators:见本页谈线性空间和线性算子章节,补充,,,,以及深入理解傅里叶变换-Tracholar

(9) 【特征函数-傅里叶变换】:补充,,,参考Eigenfunctions of the Fourier Transform-Caltech

(9) 【特征向量—特征脸是特征变量的例子】:在图像处理中,脸部图像的处理可以看作分量为每个像素的辉度的向量。该向量空间的维数是像素的个数。一个标准化面部图形的一个大型数据集合的协变矩阵的特征向量称为特征脸。它们对于将任何面部图像表达为它们的线性组合非常有用。特征脸提供了一种用于识别目的的数据压缩的方式。在这个应用中,一般只取最大那些特征值所对应的特征脸。

(10) 【特征向量—因子分析】:在因素分析中,一个协变矩阵的特征向量对应于因素,而特征值是因素负载。因素分析是一种统计学技术,用于社会科学和市场分析、产品管理、运筹规划和其他处理大量数据的应用科学。其目标是用称为因素的少量的不可观测随机变量来解释在一些可观测随机变量中的变化。可观测随机变量用因素的线性组合来建模,再加上“残差项。

(11) 【特征向量—分子轨道】:在量子力学中,特别是在原子物理和分子物理中,在Hartree-Fock理论下,原子轨道和分子轨道可以定义为Fock算子的特征向量。相应的特征值通过Koopmans定理可以解释为电离势能。在这个情况下,特征向量一词可以用于更广泛的意义,因为Fock算子显式地依赖于轨道和它们地特征值。如果需要强调这个特点,可以称它为隐特征值方程。这样地方程通常采用迭代程序求解,在这个情况下称为自洽场方法。在量子化学中,经常会把Hartree-Fock方程通过非正交基集合来表达。这个特定地表达是一个广义特征值问题称为Roothaan方程。

参考资料:
第一性原理计算的理论基础——赵纪军
怎样理解 Hartree-Fock Method?—知乎

(9) Hermitian Operators,也叫自伴算子,其实就是复对称矩阵,其特征值都是实数,本征函数(向量)相互正交,而且本征函数是完备的。与物理系统的每一个可测量相对应的是量子力学算符。 算符之所以出现在量子力学中,是因为在量子力学里,我们需要用波函数来描述系统的运动状态。 常用算符 (参考:算符及其运算规则—知乎)

用更简单的话来说,量子力学中,矩阵代表力学量,矩阵的特征向量代表定态波函数(eigenstate),矩阵的特征植代表力学量的某个可能的观测值。

特征值的思想:很多人会问矩阵的特征值特征向量为什么这么神奇,可以把矩阵的操作变成一个简单的参数λ。还有人会问道为什么特征值在物理中出现非常频繁。对此我只能简单解释一下,物理中常见的被研究物体都有一个自身的内禀结构,这个内在结构的方向往往和观察者也就是外场的坐标有区别。当我们给物体施加一个外场刺激的时候,比如说外力或者电场极化等等,物体沿着其内在结构的取向来响应外场,但是观察者从外场坐标下采集反馈。实际上矩阵在不同坐标之间实现变换,特征向量显示了物体内结构的方向,特征向量则是在这个主方向上物体对外场的响应参数。在有的领域直接将特征值称为伸缩系数,实际上它反应了在其所对应的特征向量方向上,内结构与外场之间的相互关系。

特征值还有一个应用是作为降维的判据,比如在图像压缩过程中,极小的特征值会被赋值为0,以此节省存储空间,也便于其它操作。反映在图像上,降维后的图像基本轮廓依旧清晣,图像细节有所牺牲。

思想要点:矩阵的特征值要想说清楚还要从线性变换入手,把一个矩阵当作一个线性变换在某一组基下的矩阵,最简单的线性变换就是数乘变换,求特征值的目的就是看看一个线性变换对一些非零向量的作用是否能够相当于一个数乘变换,特征值就是这个数乘变换的变换比,这样的一些非零向量就是特征向量,其实我们更关心的是特征向量,希望能把原先的线性空间分解成一些和特征向量相关的子空间的直和,这样我们的研究就可以分别限定在这些子空间上来进行,这和物理中在研究运动的时候将运动分解成水平方向和垂直方向的做法是一个道理!参考特征值和特征向量的物理意义——数理溯源


特征值的求解

根据矩阵迹的特点,对于一个二阶矩阵,在已知一个特征值的条件下,由此可以得到另一个特征值。

对于一般情况Ax=λx,我们转化成(AλI)x=0。下面通过两个方式说明AλI为奇异矩阵,或者说行列式等于0
(1) 我们要求的x肯定是非零向量,不然没意义。如果有解,说明AλI的零空间至少是一维的,于是矩阵AλI不可能是满秩矩阵,因此其行列式等于零。
(2) 方程有非零解,说明矩阵AλI列向量的某些线性组合结果可以为零,于是这些列向量不是线性无关的,矩阵就不是满秩,因此行列式等于零。

于是根据det(AλI)=0,我们可以解得n个特征值,但是方程可能有重根,重根对应的不一定是重复的特征向量。得到特征值,可以根据消元法解AλI,这一矩阵零空间中的向量为矩阵A的特征向量。

Example-1: 一般方法求解特征值和特征向量的例子A=[3113]
根据行列式等于零det(AλI)=|3λ113λ|=(3λ)21=λ26λ+8很容易看出两个特征值分别是24,它们俩的和正好就是矩阵迹。下面求特征向量A4I=[1111],(A4I)x1=0,x1=[11]A2I=[1111],(A2I)x2=0,x2=[11]与前面的例子A=[0110]相比,特征向量不变,但是特征值平移了三个单位。

Example-2: 设 3 阶实矩阵 A 的特征多项式为 f(x)=x33x2+4x2 ,证明: A既不是正交矩阵,也不是实对称矩阵。参考castelu的B站视频


(反)对称矩阵和矩阵转置

对称矩阵的特征向量正交(主动选择)

λ1λ2是一个对称矩阵的特征值,对应的特征向量分别是x1x2。于是Ax1=λx1,两边同时乘以x2,于是x2TAx1=λ1x2Tx1,而x2TAx1=(ATx2)Tx1=λ2x2Tx1。因此有(λ1λ2)x2Tx1=0,而两个特征值不相等,因此只会是两个特征向量相互正交。

  • 对称矩阵永远有实数的特征值;
  • 而反对称矩阵,即满足AT=A的矩阵,具有纯虚数的特征值,旋转矩阵就是反对称阵。

转置之后矩阵特征值和特征向量的变化
我们前面提到的行列式的第十条性质有det(AT)=det(A),转置前后矩阵的行列式值不变。于是可以推出det(AλI)=det((AλI)T)=det(ATλI),因此如果λ是矩阵A的特征值,则有det(ATλI)=0,因此λ也是转置矩阵AT的特征值

特征向量,如果我们知道矩阵A的特征值λ,于是(AλI)x=0,其中的特征向量x对应于矩阵(AλI)的零空间,换句话说,对应于λ的特征向量一定在该零空间内,同时该零空间的任意向量也满足(AλI)x=0。同理,转置矩阵AT的特征向量对应于矩阵(ATλI)的零空间,或者说(AλI)的左零空间。注意(AλI)T=ATλI


韦达定理和矩阵特征值

韦达定理
先回顾一下我们初中学的韦达定理ax2+bx+c=0(a,b,cR,a0)x1+x2=bax1x2=ca推广到复数系一元n次方程anxn+an1xx1++a1x+a0=0通过因式分解可以得到x1+x2++xn=i=1nxi=an1anxlx2xn=i=1nxi=(1)na0an所有特征值的和 = 主对角线元素之和
如果矩阵的阶数是偶数,那么an 就为1an1就是原行列式主对角线上元素之和的负数,那么根据前面的韦达定理,特征值的加和就是an1,也就是主对角线上元素之和。考虑奇数阶矩阵,最后也得到同样的结果。因此我们说所有特征值的和就是主对角线上所有元素之和。

所有特征值的乘积 = 行列式的值
首先我们很容易知道矩阵的行列式等于a0。如果矩阵的阶数是偶数的话,(1)n就是1an也是1,同样地,阶数是奇数的话,(1)n就是1an也是1。总而言之,无论怎么变化,特征值的乘积一定是a0,也就是行列式的值。其实通过因式分解我们也能感觉出来。


退化矩阵

对于三角阵,特征值就是对角线上的元素。比如A=[3103]得到det(AλI)=|3λ103λ|=(3λ)(3λ)=0λ1=λ2=3于是(AλI)x=[0100]x=0x1=[10],没有线性无关的x2,说明矩阵A是一个退化矩阵对应相同的特征值,而特征向量短缺

补充xxx
我似乎在网上看到,有人说奇异矩阵就是退化矩阵,但是这里GS老师讲的是特征向量缺失的矩阵叫作退化矩阵,下面是GS老师举的退化矩阵的例子,显然这个矩阵并不是奇异矩阵A=[3103]计算得到特征值λ1=λ2=3,很容易发现,三角矩阵的特征值就是主对角线上的元素。带入特征值,得到(AλI)x=[0100][x1x2]=[00]算出特征向量[10],带入另一个特征值也得到了相同的特征向量,无法得到另一个与这个特征向量线性无关的新特征向量。关于退化矩阵特征向量的求解,需要用若尔当标准型广义特征向量(Generalized eigenvector)的概念和方法去求解,我们将这部分的讨论放在笔记线性代数—3。

 

 

对角化和矩阵的幂

可对角化矩阵与对角阵

矩阵对角化的条件(Diagonalizing a matrix S1AS=Λ)

如果矩阵A具有n个线性无关的特征向量(可以进行对角化的条件,很少数不满足),将它们作为列向量可以组成一个可逆方阵S,称为模态矩阵(modal matrix),并且有:AS=A[x1x2xn]=[λ1x1λ2x2λnxn]=S[λ1000λ2000λn]=SΛ这里的矩阵Λ为对角矩阵,他的非零元素就是矩阵A的特征值。因为矩阵S列向量线性无关,所以其逆矩阵S1一定存在。于是有A=SΛS1Λ=S1AS

  • 矩阵A和特征值构成的对角阵Λ相似,而且具有相同的特征值和特征向量
  • 矩阵A和和其任意相似矩阵B一定具有相同的特征值,但是特征向量一般不同。

总结各种分解

  • 消元法,LU分解;
  • 施密特正交化,QR分解;
  • 对角化,SΛS1分解。

特殊情况分析:对角化的条件是有n个线性无关的特征向量,那么是不是说矩阵有n个不重复的特征值呢?显然,当特征值不同的时候,特征向量一定不同,这也是大多数矩阵的情况。但是少数矩阵的特征值有重复,但是重复的特征值可能对应多个不同的特征向量,比如单位矩阵,我们知道特征值只有1,但是特征向量有n个,而且都是线性无关的,这样的情况同样可以进行矩阵的对角化。

总结

  • 所有特征值不重复,则所有的特征向量线性无关,可以对角化;
  • 有重复的特征值,那么可能特征向量线性无关,也可能线性相关,于是可能可以对角化,也可能不行。(可以对角化的例子就是单位矩阵;不可以对角化的例子就是我们前面提到的退化矩阵)
  • 对于对角阵,一定可以对角化,而且对角化之后得到的矩阵Λ就是它自身。
  • 对角化的好处:Diagonal matrices are much easier to work with than non-diagonal matrices. They're easier to multiply, easier to invert, and easier to understand how they'll affect the respective coordinates.

矩阵A左乘和右乘对角矩阵

  • 右边乘以对角阵,我们要把矩阵A看作是一个个列向量,右边的对角阵同样切割成一列一列,每使用一列,相当于Ax,也就是对矩阵A的列向量进行线性组合。最终得到的新矩阵,就是将矩阵A的每一个列向量前面乘上对应的系数
  • 左边乘以对角阵,我们把矩阵A看做是一个个行向量,左边的对角阵同样地切割成一行一行。用对角阵的每一行去乘以A,相对于用那一行对矩阵A进行所有行向量的线性组合,然后得到新的行向量替代原来的那一行。于是最终得到的新矩阵,就是将矩阵A的每一行乘以对应的系数
  • 矩阵A是列向量或者行向量的情况:
      • 如果是列向量,那么只能左乘对角阵,得到的是列向量,相当于将同一行的对角阵元素和A中的元素相乘,然后推到右边只留下一列。
      • 如果是行向量,那么只能右乘对角阵,得到的是行向量。相当于把行向量套在对角阵上,然后将二者压缩成一行,每一列上的两个元素相乘得到对应位置的新元素。

 

矩阵的幂运算(Powers of A)

如果我们进行的是LU分解或者其他分解,显然进行幂运算很麻烦。但是如果将矩阵A对角化之后,再进行幂运算就简单很多。首先我们知道Ax=λxA2x=λAx=λ2xAnx=λnx表明矩阵A2的特征值是λ2,推广之后,就是矩阵An的特征值是λn

如果进行对角化,则有A2=SΛS1SAS1=SΛ2S1Ak=SΛkS1

差分方程—利用对角化后的幂运算
从给定的一个向量u0出发,我们可以通过前一项乘以矩阵A得到下一项的方式,得到一个向量序列:uk+1=Auk。这个序列可以是一阶差分方程,而uk+1=Aku0就是方程的解。但是这种简洁形式并没有给出足够的信息,我们需要通过特征向量和矩阵的幂运算给出真实的解的结构。

我们将u0写成特征向量线性组合的形式:u0=c1x1+c2x2++cnxn=ScAu0=c1λ1x1+c2λ2x2++cnλnxnuk=Aku0=c1λ1kx1+c2λ2kx2++cnλnkxn=SΛkc我们再仔细分析一下最下面的那个式子,首先我们知道根据矩阵的幂运算有Ak=SΛkS1;根据克莱姆法则有Sc=u0,则有c=S1u0,因此有uk=SΛkS1u0=SΛk(S1u0)=SΛkc


斐波拉契数列】:0,1,1,2,3,4,8,13,通项公式为Fk+2=Fk+1+Fk,求F100

如果我们使用计算机编程的方法,就是不断使用for循环,循环100次就得到最后的结果。但是我们其实可以从矩阵的角度去理解这个问题,似乎一下子不好想到,因为我们在前面的问题的讨论中是给出了相邻两项的矩阵关系,但是这里新的一项与前面的两项都有关系,不能直接套用,于是我们需要巧妙地构造新的项,也就是用uk+1=[Fk+2Fk+1]。于是Fk+2=Fk+1+FkFk+1=Fk+1uk+1=[1110]ukA=[1110],于是uk=Auk1=Aku0=c1λ1kx1+c2λ2kx2,因为x1x2是矩阵A的两个特征向量,那么它们的线性组合覆盖整个R2空间,也就是说u0一定可以用这两个特征向量的线性组合来表示,取的系数分别是c1c2。我们很容易求得两个特征值为λ1=1+52λ2=152,特征向量为x1=[λ11]x2=[λ21]u0=[F1F0]=[10]=c1x1+c2x2c1=c2=15 [F100F99]=A99[F1F0]=[λ1λ211][λ199λ299][c1c2]=[c1λ1100+c2λ2100]F100c1λ1100绝对值大于1λ1在控制着斐波拉契数列的增长,当k很大的时候,显然λ2那一项可以忽略。

 

 

微分方程和eAt

微分方程和eAt的关系
前面我们利用矩阵的对角化解决了差分问题,现在我们进一步学习用矩阵对角化(特征值+特征向量)来求解微分方程。我们首先讨论的是一阶常系数微分方程,将其转化为线性代数的问题进行处理。主要思路基于常系数线性微分方程的解是指数形式,而寻找其指数和系数就是线代主要研究的问题,会涉及到矩阵指数的运算eAtdudt=Au,A=[1212],u(0)=[u1u2]=[10]这里的u(0)是初始值,我们如果把这里的dudt=Au里面的向量和矩阵全部看作单一的数字,就是我们在高数里面学的很简单的微分方程,因变量u的变化速率和自身的大小成正比,而这个A类似比例系数,这就是我们常见的指数形式函数。虽然这里的A是一个矩阵,但是作用形式是类似的,分析矩阵A是要追踪u随时间的变化。由于矩阵A是奇异矩阵(列向量一定不是线性无关,零空间一定存在,于是必有一个特征值是0,根据矩阵的迹就可以推出另一个特征值),我们很容易知道λ1=0,λ2=3。上述方程的通解形式是u(t)=c1eλ1tx1+c2eλ2tx2其中含有λ1=0的一项使得这一部分是不随时间变化的,对于含有λ2=3的那一项来说,随着时间的增长,这一部分越来越小,当时间趋近无穷大的时候,这一部分可以忽略,因此整个解趋于平稳,而且这个解最终只和第一项有关,或者说和c1x1有关。这里和前面求解斐波拉契数列的在k很大的情况,神似。根据特征值求得特征向量于是有x1=[21]x2=[11]u(t)=c1eλ1tx1+c2eλ2tx2=c1e0[21]+c2e3t[11]根据初始态条件,可以推导出c1=c2=1/3于是u(t)=13[21]+13e3t[11]前一项为稳态状态,后一项随着时间衰减。

        特征向量给出的是方向,前面的系数c给出的是在不同方向上所占的权重,而特征值给出的就是矩阵操作在特征向量方向的操作效果,在上一讲差分方程里它就是一个倍数即线性增长能力,而在微分方程中它代表在该方向上的指数增长能力,因此两者稳定性的评价并不相同。

重新理解微分方程
对于微分方程d2ydx2+y=0,求解该方程可以视为求解它的列空间。我们可以得到的解为:y=cosx,y=sinx,y=eix这三个解不是线性无关的,只有其中任意一个都可以被另外两个解线性表示。
事实上,通解为y=c1cosx+c2sinx,其中c可以为任意复数。也将解的线性组合构成的空间称为解空间,其维数为2cosxsinx可以成为解空间的一组基。这些不是向量,而是函数,但是同样可以对其进行线性运算,在线性代数的讨论范围之类。

耦合解耦
耦合就是couple,解耦就是decouple。下面我们通过耦合和解耦表达式来反推上面的求解步骤。[u1u2]=A[u1u2][v1v2]=Λ[v1v2]上面左边部分为耦合状态,A就是原始的系数矩阵,也就是说无论是u1还是u2都需要同时用u1u2这两个元素来表示,也就是说函数关系混叠在一起。而右边的部分为解耦的状态,Λ为对角阵,v1只需要用v1乘以一个常数来表示,而v2也是只需要用v2乘以一个常数来表示,这种解耦状态就相当于两个独立的微分方程,我们很容易进行各自单独求解。

下面我们来探求如何将上面左边部分和右边部分联系起来。一般来说,我们可以将这里的u1u2看作是R2空间的基向量,同时v1v2也是该空间的基向量,于是两组基向量之间肯定能够通过一个线性变换相互转化,假设这个线性变化矩阵为P,于是有如下关系[u1u2]=P[v1v2][u1u2]=P[v1v2][v1v2]=Λ[v1v2][u1u2]=P[v1v2][v1v2]=P1[u1u2] [u1u2]=PΛP1[u1u2]A=PΛP1

因为先前我们讨论矩阵对角化的问题中,将矩阵A进行对角化的方式是写成A=SΛS1,其中矩阵S是由矩阵A的特征向量构成,而Λ是对角阵,对角线上的元素就是特征值。于是上面的矩阵P就是特征向量矩阵S。因此现在我们需要做的就是求解矩阵A的特征值和特征向量。然后先求出[v1v2],接着用矩阵P进行线性变换就得到[u1u2]求解顺序如下[v1v2]=Λ[v1v2][u1u2]=P[v1v2]

再谈解耦
我们已知的是dudt=Au,其中u的第一行的那个元素就是u1,第二行的元素就是u2。接下来我们令u=Sv,其中S是矩阵A的特征向量,由于其组成是线性无关的特征向量,于是通过一定的线性组合可以覆盖整个R2空间,也就是说,无论u,在S固定的情况下,肯定能找到一个v使得u可以用Sv来表示。于是有Sdvdt=ASvdvdt=S1ASv=Λv新的方程不在耦合。我们先前讨论过,左乘一个对角阵,相当于把对象矩阵切割成一行一行,然后根绝左乘矩阵每一行的性质进行线性组合。由于对角阵的特殊性质,因此左乘一个对角阵,相当于将对角阵上每一行元素作为系数乘在对象矩阵的每一行上。将解耦后的矩阵方程组切成一行一行,于是有dvidt=λivi,于是方程的通解为v(t)=eΛtv(0)u(t)=SeΛtS1u(0)=eAtu(0)

一阶线性微分方程的稳定性
(1)    特征值既可以是实数,也可以是复数范围,但是如果从复数范围考虑,实部必须小于零Re(λ)<0,这样才有u(t)不发散。(支配稳定性的是实部,虚部的效果是在单位圆上转圈)
(2)    (非零)稳态:至少有一个特征值为0,并且其他所有的特征值实部都为负数。
(3)     至少有一个特征值满足Re(λ)>0,则解是发散的。

阵指数函数(Matrix exponentialeAt)
根据指数的幂级数(这里也是泰勒级数)的公式:ex=n=0xnn!=1+x+x22+x36+来定义矩阵型指数运算eAt=I+At+(At)22+(At)36+其实不止可以进行矩阵指数函数的运算,对于其他函数同样适用。比如对于几何级数展开11x=n=0xn=1+x+x2++xn+x:|x|<1我们进行矩阵运算有(I+At)1=I+At+(At)2+(At)3+if|λ(At)|<1如果At的特征值的绝对值很小很小,都小于1,那么我们可以省去级数后面的很多项,只取前面几项作为近似值,而且这也是一个求解逆矩阵的方法之一(特定情况)。

前面我们已经写出了矩阵指数的公式eAt=SeΛtS1。如果矩阵A具有n个线性无关的特征向量,我们可以从幂级数定义的矩阵指数公式来再次验证:eAt=I+At+(At)22+(At)36+=SS1+SΛS1t+SΛ2S12t2+SΛ3S16t3+=S(I+Λt+Λ22t2+Λ36t3+)S1=SeΛtS1能够对角化的矩阵都能够表示为上式。eΛt=[eλ1t000eλ2t000eλnt]

二阶微分方程的矩阵表示
我们可以将二阶微分方程y+by+ky=0转化为2×2的一阶问题进行处理,构造方法类似先前的斐波拉契数列的处理方法。令u=[yy],则有u=[yy]=[bk10][yy]如果是k阶微分方程,那么需要一个k×k矩阵,除了第一行和下面一排斜线上的元素之外,这个系数矩阵的其他元素都是零。以5阶为例子,[1111110000010000010000010],其中的1表示可能有非零元素。

 

再谈线性空间和线性算子

Linear Spaces拓展补充   xxx

A linear space V is any set that has a zero element and where elements can be added and scalar multiplied.

  • (zero) 0 is in V.
  • (addition) if f and g are in V then so is f+g.
  • (scalar multiplication) if f is in V and c is a scalar then cf is in V.

线性空间的例子: (注:zero function is the function z where z(t)0)

(1) C the set of smooth functions f:RR
Recall that a function is smooth if it is continuous and every derivative of it is also continuous We know from calculus thatdndtn(f+g)=dnfdtn+dngdtnso if both of the derives on the right are continuous, so is the one on the left. This shows that a sum of two functions is again smooth. Similarly we can show a scalar multiple of a smooth function is smooth. The zero function is smooth, because it is a constant function.

(2) P the set of polynomials
Constant functions, and in particular the zero function, are polynomials. The sum of two polynomials is a polynomial, and a scalar multiple of a polynomial is a polynomial.

(3) Cper  the set of smooth functions f:RR which are 2π-periodic (that is, f(t+2π)=f(t))
We already showed the set of smooth functions is a linear space. so we just need to deal with the periodicity requirement. The zero function is constant, so it is 2π-periodic. The sum of periodic functions is periodic, as is a scalar multiple of a periodic function.

(4) V the set of smooth functions f:[0,2π]R with f(0)=f(2π)
In fact, it is equivalent to the space of 2π-periodic functions—we are just focusing on one period.

Differential Operators:A differential operator is a linear transformation T:CC of the formT(f)=f(n)+an1f(n1)++a1f+a0fwhere a0,a1,,an1 are (possibly complex) constants. The order of T is n, the highest derivative in the above expression.将f(n)的系数设定为1是为了方便。In practice, we can always scale things to make this happen.

微分算子和矩阵类似。对矩阵来说,它是有限维的,其作用对象—向量也是有限维的,我们可以求解其特征项值和特征向量;对于微分算子来说,我们可以将其看作是一个"无限维的向量"(严格来说不是向量,而是某种线性变换),其作用对象也是无限维的函数,我们同样可以求解其特征值和特征向量。

微分算子的线性特性

  • T(f+g)=T(f)+T(g)
  • T(cf)=cT(f)

求解下面实例的kernel及其dimension

  • T(f)=f
    A function f is in the kernel of T precisely when f=0. So, the kernel is the space of constant functions. This is one dimensional.
  • T(f)=fλf
    核对应的满足fλff组成的集合,显然f(t)=beλt,其中b为任意常数。This is again one dimensional.
  • T(f)=f+k2f
    核对应的满足f+k2ff组成的集合。The kernel of T consists of solutions to the harmonic oscillator, so f(t)=acos(kt)+bsin(kt). It is two dimensional, since cos(kt) and sin(kt) form a basis for ker T.

定理—kernel的阶数:The kernel of an n-th order differential operator T is n-dimensional. It consists of solutions to the differential equation T(f)=0. Differential equations of this form are called homogeneous.

特征函数
微分算子T的特征值和特征函数:其中f为a non-zero function,特征值λ为常数。T(f)=λf

习题实例:有两个微分算子T(f)=f6f4f+24f and D(f)=f

(1) 求解D的特征值和特征函数:
即求解f=λf,对任意λ来说,其特征函数为f(t)=beλt

(2) Suppose f is an eigenfunction for D with eigenvalue λ. What is T(f) ?
Suppose f(t)=beλt is a λ-eigenfunction for D. Then 带入到T(f)得到T(beλt)=(λ36λ24λ+24)beλt换句话说f(t)=beλt也是T的特征函数,对应的特征值为λ36λ24λ+24

(3) Use your answer to part (2) to find all functions of the form f(t)=eλt which solve the differential equation f6f4f+24f=0
The functions f(t)=eλt are eigenfunctions of T with eigenvalue λ36λ24λ+24.
f6f4f+24f=0解得λ=±2 or λ=6. Then according to f(t)=eλt, the final solutions are e2t,e2t and e6t.

(4) Find the generic solution to f6f4f+24f=0
Solution. The solutions to this differential equation are the same as ker T, which is 3dimensional, as T has order 3 . But in part (3) we found three linearly independent solutions e2t,e2t and e6t (they are linearly independent because eigenfunctions with different eigenvalues are linearly independent). These solutions then span ker T and so the generic solution to the differential equation is f(t)=c1e2t+c2e2t+c3e6t for constants c1,c2,c3

特征多项式(Characteristic Polynomial)
The characteristic polynomial of a differential operator T(f)=f(n)+ an1f(n1)++a1f+a0f ispT(λ)=λn+an1λn1++a1λ+a0

定理—微分算子的特征值/特征向量:Suppose T is an order n differential operator and pT(λ) its characteristic polynomial.
(1) The function eλt is an eigenfunction for T with eigenvalue pT(λ), i.e., T(eλt)=pT(λ)eλt
(2) If pT(λ) has n distinct roots then the functions eλ1t,,eλnt is a basis for ker T.
(3) 对于齐次微分方程,即T(f)=0的情况,求求解算子T的特征值,即等价于求解pT(λ)=0对应的λ
(4) 对于最简单的情形dNdt=λN,特征方程的解为N=exp(λt),如果λ为负数,那么N的演变为一个指数衰减,如果为正数,那么称指数增长。λ可以是任意复数,d/dt算子的作用空间是单变量可微函数的空间,该空间有无穷维(因为不是每个可微函数都可以用有限的基函数的线性组合来表达)。但是每个特征值所对应的特征空间是一维的,它就是所有形为N=N0exp(λt)的函数集合,N0t=0时刻的数量。

 

习题实例:Consider the differential equation f+4f+4f=0.

(1) Find the solutions of the form f(t)=eλt.
特征多项式为pT(λ)=λ2+4λ+4=(λ+2)2 which has a single root λ=2 with multiplicity 2. So the only solution of the form eλt is e2t.

(2) Show that f(t)=teλt is also a solution.
f+4f+4f=(12e2t8te2t)+4(4e2t+4te2t)+4(e2t2te2t)=0

(3) What is the general solution to the differential equation?
The differential operator D2+4D+4 has order 2, so its kernel is 2-dimensional. The functions e2t and te2t are linearly independent and in the kernel, so are a basis for it. Therefore the general solution is f(t)=c1e2t+c2te2t.

Recap. Suppose T is an order n differential operator and pT(λ) its characteristic polynomial.
(1) If pT(λ) has n distinct roots λ1,,λn then the functions eλ1t,,eλnt are linearly independent solutions to the differential equation T(f)=0.
(2) If λ is a repeated root of pT(λ) with multiplicity m, then the functions eλt,teλt,t2eλt,,tm1eλt are linearly independent solutions to the differential equation T(f)=0.

参考资料:Math 21b

Leave a Reply