第二十八讲:正定矩阵和最小值
本讲学习正定矩阵positive definite matrices,这个主题把整门课的知识融为一体,主元,行列式,特征值,不稳定性,新表达式 xTAx 。目标是: 怎么判断一个矩阵是否是正定矩阵 ,为什么对正定矩阵感兴趣,最后给出几何上的解释,椭圆和正定性有关,双曲线与正定性无关。当极小值存在时,如何找出极小值应用。 本讲涉及的矩阵均为实对称矩阵。
1.正定矩阵
1.1正定性的判断
正定矩阵判定方法 :
1)特征值方法: λi>0 ;
2)行列式方法:所有顺序主子阵(leading principal submatrix)的行列式(即顺序主子式,leading principal minor)大于零;
3)主元方法:矩阵消元后主元均大于零;
4)新方法: xTAx>0 , x 是任意向量,除零向量外。
大多数情况下使用4)来定义正定性,而用前三条来验证正定性。
我们仍然从二阶说起,有矩阵
1.矩阵的所有特征值大于零则矩阵正定:
λ1>0,λ2>0
;
2.矩阵的所有顺序主子阵(leading principal submatrix)的行列式(即顺序主子式,leading principal minor)大于零则矩阵正定:
a>0, ac−b2>0
;
3.矩阵消元后主元均大于零:
a>0, ac−b2a>0
;
4.
xTAx>0
;
大多数情况下使用4来定义正定性,而用前三条来验证正定性。
1.2 最小值的判定及其几何意义
双曲线、抛物线、椭圆之间的联系与区别:
联系:它们都属于圆锥曲线;
区别:根本的差别在于它们的离心率e不同,抛物线的离心率e=1为常数,双曲线的离心率e>1,椭圆的离心率0<e<1。
e=a2+b2−−−−−−√ ,a是长轴的长度,b是短轴的长度。
例如:
来计算一个例子:
A=[266?]
,在
?
处填入多少才能使矩阵正定?
- 1)来试试
18 ,此时矩阵为 A=[26618] , detA=0 ,此时的矩阵成为半正定矩阵(positive semi-definite)。矩阵奇异,其中一个特征值必为 0 ,从迹得知另一个特征值为20 。矩阵的主元只有一个,为 2 。
计算xTAx ,得
[x1x2][26618][x1x2]=2x21+12x1x2+18x22
这样我们得到了一个关于 x1,x2 的函数 f(x1,x2)=2x21+12x1x2+18x22 ,这个函数不再是线性的,在本例中这是一个纯二次型(quadratic)函数,它没有线性部分、一次部分或更高次部分( Ax 是线性的,但引入 xT 后就成为了二次型)。
当?取18时,判定1、2、3都是 “刚好不及格” 。
半正定矩阵:不是正定矩阵,是对称的,是成为正定矩阵的临界点,奇异矩阵,有一个特征值为0,其他特征值大于等于0。
- 2)我们可以先看“ 一定不及格 ”的样子,令 ?=7 ,矩阵为 A=[2667] ,二阶顺序主子式变为 −22 ,显然矩阵不是正定的,此时的函数为 f(x1,x2)=2x21+12x1x2+7x22 ,如果取 x1=1,x2=−1 则有 f(1,−1)=2−12+7<0 。
几何意义: 如果我们把 z=2x2+12xy+7y2 放在直角坐标系中,图像过原点 z(0,0)=0 ,当 y=0 或 x=0 或 x=y 时函数为开口向上的抛物线,所以函数图像在某些方向上是正值;而在某些方向上是负值,比如 x=−y ,所以函数图像是一个马鞍面(saddle), (0,0,0) 点称为鞍点(saddle point),它在某些方向上是极大值点,而在另一些方向上是极小值点。(实际上函数图像的最佳观测方向是沿着特征向量的方向。)
- 3)再来看一下“ 一定及格 ”的情形,令 ?=20 ,矩阵为 A=[26620] ,行列式为 detA=4 ,迹为 trace(A)=22 ,特征向量均大于零,矩阵可以通过测试。此时的函数为 f(x1,x2)=2x21+12x1x2+20x22 ,函数在除 (0,0) 外处处为正。
几何意义:我们来看看 z=2x2+12xy+20y2 的图像,式子的平方项均非负,所以需要两个平方项之和大于中间项即可,该函数的图像为抛物面(paraboloid)。在 (0,0) 点函数的一阶偏导数均为零,二阶偏导数均为正(马鞍面的一阶偏导数也为零,但二阶偏导数并不均为正,所以),函数在该点取极小值。
在微积分中,一元函数取极小值需要:
一阶导数为零且二阶导数为正 dudx=0,d2udx2>0 。
在线性代数中我们遇到了了多元函数 f(x1,x2,⋯,xn) ,要取极小值需要二阶偏导数矩阵为正定矩阵。
在本例中(即二阶情形),如果能用平方和的形式来表示函数,则很容易看出函数是否恒为正, f(x,y)=2x2+12xy+20y2=2(x+3y)2+2y2 。另外,如果是上面的 ?=7 的情形,则有 f(x,y)=2(x+3y)2−11y2 ,如果是 ?=18 的情形,则有 f(x,y)=2(x+3y)2 。
如果令 z=1 ,相当于使用 z=1 平面截取该函数图像,将得到一个椭圆曲线。另外,如果在 ?=7 的马鞍面上截取曲线将得到一对双曲线。
再来看这个矩阵的消元, [26620]=[1−301][2062] ,这就是 A=LU ,可以发现矩阵 L 中的项与配平方中未知数的系数有关,而主元则与两个平方项外的系数有关,这也就是为什么正数主元得到正定矩阵。
上面又提到二阶导数矩阵,对于二元函数取极小值需要(与一元函数类似):
一阶偏导为0;
对于二阶导数,这个矩阵型为
[fxxfyxfxyfyy] ,显然,矩阵中的主对角线元素(纯二阶导数)必须为正,并且主对角线元素必须足够大来抵消混合导数的影响。同时还可以看出,因为二阶导数的求导次序并不影响结果,所以矩阵必须是对称的。以此类推,现在我们就可以计算 n×n 阶矩阵了。
1.3 正定矩阵的拓展
接下来计算一个三阶矩阵, A=⎡⎣⎢2−10−12−10−12⎤⎦⎥ ,它是正定的吗?函数 xTAx 是多少?函数在原点去最小值吗?图像是什么样的?
先来计算矩阵的顺序主子式,分别为 2,3,4 ;再来计算主元,分别为 2,32,43 ;计算特征值, λ1=2−2√,λ2=2,λ3=2+2√ 。(正定)
计算 xTAx=2x21+2x22+2x23−2x1x2−2x2x3 。
图像是四维的抛物面,当我们在 f(x1,x2,x3)=1 处截取该面,将得到一个椭圆体。得到的图形则是一个扁的橄榄球,有一个长轴,另外两个轴相等,类似于一个矩阵有一重复的特征值,另一个不同(3 个特征值)。如果是球的话,那就是单位矩阵,所有的特征值相同。
一般的情况下,三个特征值都不相同,它相当于有一个长轴,一个中轴,一个短轴,三个轴的方向就是特征向量的方向,轴的长度由特征值大小来决定。
我们将矩阵 A (对称矩阵)分解为
A=QΛQT ,可以发现上面说到的各种元素都可以表示在这个分解的矩阵中,我们称之为 主轴定理 (principal axis theorem),即特征向量说明主轴的方向、特征值说明主轴的长度。
A=QΛQT 是特征值相关章节中最重要的公式。
2. 本章总结
正定矩阵判定方法 :
1)特征值方法: λi>0 ;
2)行列式方法:所有顺序主子阵(leading principal submatrix)的行列式(即顺序主子式,leading principal minor)大于零;
3)主元方法:矩阵消元后主元均大于零;
4)新方法: xTAx>0 , x 是任意向量,除零向量外。
大多数情况下使用4)来定义正定性,而用前三条来验证正定性。
最小值的判定:一阶偏导为0;二阶偏导大于0。
- 主轴定理:
将矩阵A (对称矩阵)分解为 A=QΛQT ,可以发现上面说到的各种元素都可以表示在这个分解的矩阵中,我们称之为 主轴定理 (principal axis theorem),即特征向量说明主轴的方向、特征值说明主轴的长度。
第二十九讲:相似矩阵和若尔当形
在本讲的开始,先接着上一讲来继续说一说正定矩阵。
正定矩阵的逆矩阵有什么性质?
我们将正定矩阵分解为 A=SΛS−1 ,引入其逆矩阵 A−1=SΛ−1S−1 ,我们知道正定矩阵的特征值均为正值,所以其逆矩阵的特征值也必为正值(即原矩阵特征值的倒数)所以,正定矩阵的逆矩阵也是正定的。
如果 A, B 均为正定矩阵,那么 A+B 呢?
我们可以从判定 xT(A+B)x 入手,根据条件有 xTAx>0, xTBx>0 ,将两式相加即得到 xT(A+B)x>0 。所以正定矩阵之和也是正定矩阵。再来看有 m×n 矩阵 A ,则
ATA (最早出现在最小二乘法)具有什么性质?
我们在投影部分经常使用 ATA ,这个运算会得到一个对称矩阵,这个形式的运算用数字打比方就像是一个平方,用向量打比方就像是向量的长度平方,而对于矩阵,有 ATA 正定:在式子两边分别乘向量及其转置得到 xTATAx ,分组得到 (Ax)T(Ax) ,相当于得到了向量 Ax 的长度平方,则 |Ax|2≥0 。要保证模不为零,则需要 Ax 的零空间中仅有零向量,即 A 的各列线性无关(rank(A)=n )即可保证 |Ax|2>0 , ATA 正定。另外,在矩阵数值计算中,正定矩阵消元不需要进行“行交换”操作,也不必担心主元过小或为零,正定矩阵具有良好的计算性质。
接下来进入本讲的正题。
1. 相似矩阵
先列出定义:
矩阵 A, B 对于某矩阵 M (可逆)满足
B=M−1AM 时,称 A, B 互为相似矩阵。
1.对于在对角化一讲(第二十二讲)中学过的式子
S−1AS=Λ
(
S
是特征向量组成的矩阵),则有
矩阵
A
的所有相似矩阵里面,
1.1两大性质
性质:1)相似矩阵具有相同的特征值;(注意特征向量并不相同)
举个例子, A=[2112] ,容易通过其特征值得到相应的对角矩阵 Λ=[3001] ,取 M=[1041] ,则 B=M−1AM=[10−41][2112][1041]=[−21−156] 。
我们来计算这几个矩阵的的特征值(利用迹与行列式的性质), λΛ=3, 1 、 λA=3, 1 、 λB=3, 1 。 所以,相似矩阵有相同的特征值。
继续上面的例子,特征值为 3, 1 的这一族矩阵都是相似矩阵,如 [3071] 、 [1073] ,其中最特殊的就是 Λ 。
证明:
现在我们来证明这个性质,有
Ax=λx, B=M−1AM
,第一个式子化为
AMM−1x=λx
,接着两边同时左乘
M−1
得
M−1AMM−1x=λM−1x
,进行适当的分组得
(M−1AM)M−1x=λM−1x
即
BM−1x=λM−1x
。
BM−1=λM−1x
可以解读成矩阵
B
与向量
性质:2)B=M−1AM,B的特征向量等于M的逆乘以矩阵A的特征向量;
1.2当矩阵A有重复的特征值
特征值重复可能会导致特征向量短缺,来看一个例子,设 λ1=λ2=4 ,写出具有这种特征值的矩阵中的两个 [4004] , [4014] 。其实,具有这种特征值的矩阵可以分为两族:
第一族仅有一个矩阵 [4004] ,它只与自己相似(因为 M−1[4004]M=4M−1IM=4I=[4004] ,所以无论 M 如何取值该对角矩阵都只与自己相似);
另一族就是剩下的诸如
[4014] 的矩阵,它们都是相似的。在这个“大家族”中, [4014] 是“最好”的一个矩阵(右上角为1),称为 若尔当形 。
若尔当形在过去是线性代数的核心知识,但现在不是了(现在是下一讲的奇异值分解),因为它并不容易计算。
- 继续上面的例子,我们在在出几个这一族的矩阵(若尔当认为它们并不是相似的,因为若尔当块大小不一样) [4014], [5−113], [41704] ,我们总是可以构造出一个满足 trace(A)=8, detA=16 的矩阵,这个矩阵总是在这一个“家族”中。
2.若尔当形
再来看一个更加“糟糕”的矩阵:
矩阵
⎡⎣⎢⎢⎢0000100001000000⎤⎦⎥⎥⎥
,其特征值为四个零。很明显矩阵的秩为
2
,所以其零空间的维数为
令一个例子,
⎡⎣⎢⎢⎢0000100000000010⎤⎦⎥⎥⎥
,从特征向量的数目看来这两个矩阵是相似的,其实不然。
若尔当认为第一个矩阵是由一个
3×3
的块与一个
1×1
的块组成的
⎡⎣⎢⎢⎢⎢0000100001000000⎤⎦⎥⎥⎥⎥
,而第二个矩阵是由两个
2×2
矩阵组成的
⎡⎣⎢⎢⎢⎢0000100000000010⎤⎦⎥⎥⎥⎥
,这些分块被称为若尔当块。
若尔当块 的定义型为:它只有一个重复的特征值,对角线上全是 λi ,下面是0,上面是1,它的对角线上都是同一个数,只有一个特征向量。
Ji=⎡⎣⎢⎢⎢⎢⎢⎢⎢λi⋮1λi⋮1λi⋮⋯⋯⋯⋱λi⎤⎦⎥⎥⎥⎥⎥⎥⎥
它的对角线上只为同一个数,仅有一个特征向量。若尔当阵J :由若尔当块构成的矩阵,特征值位于对角线上,对角线上方有若干个1,若尔当块的数量等于特征向量的个数,因为每一块对应于一个特征向量。
J=⎡⎣⎢⎢⎢⎢⎢J1J2⋱Jd⎤⎦⎥⎥⎥⎥⎥若尔当定理 :每个方阵 A 都相似于一个若尔当阵
J 。如果方阵 A 有n 个互不相同的特征值,那么它是一个可对角化的矩阵,对应的若尔当阵就是对角阵 Λ,J=Λ,d=n 。(若尔当块的个数即为矩阵特征值的个数。)
所以每一个矩阵
A
都相似于一个若尔当矩阵,型为
3.本章总结
- 正定矩阵的性质(a)
A, B
均为正定矩阵,那么
A+B
和
A−1
的情况;b)矩阵
A
为
m×n ,秩为n,则 ATA 是否正定); - 相似矩阵的2个性质和分类;
- 若尔当阵,若尔当矩阵,若尔当定理。
第三十讲:奇异值分解
本讲我们介绍将一个矩阵写为 A=UΣVT ,分解的因子分别为正交矩阵、对角矩阵、正交矩阵,与前面几讲的分解不同的是,这两个正交矩阵通常是不同的, 而且这个式子可以对任意矩阵使用,不仅限于方阵、可对角化的方阵等 。
1. A=UΣVT 的推导
在正定一讲中(第二十八讲)我们知道一个正定矩阵可以分解为 A=QΛQT 的形式,由于 A 对称性其特征向量是正交的,且其
Λ 矩阵中的元素皆为正,这就是正定矩阵的奇异值分解。在这种特殊的分解中,我们只需要一个正交矩阵 Q 就可以使等式成立。在对角化一讲中(第二十二讲),我们知道可对角化的矩阵能够分解为
A=SΛST 的形式,其中 S 的列向量由A 的特征向量组成,但 S 并不是正交矩阵,所以这不是我们希望得到的奇异值分解。
我们先来回顾一下四个空间(
接下来我们进行推导:
- 1)
A
是
m×n 的矩阵,在行空间中找个典型变量,记为 v1 ,然后变换到列空间的某向量,记为 u1 ,有 u1=Av1 。
那么这样的变换怎样合到一起,首先,这个行空间能找到一组正交基(格拉姆-施密特告诉我们以任意一组基开始,经过格拉姆-施密特正交化方法就可得到),但这组正交基经过A 变换后不一定能在列空间成为正交基,所以行空间中的正交基要找特殊的。考虑零空间,这些零空间体现在对角矩阵
Σ
中是
Av
变换过程中,我希望转换得到的正交单位向量,所以
u1,u2..
是单位正交基,同时
v1,v2..
也是单位正交基,
Av1
等于
u1
的一个倍数(可以理解为:在奇异值分解中,要找的是行空间的一组正交基,然后变换成列空间的一组正交基。现在要做的是,在
A
的列空间中找到一组特殊的正交基
A[v1 v2 ⋯ vr]=[σ1u1 σ2u2 ⋯ σrur]=[u1 u2 ⋯ ur]⎡⎣⎢⎢⎢⎢⎢σ1σ2⋱σr⎤⎦⎥⎥⎥⎥⎥(1)
即
Av1=σ1u1, Av2=σ2u2,⋯,Avr=σrur
,这些
σ
是缩放因子,表示在转换过程中有拉伸或压缩。而
A
的左零空间和零空间将体现在
我们是想找: AV=UΣ ,(对于正定矩阵,这里是 AQ=QΣ )但是发现 与A维数不同 ,我们要找到对任意 A 都成立的一般形式。
- 2)如果
A 存在零空间,那么行空间是 r 维,零空间是n−r 维,我们同样可以取一组正交基。如果基零空间的向量为 vr+1,...,vn ,那么 Avr+1 将得到零向量,得到对角阵Σ对角线下方有一些 0 。需要把整个Rn 空间的标准正交基完善成整个 Rm 空间的标准正交基, 在对角阵Σ中用0来完善,所以存在零空间时没问题,但行空间和列空间的基向量才是主要的 。
因此算上左零、零空间,我们同样可以对左零、零空间取标准正交基,然后可以把(1)写为:
A[v1 v2 ⋯ vr vr+1 ⋯ vm]=[u1 u2 ⋯ ur ur+1 ⋯ un]⎡⎣⎢⎢⎢⎢⎢⎢σ1⋱σr[0]⎤⎦⎥⎥⎥⎥⎥⎥(2)
v1, ⋯, vr 是行空间的标准正交基;
u1, ⋯, ur 是列空间的标准正交基;
vr+1, ⋯, vn 是零空间的标准正交基;
ur+1, ⋯, um 是左零空间的标准正交基。
此时U是m×m正交矩阵,Σ是m×n对角矩阵,VT是n×n正交矩阵。
最终可以写为
AV=UΣ
,可以看出这十分类似对角化的公式,矩阵
A
被转化为对角矩阵
2.求解 U和V
找 V :
ATA=VΣTUTUΣVT=VΣ2VT ,得到的形式即: ATA=QΛQT ,因此 ATA 是一个正定矩阵,它的特征向量标准正交组成 Q ,特征值是σ2 组成 Λ 。注意σ 是 Av=σu 的伸缩因子, σ2 是 ATA 的特征值。 σ 取σ2 的正平方根。找 U :
AAT=UΣVTVΣTUT=UΣ2UT ,同样,形式即: AAT=QΛQT ,因此 AAT 是一个正定矩阵,它的特征向量标准正交组成 Q ,特征值是σ2 组成 Λ 。注意σ 是 Av=σu 的伸缩因子, σ2
是 AAT 的特征值。因此, AAT 和 ATA 是特征值相同,特征向量不同的相似矩阵。
3.奇异值分解
奇异值分解的定义:
在线性代数的四个子空间中选出合适的基, v1 到 vr 是行空间的标准正交基,用零空间的标准正交基 vr+1 到 vn 补充完整, u1 到 ur 是列空间的标准正交基,用左零空间的标准正交基 ur+1 到 um 补充完整。 A 乘以每一个v 对应一个 u 的方向,Avi=σiui ,可将矩阵对角化 A=UΣV−1=UΣVT 。
例子1:
A=[4−343]
,我们需要找到:
- 行空间 R2 的标准正交基 v1,v2 ;
- 列空间 R2 的标准正交基 u1,u2 ;
- σ1>0,σ2>0 。
在
A=UΣVT
中有两个标准正交矩阵需要求解,我们希望一次只解一个,如何先将
U
消去来求
这个技巧会经常出现在长方形矩阵中:求
ATA
,这是一个对称正定矩阵(至少是半正定矩阵),于是有
ATA=VΣTUTUΣVT
,由于
U
是标准正交矩阵,所以
现在有
ATA=V⎡⎣⎢⎢⎢⎢⎢σ1σ2⋱σn⎤⎦⎥⎥⎥⎥⎥VT
,这个式子中
V
即是
同理,我们只想求
U
时,用
我们来计算
到目前为止,我们得到 [4−343]=[u?u?u?u?][32−−√0018−−√]⎡⎣12√12√12√−12√⎤⎦ 。
接下来继续求解
U
。
但是我们不能直接使用这一组特征向量,因为式子
AV=UΣ
明确告诉我们,一旦
V
确定下来,
补充: AB 的特征值与 BA 的特征值相同,证明来自Are the eigenvalues of AB equal to the eigenvalues of BA? (Citation needed!):
取 λ≠0 , v 是AB 在特征值取 λ 时的的特征向量,则有 Bv≠0 ,并有 λBv=B(λv)=B(ABv)=(BA)Bv ,所以 Bv 是 BA 在特征值取同一个 λ 时的特征向量。
再取 AB 的特征值 λ=0 ,则 0=detAB=detAdetB=detBA ,所以 λ=0 也是 BA 的特征值,得证。
最终,我们得到 [4−343]=[100−1][32−−√0018−−√]⎡⎣12√12√12√−12√⎤⎦ 。
例子2:
再做一个例子,
A=[4836]
,这是个秩一矩阵,有零空间。
A
的行空间为
标准化向量得 v1=[0.80.6], u1=15√[12] 。
ATA=[4386][4836]=[80606045] ,由于 A 是秩一矩阵,则
ATA 也不满秩,所以必有特征值 0 ,则另特征值一个由迹可知为125 。继续求零空间的特征向量,有 v2=[0.6−0,8], u1=15√[2−1]
最终得到 [4836]=[122−−1−−−][125−−−√000−][0.80.6−−−0.6−0.8−−−−] ,其中下划线部分都是与零空间相关的部分。
- v1, ⋯, vr 是行空间的标准正交基;
- u1, ⋯, ur 是列空间的标准正交基;
- vr+1, ⋯, vn 是零空间的标准正交基;
- ur+1, ⋯, um 是左零空间的标准正交基。
通过将矩阵写为
Avi=σiui
形式,将矩阵对角化,向量
u, v
之间没有耦合,
A
乘以每个
4.本章总结
1.
奇异值分解的定义:
在线性代数的四个子空间中选出合适的基,v1 到 vr 是行空间的标准正交基,用零空间的标准正交基 vr+1 到 vn 补充完整, u1 到 ur 是列空间的标准正交基,用左零空间的标准正交基 ur+1 到 um 补充完整。 A 乘以每一个v 对应一个 u 的方向,Avi=σiui ,可将矩阵对角化 A=UΣV−1=UΣVT 。
2.
A[v1 v2 ⋯ vr vr+1 ⋯ vm]=[u1 u2 ⋯ ur ur+1 ⋯ un]⎡⎣⎢⎢⎢⎢⎢⎢σ1⋱σr[0]⎤⎦⎥⎥⎥⎥⎥⎥(2)
v1, ⋯, vr 是行空间的标准正交基;
u1, ⋯, ur 是列空间的标准正交基;
vr+1, ⋯, vn 是零空间的标准正交基;
ur+1, ⋯, um 是左零空间的标准正交基。
此时U是m×m正交矩阵,Σ是m×n对角矩阵,VT是n×n正交矩阵。
- 奇异值分解中 V与U 的求解:
找 V :
ATA=VΣTUTUΣVT=VΣ2VT ,得到的形式即: ATA=QΛQT ,因此 ATA 是一个正定矩阵,它的特征向量标准正交组成 Q ,特征值是σ2 组成 Λ 。注意σ 是 Av=σu 的伸缩因子, σ2 是 ATA 的特征值。 σ 取σ2 的正平方根。找 U :
AAT=UΣVTVΣTUT=UΣ2UT ,同样,形式即: AAT=QΛQT ,因此 AAT 是一个正定矩阵,它的特征向量标准正交组成 Q ,特征值是σ2 组成 Λ 。注意σ 是 Av=σu 的伸缩因子, σ2 是 AAT 的特征值。因此, AAT 和 ATA 是特征值相同,特征向量不同的相似矩阵。