线性代数及其应用:第六章 正定矩阵与奇异值分解


  前言:这篇blog是《Linear Algebra and Its Applications》第六章的一些学习笔记。

正定矩阵

  这一章要用到对实对称矩阵AA的三角分解A=LDLTA=LDL^{T},以及谱定理A=QΛQTA=Q\Lambda Q^{T}

1. 正定矩阵

  对任意非零实向量xx,有xTAx>0x^{T}Ax>0,则AA为正定矩阵。

  在线性代数中,正定矩阵是对称矩阵,因为来自二次型;对任一二次型,总可以写成对称矩阵的形式,即f(x1,x2xn)=xTAx=i=1nj=1naijxixjf(x_{1}, x_{2}\dots x_{n})=x^{T}Ax=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}a_{ij}x_{i}x_{j}

如果AA是正定矩阵,则xTAxx^{T}Ax表示的二次型有最小值,不存在鞍点。

  但在矩阵论中,正定矩阵不一定是对称矩阵,例如[1110]\left [ \begin{matrix} 1 & -1 \\ 1 & 0\end{matrix}\right ]

1.1. 实对称矩阵是正定矩阵的充要条件

  判断实对称矩阵AA是否为正定矩阵,有5个充要条件,只要满足其中一个即可。

  1. xTAx>0x^{T}Ax>0,对所有非零实向量xx均成立;
  2. AA的所有特征值λi\lambda_{i}满足λi>0\lambda_{i}>0
  3. 所有顺序主子式AkA_{k}是正的;
  4. 所有主元(piovts)大于0(最快捷条件);
  5. AA能分解成RTRR^{T}R,其中R的列向量相互独立。

证明:

条件1:定义,证毕。

条件2\Longleftrightarrow条件1:对AA进行分解,A=QΛQTA=Q\Lambda Q^{T},有xTAx=xTQΛQTxx^{T}Ax=x^{T}Q\Lambda Q^{T}x,令xTQ=yTx^{T}Q=y^{T},则xTAx=yTΛy=i=1nλiyi2x^{T}Ax=y^{T}\Lambda y=\sum\limits_{i=1}^{n}\lambda_{i}y_{i}^{2},根据条件1,如果实对称矩阵AA是正定矩阵,则任意非零向量xxxTAxx^{T}Ax恒大于0,所以i=1nλiyi2\sum\limits_{i=1}^{n}\lambda_{i}y_{i}^{2}恒大于0,所以λi>0\lambda_{i}>0,证毕。

条件1和2\Longrightarrow条件3:对于实对称矩阵AA,以证明A3A_{3}为例,令x=[x1,x2,x3,0,0,0, ]Tx=[x_{1}, x_{2},x_{3},0,0,0,\dots]^{T},则xTAxx^{T}Ax等价于(1)[x1,x2,x3][a11a12a13a21a22a23a31a32a33][x1x2x3][x_{1},x_{2},x_{3}]\left [ \begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{matrix} \right ]\left [ \begin{matrix} x_{1} \\ x_{2} \\ x_{3}\end{matrix} \right ]\tag{1}

根据条件1,如果实对称矩阵AA是正定矩阵,则xTAx>0x^{T}Ax>0,所以(1)的中间矩阵也应该是正定矩阵,根据条件2,(1)的中间矩阵的所有特征值大于0,所以A3=(1)>0A_{3}=(1)的中间矩阵的所有特征值乘积>0证毕。方阵的行列式等于所有特征值乘积,在第五章特征值与特征向量中推导过这一结论。

条件3\Longrightarrow条件4:以d3d_{3}为例,d3=A3A2>0d_{3}=\frac{A_{3}}{A_{2}}>0,证毕。关于求d3d_{3}用的表达式,在第四章行列式中推导过。

条件4\Longrightarrow条件1,对AA进行三角分解A=LDLTA=LDL^{T},则xTAx=xTLDLTxx^{T}Ax=x^{T}LDL^{T}x,令y=LTxy=L^{T}x,则xTAx=yTDyx^{T}Ax=y^{T}Dy,对角矩阵DD存的是AA的主元(pivots),所以yTDy=i=1ndiyi2>0y^{T}Dy=\sum\limits_{i=1}^{n}d_{i}y_{i}^{2}>0可以推出xTAx>0x^{T}Ax>0

至此,条件1-4相互均可以推导。

