在前一节的学习中, 我们知道对称矩阵为自伴矩阵的一种, 因此对称矩阵的所有特征值均为实数. 我们本节打算对这一性质进行深入研究: 即我们将研究当对称矩阵的所有特征值均为正数时, 矩阵有什么性质呢? 我们将这类矩阵称作正定矩阵 (Positive Definite Matrix). 在本节中, 我们只考虑实数矩阵.
定义 4.11
若A∈Mn(R)为对称矩阵且所有的特征值均为正数, 那么我们称A为正定矩阵.
正定矩阵有着非常多的性质:
定理 4.16
若A为正定矩阵, 那么A可逆且det(A)>0.
证明
设A的特征值为λ1⋯,λn>0 (可能存在重复), 由于A可对角化, 因此存在对角矩阵P=diag(λ1,⋯,λn), 使得A相似于P. 由于相似矩阵的行列式相同, 那么det(A)=det(P)=λ1⋯λn>0, 因此A也可逆.
∎
定理 4.17
A∈Mn(R)为正定矩阵的充要条件是对任意的非零x∈Rn, x⊤Ax>0.
证明
(⟹): 设A∈Mn(R)为正定矩阵, λ1,⋯,λn为A的特征值(可能存在重复), 则λi>0. 设ui为λi对应的特征向量, 那么记Q=(u1⋯un), P=diag(λ1⋯λn), 那么我们知道A=QPQ⊤. 则对任意的非零x=(x1⋯xn)⊤,
x⊤Ax=x⊤(QPQ⊤)x.
令Q⊤x=y=(y1⋯yn)⊤, 则
(x⊤Q)P(Q⊤x)=λ1y12+⋯+λnyn2>0.(⟸). 设λ为A的特征值, u为与其对应的非零特征向量, 则
u⊤Au=u⊤λu=λ∣∣u∣∣2>0,则λ>0.
∎
推论 4.4
设A∈Mn(R)可逆, 则A⊤A为正定矩阵.
证明
设x∈Rn=0. 由于A可逆, 则Ax=0, 那么
x⊤(A⊤A)x=(Ax)⊤Ax=∣∣Ax∣∣2>0.∎
我们现在假设A∈Mn(R)为正定矩阵, 随后我们尝试将A写成分块矩阵的形式:
A=((r)AQPR),
其中(r)A∈Mr(R)被称作A的主子矩阵 (Principal Submatrix), 即为取A中前r行与前r列所构成的新矩阵. 那么我们设x∈Rr=0, y=(x⊤0⊤)⊤∈Rn, 那么根据正定矩阵的性质, 我们有
(x⊤0⊤)((r)AQPR)(x0)=(x⊤0⊤)((r)AxQx)=(x⊤(r)Ax)>0,
因此我们便得知(r)A也为正定矩阵.
定理 4.18
A∈Mn(R)为正定矩阵的充要条件为其所有的主子矩阵(r)A均为正定矩阵.
根据我们对正定矩阵的定义, 如果X为正定矩阵, 那么我们能否将X分解为X=A⊤A的形式呢? 首先我们知道A为正定矩阵便代表了A可以正交对角化, 那么此时存在对角矩阵P与对称矩阵Q, 使得X=QPQ⊤. 我们知道P主对角线上的元素即为X的正数特征值. 因此我们令R:=P1/2:=diag(λ1⋯λn), 那么
X=QPQ⊤=QRRQ⊤=(RQ)⊤(RQ):=A⊤A.
此时我们该如何去求解A呢? 我们回顾矩阵的LU分解, 我们知道A∈Mn(R)可以写成下三角矩阵与上三角矩阵的乘积, 那么我们此时可以类比LU分解, 假设A⊤A便是下三角矩阵和上三角矩阵的乘积. 如果我们用数学归纳法去证明这一猜想的话, 我们便可以设A∈Mn(R), 然后其主子矩阵(n−1)A:=U⊤U可以分解成下三角矩阵U⊤与上三角矩阵U的乘积, 即
A=(U⊤Uv⊤vs),
其中s∈R,v∈Rn−1. 此时我们令x=(U⊤)−1v,t=s−x⊤x, 那么
(U⊤x⊤0t)(U0⊤xt)=(U⊤Uv⊤vs).(4.1)
形如上式的分解被我们称作是Cholesky分解 (Cholesky Decomposition).
定理 4.19
任何正定矩阵A均存在分解A=U⊤U, 使得U为主对角线上元素为正数的上三角矩阵. 对正定矩阵A进行不换行、不缩放主元行的高斯消元, 得到上三角矩阵U1. 设其主元为d1,d2,⋯,dn>0. 若将U1的
的第i行除以di, 我们便得到 Cholesky分解中的上三角矩阵U. 由此一来A=U⊤U.
这里的消元不是为了保持方程组解集, 而是为了构造分解. 因此我们不能随意使用所有初等行变换, 而应采用固定的消元规则: 即只用主元行消去其下方元素,并记录每一步产生的主元. 这样得到的主元和上三角矩阵才可用于构造 Cholesky 分解.
例题 4.7
求出A=1052532223的Cholesky分解.
解答 4.7
对A进行高斯消元, 不难得到如下的上三角矩阵U1:
U1=100052102153,因此我们有
U=1000105210102253,A=U⊤U.
除了正定矩阵之外, 还有一类特征值为非负数的矩阵. 我们将这类矩阵称作半正定矩阵 (Positive Semi-definite Matrix)
定义 4.12
若A∈Mn(R)为对称矩阵且所有的特征值均为非负数, 那么我们称A为半正定矩阵.
半正定矩阵和正定矩阵在性质上非常相似, 唯一的不同便是半正定矩阵中可能出现0作为特征值. 因此对定理4.17稍作修改, 我们也可以得到半正定矩阵的相应性质:
推论 4.5
A∈Mn(R)为半正定矩阵的充要条件是对任意的非零x∈Rn, x⊤Ax≥0.
对于任意的A∈Mmn(R), 不难发现A⊤A为对称矩阵. 设λ为A的特征值, u为与之对应的特征向量, 那么
u⊤A⊤Au=u⊤λ2u≥0,
则A⊤A均为半正定矩阵. 由于半正定矩阵的特征值为非负数, 我们可以由此给出任意矩阵A的奇异值 (Singular Value)的定义:
定义 4.13
设A∈Mmn(R)为任意矩阵, 记λi为A⊤A的特征值, 我们定义A的奇异值为σi=λi.
我们前面讲到的LU分解, 对角化, Cholesky分解等都用于n×n矩阵. 像是一般的矩阵A∈Mmn(R), 我们能否也将其分解成类似的形式呢? 在本节的后半部分我将着重讲解这一独特的分解: 矩阵的奇异值分解 (Singular Value Decomposition). 对于A∈Mm×n(R),而言, 我们的目标是找出m×m的正交矩阵U, n×n的正交矩阵V, 以及m×n的“对角矩阵”S, 使得
A=USV⊤,S=σ10⋮00⋮00σ2⋱⋯⋯⋯⋯⋱⋱0⋯⋯000σn0⋮0或σ10⋮00σ2⋮0⋯⋯⋱⋯00⋮σn⋯⋯⋯00⋮0,σ1≥σ2≥⋯≥σn≥0.
其中位于S的“对角线”上的元素即为矩阵A⊤A的奇异值, 且按照从大到小依次排列. 我们知道, 此时A⊤A为n×n对称矩阵, 因此可以正交对角化. 由此存在由Rn的一组单位正交基{v1,⋯,vn}为列向量的矩阵V以及以A⊤A的特征值为对角线元素的对角矩阵D, 使得
A⊤A=VDV⊤.
推论 4.6
设 σiui=Avi, σ1≥⋯≥σk≥σk+1=⋯=σn=0则u1,⋯,uk∈Rm正交且为单位向量.
证明
根据定义, ∀i,j≤k,
ui⊤uj=(σi1Avi)⊤⋅σj1Avj=σiσj1vi⊤A⊤Avj=σiσj1vi⊤(VDV⊤)vj=σiσj1vi⊤λjvj.结合λj=σj2, 我们有
ui⊤uj=σiσjvi⊤vj={10i=ji=j.∎
此时, 我们便有有了一组单位正交向量. 但值得注意的是此时k≤m, 所以当k<m的时候我们需要使用Gram-Schmidt算法将u1,⋯,uk补全为一组Rm的单位正交基: {u1,⋯,uk,uk+1,⋯,um}. 随后记矩阵U的列向量为u1,⋯,um, 我们便得到了三个矩阵: U,S,V. 此时我们想知道的便是A=USV⊤是否成立. 我们首先注意到V⊤=V−1, 因此我们只需要验证AV=US. 而注意到
AV=(Av1⋯Avn)=(σ1u1⋯σkuk0⋯0)=US,
因此矩阵A的奇异值分解即为
A=USV⊤.