条件5\Longleftrightarrow条件4:A=LDLT=(LD)(DLT)=RTRA=LDL^{T}=(L\sqrt{D})(\sqrt{D}L^{T})=R^{T}R,其中R=DLTR=\sqrt{D}L^{T};或者条件5\Longleftrightarrow条件2:A=QΛQT=(QΛ)(ΛQT)=RTRA=Q\Lambda Q^{T}=(Q\sqrt{\Lambda})(\sqrt{\Lambda}Q^{T})=R^{T}R,其中R=ΛQTR=\sqrt{\Lambda}Q^{T}

1.2. 实对称矩阵是半正定矩阵的充要条件

  半正定矩阵就是对任意非零实向量xx,有xTAx0x^{T}Ax\geq0,相对正定矩阵多了等于0;相应的充要条件也加上了等号。

  1. xTAx0x^{T}Ax\geq0,对所有非零实向量;
  2. AA的所有特征值λi\lambda_{i}满足λi0\lambda_{i}\geq0
  3. 所有顺序主子式AkA_{k}0\geq 0的;
  4. 所有主元piovts0piovts \geq 0(最快捷条件);
  5. AA能分解成RTRR^{T}R,其中R的列向量相互独立。

证明:考虑A+εIA+\varepsilon I正定,当ε>0\varepsilon > 0

1.3. 实对称矩阵与正定矩阵的分解

  实对称矩阵不一定可以三角分解A=LDLTA=LDL^{T},但可以A=QΛQTA=Q\Lambda Q^{T}分解,正定矩阵两种分解都可以。

  A=LDLTA=LDL^{T}A=QΛQTA=Q\Lambda Q^{T}本质上都是二次型配方。


2. 惯性定理

2.1. 合同变换

  对于对称方阵A,BA,B,存在可逆矩阵CC,使得B=CTACB=C^{T}AC,则A,BA,B相合。合同变换本质上是对实对称矩阵的分类(上一章提到过,相似变换本质上是对方阵的分类)。

2.2. 惯性定理

  对于一个n阶实对称矩阵AA,与它合同的实对称矩阵有多个,这些实对角矩阵的对角元中,正数的个数是一定的(叫A的正惯性指数),负数的个数也是一定的(叫A的负惯性指数)。

证明略。

  实际使用时,如果AA是对称方阵,用三角分解A=LDLTA=LDL^{T}即可,因为A,D,ΛA,D,\Lambda三者相合。

2.3. 惯性定理的推论

  任何一个实对称矩阵可以相合到由若干1,若干-1,若干0组成的对角矩阵,即由相合条件约束的某一类实对称矩阵均可相合到该对角矩阵。

证明:
对实对称矩阵AA进行分解A=QΛQTA=Q\Lambda Q^{T},所以AAΛ\Lambda相合,不妨设Λ\Lambdaλ1λm\lambda_{1}\dots\lambda_{m}是正特征根,λm+1λi\lambda_{m+1}\dots\lambda_{i}是负特征根,λi+1λn\lambda_{i+1}\dots\lambda_{n}是零特征根,则Λ=[λ1λmλiλn]=[1λ11λm1λi0]×[1110]×[1λ11λm1λi0]=CTBC\begin{aligned} \Lambda & =\left [ \begin{matrix} \lambda_{1} &&&&&& \\ &\ddots &&&&& \\ &&\lambda_{m}&&&& \\ &&&\ddots &&& \\ &&&&\lambda_{i}&& \\ &&&&&\ddots& \\ &&&&&&\lambda_{n} \end{matrix} \right ] \\ & = \left [ \begin{matrix} \frac{1}{\sqrt{\lambda_{1}}} &&&&&& \\ &\ddots &&&&& \\ && \frac{1}{\sqrt{\lambda_{m}}}&&&& \\ &&&\ddots &&& \\ &&&& \frac{1}{\sqrt{-\lambda_{i}}}&& \\ &&&&&\ddots& \\ &&&&&&0 \end{matrix} \right ] \times \\ & \left [ \begin{matrix} 1 &&&&&& \\ &\ddots &&&&& \\ && 1&&&& \\ &&&\ddots &&& \\ &&&& -1&& \\ &&&&&\ddots& \\ &&&&&&0 \end{matrix} \right ] \times \left [ \begin{matrix} \frac{1}{\sqrt{\lambda_{1}}} &&&&&& \\ &\ddots &&&&& \\ && \frac{1}{\sqrt{\lambda_{m}}}&&&& \\ &&&\ddots &&& \\ &&&& \frac{1}{\sqrt{-\lambda_{i}}}&& \\ &&&&&\ddots& \\ &&&&&&0 \end{matrix} \right ] \\ & = C^{T}BC \end{aligned}

Λ\LambdaBB相合,故AABB相合。证毕。

2.4. 惯性定理的应用

  通过AnIA-nI限定实对称矩阵AA的特征根区间,例如:A3IA-3I有2正特征根,A5IA-5I只有1个正特征根,则AA有一个特征根在(3,5)之间。

这里用到了AnIA-nI的特征值,相对于AA的特征值也减去n的推论,证明如下:

Ax=λx,(A3I)x=λxAx=\lambda x, (A-3I)x = \lambda' x

所以

Ax=(λ+3)xAx = (\lambda'+3) x

所以λ=λ3\lambda'=\lambda-3


3. 奇异值分解

3.1. SVD

  对矩阵Am×nA_{m\times n},其秩r=rank(A)r=rank(A),则其奇异值分解(Singular Value Decomposition, SVD)表示为A=UΣV=()m×m()m×n()n×nA=U\Sigma V=(正交矩阵)_{m\times m}(对角矩阵)_{m\times n}(正交矩阵)_{n\times n}

其中UU的列向量由AATAA^{T}的特征向量构成;VV的列向量由ATAA^{T}A的特征向量构成;Σ\Sigma的对角元素的前r个被称为奇异值,是AATAA^{T}或者ATAA^{T}A的特征值平方根,其余元素为0。

  证明依赖于谱定理,在有了求对称方阵特征根高效算法后,才有了SVD。

证明:
证明分六步进行

  1. ATAA^{T}A一定是对称方阵
    ATAx=λxA^{T}Ax=\lambda x,左乘上xTx^{T}
    xTATAx=λxTx=(Ax)TAx0x^{T}A^{T}Ax = \lambda x^{T}x = (Ax)^{T}Ax \geq 0
    λ0\lambda \geq 0
    ATAA^{T}A至少是半正定矩阵
  2. 由谱定理ATA=V[σ12σr200]VT=[v1,v2vn][σ12σr200][v1Tv2TvnT ]\begin{aligned} A^{T}A & = V \left [ \begin{matrix} \sigma_{1}^{2}&&&&& \\ &\ddots&&&& \\ &&\sigma_{r}^{2}&&& \\ &&&0&& \\ &&&&\ddots& \\ &&&&& 0 \end{matrix}\right ]V^{T} \\ & = [v_{1}, v_{2}\dots v_{n}] \left [ \begin{matrix} \sigma_{1}^{2}&&&&& \\ &\ddots&&&& \\ &&\sigma_{r}^{2}&&& \\ &&&0&& \\ &&&&\ddots& \\ &&&&& 0 \end{matrix}\right ] \left [ \begin{matrix} v_{1}^{T}\\ v_{2}^{T}\\ \vdots \\ v_{n}^{T}\ \end{matrix}\right ] \end{aligned}
    其中1ir1\leq i \leq r时,σi>0\sigma_{i}>0,当r<inr < i \leq n时,σi=0\sigma_{i}=0
    所以,ATAvi=σi2vi,0irA^{T}Av_{i}=\sigma^{2}_{i}v_{i}, 0\leq i \leq r
    由于Avi2=(Avi)T(Avi)=viTATAvi=viTσi2vi=σi2||Av_{i}||^{2}=(Av_{i})^{T}(Av_{i})=v_{i}^{T}A^{T}Av_{i}=v_{i}^{T}\sigma^{2}_{i}v_{i}=\sigma^{2}_{i}
    Avi=σi||Av_{i}||=\sigma_{i}
  3. ui=Aviσi,1iru_{i}=\frac{Av_{i}}{\sigma_{i}},1\leq i \leq r
    uiu_{i}AA的列空间的单位向量。对于iji\neq jAvi=uiσiAvj=ujσjAv_{i}=u_{i}\sigma_{i} \\ Av_{j}=u_{j}\sigma_{j}(Avi)TAvj=σiσjuiTuj(Av_{i})^{T}Av_{j}=\sigma_{i}\sigma_{j}u_{i}^{T}u_{j}
    左边=viTATAvj=viTσj2vj=0=σiσjuiTuj==v^{T}_{i}A^{T}Av_{j}=v_{i}^{T}\sigma^{2}_{j}v_{j}=0=\sigma_{i}\sigma_{j}u_{i}^{T}u_{j}=右边
    由于σi,σj0\sigma_{i},\sigma_{j}\neq 0,则uiTuj=0u_{i}^{T}u_{j}=0
    u1,u2uru_{1},u_{2}\dots u_{r}相互正交,是AA的列空间的标准正交基
  4. 扩充u1,u2uru_{1},u_{2}\dots u_{r}u1,u2ur,ur+1umu_{1},u_{2}\dots u_{r},u_{r+1}\dots u_{m}RmR^{m}的标准正交基,则
    u1,u2uru_{1},u_{2}\dots u_{r}AA列空间C(A)C(A)的标准正交基;
    ur+1,ur+2umu_{r+1},u_{r+2}\dots u_{m}AA左零空间N(AT)N(A^{T})的标准正交基;
  5. 逐列来看
    1ir1\leq i \leq r时,σi>0\sigma_{i}>0Avi=uiσiAv_{i}=u_{i}\sigma_{i}
    r<inr < i \leq n时,σi=0\sigma_{i}=0Avi=0=ui0Av_{i}=0=u_{i}·0
  6. AV=UΣAV=U\Sigma,所以A=UΣVTA=U\Sigma V^{T}

3.2. SVD的本质

  逐列来看AU=ΣVAU=\Sigma V1ir1\leq i \leq r时,σi>0\sigma_{i}>0Avi=uiσiAv_{i}=u_{i}\sigma_{i}r<inr < i \leq n时,σi=0\sigma_{i}=0Avi=0=ui0Av_{i}=0=u_{i}·0。则
  u1,u2uru_{1},u_{2}\dots u_{r}AA列空间C(A)C(A)的标准正交基;
  ur+1,ur+2umu_{r+1},u_{r+2}\dots u_{m}AA左零空间N(AT)N(A^{T})的标准正交基;
  vr+1,vr+2vnv_{r+1},v_{r+2}\dots v_{n}AA零空间N(A)N(A)的标准正交基;
  v1,v2vrv_{1},v_{2}\dots v_{r}AA行空间C(AT)C(A^{T})的标准正交基;

  可见,SVD是C(AT)C(A^{T})C(A)C(A)的极简极优美映射,当1ir1\leq i \leq r
A[v1vr]=[u1ur][σ1σr]A[v_{1}\dots v_{r}]=[u_{1}\dots u_{r}]\left [ \begin{matrix} \sigma_{1}&& \\ &\ddots& \\ &&\sigma_{r} \end{matrix}\right ]即两个子空间标准正交基的极简极优美变换。

3.3. 求SVD

  1. ATAA^{T}Aσ,v\sigma, v,注意实对称矩阵属于不同特征根的特征向量正交;
  2. Avi=uiσiAv_{i}=u_{i}\sigma_{i}求出uiu_{i}
  3. 有Gram-Schmidt求ur+1umu_{r+1}\dots u_{m}

可见SVD的结果严重不唯一,但是奇异值是唯一的。

3.4. SVD的应用-伪逆

   求解线性方程组Am×nx=bA_{m\times n}x=b

  1. bbC(A)C(A),由第二章,利用高斯消去法,解方程,就和我们解多元一次方程组一样;
  2. bb不再C(A)C(A),且AA列满秩,则RnR^{n}就是C(AT)C(A^{T}),利用第三章的最小二乘法,把bbC(A)C(A)投影,在把这个投影点反向映射到C(AT)C(A^{T}),得到误差最小的解
    AT(Ax^b)=0x^=(ATA)1ATbA^{T}(A\widehat{x}-b)=0 \Longrightarrow \widehat{x}=(A^{T}A)^{-1}A^{T}b
  3. bb不再C(A)C(A),且A列不满秩,dim(Rn)=dim(C(AT))+dim(N(A))dim(R^{n})=dim(C(A^{T}))+dim(N(A))RnR^{n}相对于C(AT)C(A^{T})N(A)N(A)是更高维,把bbC(A)C(A)投影,在把这个投影点反映射到C(AT)C(A^{T})得到反向映射点,这个反向映射点加上N(A)N(A)中任意一个点都是误差最小解,此时最小二乘法得到的误差最小解不唯一,我们可以利用伪逆求得最短最简单的误差最小解,也就是反向映射点加上N(A)N(A)中的全零点。

   伪逆利用SVD定义,如果A=UΣVTA=U\Sigma V^{T},则A的伪逆定义为A+=VΣ+UTA^{+}=V\Sigma^{+} U^{T}
其中Σ+\Sigma^{+}表示对Σ\Sigma进行转置后,奇异值取倒数。

  则Ax=bAx=b的最短最简单误差最小解就是x+=A+bx^{+}=A^{+}bA+bA^{+}b的意义是把bb投影到C(A)C(A)中,在映射到C(AT)C(A^{T})

  下面是伪逆求解最短最简单的误差最小解的证明。

  1. 先证明AA是对角阵的情况,以A3×4,r(A)=2A_{3\times 4}, r(A)=2为例,求最短最简单的误差最小解x^\widehat{x}
    bC(A)b\in C(A)
    [σ10000σ2000000][x^1x^2x^3x^4]=[b1b20]\left [ \begin{matrix} \sigma_{1} & 0 & 0 & 0 \\ 0 & \sigma_{2} & 0 & 0 \\ 0 & 0 & 0 & 0 \end{matrix}\right ] \left [ \begin{matrix} \widehat{x}_{1} \\ \widehat{x}_{2} \\ \widehat{x}_{3} \\ \widehat{x}_{4} \end{matrix}\right ] =\left [ \begin{matrix} b_{1} \\ b_{2} \\ 0 \end{matrix}\right ]x^1=b1σ1\widehat{x}_{1}=\frac{b_{1}}{\sigma_{1}}x^2=b2σ2\widehat{x}_{2}=\frac{b_{2}}{\sigma_{2}}
    定义伪逆
    A+=[1σ10001σ20000000]A^{+}=\left [ \begin{matrix} \frac{1}{\sigma_{1}} & 0 & 0 \\ 0 & \frac{1}{\sigma_{2}} & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{matrix}\right ]
    x^=A+[b1b20]\widehat{x}=A^{+}\left [ \begin{matrix} b_{1} \\ b_{2} \\ 0 \end{matrix}\right ]得到最短最简单的误差最小解。
    bC(A)b\notin C(A)时,b=[b1b2b3]b=\left [ \begin{matrix} b_{1} \\ b_{2} \\ b_{3} \end{matrix}\right],仍按照上面的伪逆,仍然可以求得最短解,同时也是误差最小的解x^=A+[b1b2b3]=[b1σ1b2σ200]\widehat{x}=A^{+}\left [ \begin{matrix} b_{1} \\ b_{2} \\ b_{3} \end{matrix}\right ]=\left [ \begin{matrix} \frac{b_{1}}{\sigma_{1}} \\ \frac{b_{2}}{\sigma_{2}} \\ 0 \\ 0 \end{matrix}\right ]
  2. 如果A不是对角阵,则我们可以化成对角阵的形式,回到我们的根本目的,利用最小二乘法的想法求误差最小解,最小化Axb||Ax-b||,则Axb=UΣVTxb=U(ΣVTxUTb)=ΣVTxUTb\begin{aligned} ||Ax-b|| & =||U\Sigma V^{T}x-b|| \\ & = ||U(\Sigma V^{T}x-U^{T}b)|| \\ & = ||\Sigma V^{T}x-U^{T}b|| \end{aligned}最后一个等号转换用到了,正交变换不改变长度的性质。令y=VTxy=V^{T}x,则x=Vyx=Vy,进一步化简Axb=ΣVTxUTb=ΣyUTb\begin{aligned} ||Ax-b|| & = ||\Sigma V^{T}x-U^{T}b|| \\ & = ||\Sigma y-U^{T}b|| \end{aligned}此时Σ\Sigma是对角矩阵,回到了情况1,我们得到yy的最短最简单的误差最小解是y+=Σ+UTby^{+}=\Sigma^{+}U^{T}b由于x=Vyx=Vy同样是正交变换,不改变长度,进而得到xx的最短最简单的误差最小解是x+=Vy+=VΣ+UTbx^{+}=Vy^{+}=V\Sigma^{+}U^{T}b证毕。

  值得一提的是,AA+AA^{+}A+AA^{+}A均可看成投影矩阵,AA+bAA^{+}bbbC(A)C(A)投影,A+AaA^{+}AaaaC(AT)C(A^{T})投影。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章