首发于矩阵
矩阵分解(Matrix  Decomposition)

矩阵分解(Matrix Decomposition)

矩阵分解是矩阵理论中非常重要的内容。笔者正好利用此次机会,对矩阵分解的知识进行整理,一来利于自己总结知识脉络,二来也可以作为以后的工具查阅,另外也方便对矩阵分解有需求的游客学习和讨论。


在进行总结之前,我们首先要非常清楚矩阵的类型,因为不同的矩阵类型存在不一样的分解方式。本文我们约定所讨论的数域为复数域,这样实数域的情况就只是本文的特例。在量子力学体系中,所有的矩阵都是在复数域中存在的,即都存在幅度和相位。


首先最先想起的是单位矩阵,初等矩阵。初等矩阵用 E_{ij}表示,即该矩阵中的元素在 (i,j) 处为1,其他地方都为零。这一类矩阵在高斯消元中非常重要。另外,我们还能想到实对称矩阵,(实)反对称矩阵,对角矩阵,三角矩阵,正交矩阵,酉矩阵,Hermite矩阵,反Hermite矩阵等。

在实数域中,我们常用的矩阵为对角矩阵,对称矩阵,正交矩阵和三角矩阵。

在复数域中,我们常用的矩阵为酉矩阵,Hermite矩阵等。

酉矩阵的性质:

常用 U 表示,满足 U^*=U^{-1} ,酉矩阵的是正交矩阵的在复数域的推广。酉矩阵是满秩的,每一列都是单位向量,其每两列都是正交的。这类矩阵性质非常好。

(1)酉矩阵的特征值的模都为1:存在任意特征向量 \alpha ,特征值 \lambda ,则有 U\alpha = \lambda \alpha ,对该式去共轭转置(实数域中的转置),有 \alpha^* U^*=\lambda^* \alpha^* 。因此有1=\alpha^* U^*U\alpha = \lambda^*\lambda\alpha^*\alpha=|\lambda|^2 ,即特征值的模都为1成立。

(2)酉矩阵不是Hermite矩阵,因为它不满足 U^*=U .

(3)酉矩阵能够对角化吗?当然可以(列满秩方阵),并且可以酉对角化!即对任意的酉矩阵B,存在酉矩阵U,使得 B=U^*DU=U^*\text{diag}\{\lambda_1,\lambda_2,\cdots,\lambda_n\}U,\quad |\lambda_i|^2=1,i=1,\cdots,n .

Hermite矩阵性质:

(1)Hermite矩阵满足, H^*=H ,其是对称矩阵在复数域的推广。类似的,我们有

H\alpha = \lambda\alpha,\alpha^*H\alpha=\alpha^*\lambda \alpha=\lambda^*\alpha^*\alpha. 因此,我们得到Hermite矩阵的特征值都是实数。这个性质也很重要。

(2)Hermite矩阵可以对角化,并且仍然是酉对角化!即存在Hermite矩阵H,存在酉矩阵U,使得 H=U^*D_HU.

反Hermite矩阵性质:

类似的,反Hermite矩阵满足 H ^*=-H. 通过同样的变换,可以我们发现:

H \alpha=\lambda\alpha,\alpha^*H^*\alpha=-\lambda\alpha^*\alpha=\lambda^*\alpha^*\alpha. 因此,发现反Hermite矩阵的特征值是纯虚数。

对称矩阵性质:

对称矩阵S满足, S^T=S 。实对称矩阵一定可以正交对角化,即存在正交矩阵Q,使得

S=Q^TDQ .

实反对称矩阵:实反对称矩阵的特征值要么是零要么是纯虚数。

存在正交矩阵Q,使得 Q^TAQ=0\oplus A_1\oplus A_2\cdots\oplus A_s,

其中每个 A_i=\begin{pmatrix} 0&b_i \\ -b_i& 0 \end{pmatrix} 都是一个Schur型。

正交矩阵:

正交矩阵也能正交对角化。即存在正交矩阵Q,使得

Q^TAQ=I_s\oplus(-I_t)\oplus A_1\oplus A_2\cdots\oplus A_m ,其中每个 A_i=\begin{pmatrix} \cos\theta &\sin\theta\\ -\sin\theta&\cos\theta \end{pmatrix} 是二阶Givens旋转矩阵。正交矩阵的特征值的模都为1.


实际上,上面描述的矩阵都具有非常好的性质,不仅能对角化,有的甚至能酉对角化,这是非常特殊的。他们统称为正规矩阵。

正规矩阵A满足: A^*A=AA^* ,令 M=AA^*=A^*A ,则M是一定是半正定的。显然, x^*Mx=x^*AA^*x=||A^*x||_2^2=||Ax||_2^2\geq 0.


(更新后加入矩阵的谱分解部分)

矩阵的谱分解(可对角化矩阵——满秩可逆)

谱分解定理:设 A 为一个n阶可对角化矩阵,A的谱为 \sigma(A)=\{\lambda_1,\lambda_2,\cdots,\lambda_s\}, 其中 \lambda_i 的重数为 k_i ,则存在唯一一组s个n阶方阵 P_1,P_2,\cdots,P_s ,满足
(1) A=\sum_{i=1}^{s}\lambda_iP_i; (2) P_i^2=P_i; (3) P_iP_j=0(i\neq j);
(4) \sum_{i=1}^{s}P_i=I; (5) r(P_i)=k_i;

这些矩阵 P_i 称为矩阵A的成分矩阵或主幂等矩阵。一般成分矩阵不一定是Hermite矩阵,因此, Ax=\lambda_1P_1x+\lambda_2P_2x+\cdots+\lambda_sP_sx 中的诸向量 P_ix 未必是正交的。

谱分解的计算例子:

求矩阵的谱分解, A=\begin{pmatrix} -1 & 3&-1\\ -3&5&-1\\ -3&3&1 \end{pmatrix}.

解: |\lambda I-A|=\left| \begin{matrix} \lambda+1&-3&1\\ 3&\lambda-5&1\\ 3&-3&\lambda-1 \end{matrix} \right|=(\lambda-1)(\lambda-2)^2. 所以A有特征值 \lambda_1=1,\lambda_2=2 (两重)。通过齐次线性方程组,可得对应于特征值的特征向量分别为:

\alpha_1=(1,1,1)^T,\alpha_2=(1,1,0)^T,\alpha_3=(-1,0,3)^T.P=(\alpha_1,\alpha_2,\alpha_3) ,则可以求出

P^{-1}=\begin{pmatrix} 3&-3&1\\ -3&4&-1\\ -1&1&0 \end{pmatrix}=\begin{pmatrix} \beta_1^T\\ \beta_2^T\\ \beta_3^T \end{pmatrix}.\\

这里计算P的逆矩阵很烦人的,可以用初等行变换的方法进行求解。因此,

P_1=\alpha_1\beta_1^T,P_2=\alpha_2\beta_2^T+\alpha_3\beta_3^T\\

故A的谱分解为 A=P_1+2P_2 . A的幂为 A^n=P_1^n+2^nP_2^n=P_1+2^nP_2. 说明谱分解本质上还是为方便求解矩阵幂服务的。前面我们知道矩阵的对角化,可以方便我们求逆。矩阵的满秩分解可以方便我们求逆,现在我们知道矩阵的谱分解可以方便我们求幂。但是谱分解和对角化都要求矩阵是满秩可对角化的,如果不满足这些条件的矩阵能够有方便的形式求解吗?答案是肯定的,矩阵的Jordan标准型就是专门为矩阵求幂设计的。


矩阵求逆问题也是重点。但是矩阵求逆为了在数值上计算稳定,数学家们相处了很多将矩阵分的方法,后面我们将会看到矩阵的LU三角分解,QR正交分解,奇异值分解和极分解等,都是为了在数值上获得矩阵求逆的稳定方法而设计的。


矩阵的LU分解(n阶方阵,不一定存在)

LU分解实际上是高斯消元的另一种看法。即对于任意的n阶方阵A,存在L是单位下三角矩阵,U是上三角矩阵,使得 A=LU. 这里对矩阵A只要求是方阵,其他的要求都没有。

考虑高斯消元,即存在初等矩阵 E_{ij} ,对矩阵A进行初等行变换,可以将A变为上三角矩阵,该上三角矩阵就是U. 举个例子:

对于任意的3阶矩阵,我们能通过左乘初等矩阵,即 E_{32}E_{31}E_{21}A=U.(不交换行) 那么我们有

A=E_{21}^{-1} E_{31}^{-1}E_{32}^{-1}U=LU,\quad L=E_{21}^{-1} E_{31}^{-1}E_{32}^{-1}.

可以发现,L必定为单位下三角矩阵。因为我们的初等变换都只涉及对A的下三角部分进行变换,另外,每一个初等矩阵的逆都不会改变主对角元素(都是1)。

从高斯消元的角度可以看出,如果矩阵A最后一行不能被前面的r(A)行线性表示,则就找不到初等矩阵,使得A经过初等行变换后变成U,则三角分解不存在。

如果方阵A可逆,并且有三角分解,则该分解是唯一的。(因为最后一行可以被前面r(A)唯一的线性表示。)

设A为n阶矩阵的前r(A)个顺序主子式均非零,则A存在三角分解,但不唯一。(存在性)因为前r(A)行构成的矩阵是可逆的(线性无关),可以表示后面n-r(A)行。

Chelesky分解(实正定矩阵)

chelesky分解是针对实正定矩阵而言的。正定矩阵一般默认是对称的。实正定矩阵A必存在三角分解A=LU,且存在唯一的对角元素均为正的下三角矩阵G,使得 A=GG^T .举个简单的例子, A=\begin{pmatrix} 2&1\\ 1&2 \end{pmatrix}. A是正定的。存在初等变换 G_1=\begin{pmatrix} 1&0\\ -\frac{1}{2}&1 \end{pmatrix} ,使得

G_1AG_1^T=\begin{pmatrix} 2&0\\ 0&\frac{3}{2} \end{pmatrix}. 因为A对称,对A的初等行变换,其转置就是对A的初等列变换。因此可以化为对角矩阵(对实对称矩阵的对角化)。那么令

A=G_1^{-1}\sqrt{D}\sqrt{D}(G_1^T)^{-1}=GG^T=\begin{pmatrix} \sqrt{2}&0\\ \frac{\sqrt{2}}{2}& \sqrt{\frac{3}{2}} \end{pmatrix}\begin{pmatrix} \sqrt{2}&\frac{\sqrt{2}}{2}\\ 0& \sqrt{\frac{3}{2}} \end{pmatrix}.

这是只需要进行一次初等行变换的条件下,计算方法。当需要多次进行初等行变换时,计算是类似的。此时需要将所有的初等变换看成一个初等变换,把它当成 G_1 即可。

这个方法和奇异值分解,或者是Hermite矩阵可以分解为 H=P^*P 是类似的。后面会进行介绍。

满秩分解(LR)(m*n矩阵)(不唯一,总存在)

首先矩阵A肯定不是满秩的,所以才需要进行满秩分解。因为满秩的矩阵存在逆矩阵,计算较为方便。满秩分解需要将矩阵A进行初等行变换,将其化简为Hermite型。例如对矩阵A,

A=\begin{pmatrix} 1 & 1&0&1\\ 0&1&1&0\\ 1&2&1&1 \end{pmatrix}\rightarrow\begin{pmatrix} 1 & 0&-1&1\\ 0&1&1&0\\ 0&0&0&0 \end{pmatrix}=B

很显然矩阵的秩为2。Hermite标准型矩阵是:非零行的第一个元素必须为1。L矩阵取非零行第一个非零元素所在的列,其对应矩阵A的列。R为B的非零行。因此A的满秩分解为

A=LR=\begin{pmatrix} 1&1\\ 0&1\\ 1&2 \end{pmatrix}\begin{pmatrix} 1&0&-1&1\\ 0&1&1&0 \end{pmatrix}.

一般我们此种变形非常利于我们求解矩阵A的四个子空间。还是以矩阵A为例,

矩阵A的四个子空间

矩阵QR分解(可逆矩阵存在)(唯一)

矩阵可逆也不一定存在三角分解,这是非常令人遗憾的。矩阵正交(Q)三角(R)分解是对任何可逆矩阵都存在的理想分解。其原理是斯密特正交化。首先给出QR分解的定理:

A\in \mathbb{C}^{n\times n}, 且A为满秩的,则存在唯一的酉矩阵U和对角线元素均为正的上三角矩阵R,使得 A=UR .(当然对于实数矩阵,这里的酉矩阵类比为正交矩阵Q即可)

一个很重要的推广是矩阵A可以是非方阵,只需要列满秩即可, A\in\mathbb{C}^{n\times r} , 则矩阵 U\in\mathbb{C}^{n\times r} 为r个列向量构成的标准正交基, R\in \mathbb{C}^{r\times r} 为对角线元素为正的上三角矩阵。分解也是唯一的。

计算过程:

以实数矩阵为例,对于列满秩矩阵 A=\begin{pmatrix} 1&\frac12&5\\ 1&-\frac12&2\\ -1&\frac12&-2\\ 1&-\frac{3}{2}&0 \end{pmatrix},求其QR分解。

解:令 \alpha_1=(1,1,-1,1)^T,\alpha_2=\frac12(1,-1,1,-3),\alpha_3=(5,2,-2,0) 由斯密特正交化方法得:

\beta_1=\alpha_1=(1,1,-1,1)^T,\eta_1=\frac12(1,1,-1,1)\\ \beta_2=\alpha_2-(\alpha_2,\eta_1 ) \eta_1=(1,0,0,-1)^T,\eta_2=\frac{1}{\sqrt{2}}(1,0,0,-1)^T\\ \beta_3=\alpha_3-(\alpha_3,\eta_1)\eta_1-(\alpha_3,\eta_2)\eta_2=\frac14(1,-1,1,1)^T,\eta_3=\frac12(1,-1,1,1)^T

从而有:

A=QR=\begin{pmatrix} \frac12&\frac{1}{\sqrt{2}}&\frac12\\ \frac12&0&-\frac12\\ -\frac12&0&\frac12\\ \frac12&-\frac{1}{\sqrt{2}}&\frac12 \end{pmatrix}\begin{pmatrix} 2&-1&\frac92\\ 0&\sqrt2&\frac{5}{\sqrt2}\\ 0&0&\frac12 \end{pmatrix}.\\

值得注意的是上三角矩阵R是怎么计算的?

对斯密特正交化的过程进行变形得:

\alpha_1=\beta_1=||\beta_1||\eta_1\\ \alpha_2=||\beta_2||\eta_2+(\alpha_2,\eta_1)\eta_1\\ \alpha_3=||\beta_3||\eta_3+(\alpha_3,\eta_2)\eta_2+(\alpha_3,\eta_1)\eta_1

写成矩阵形式:

(\alpha_1,\alpha_2,\alpha_3)=(\eta_1,\eta_2,\eta_3)\begin{pmatrix} ||\beta_1||&(\alpha_2,\eta_1)&(\alpha_3,\eta_1)\\ 0&||\beta_2||&(\alpha_3,\eta_2)\\ 0&0&||\beta_3|| \end{pmatrix}.\\

所以在计算QR分解时,把步骤写清楚,尤其是在计算 \beta 时,因为每一个系数都会成为矩阵的元素。

矩阵的奇异值分解(普适性很强,要求很低)

对标正规矩阵(normal matrix),正规矩阵都可以酉对角化。这是非常好的性质。但是非正规矩阵是否具有类似的性质呢?注意到正规矩阵满足 A=UDU^* ,其中 两个酉矩阵互为共轭转置,我们能不能放弃这一性质,使得非正规矩阵矩阵也有类似的分解?当然可以。

奇异值分解定理:设 A=(a_{ij})\in \mathbb{C}^{m\times n}(m\geq n),\sigma_1\geq \sigma_2\geq \cdots\sigma_r, 则存在m阶和n阶酉矩阵U和V,使得 A=UDV^* ,其中 D=\text{diag}\{\sigma_1,\cdots,\sigma_r,0,\cdots,0\}_{m\times n} , \sigma_1,\cdots,\sigma_r 称为奇异值。

这里不谈证明,直接给出奇异值分解的计算方法。

A=\begin{pmatrix} 1&0&1\\ 0&1&-1 \end{pmatrix}. 那么分别求其正规矩阵形式的酉对角化,即有

AA^*=UD^*DU^*,A^*A=VD^*DV^*.\\

利用上面两个等式,可以分别求出 U,V 矩阵。

AA^*=\begin{pmatrix} 2&-1\\ -1&2 \end{pmatrix} ,其特征值分别为1,3,对应的标准正交特征向量为 \beta_1=\frac{1}{\sqrt2}(1,1)^T,\beta_2=\frac{1}{\sqrt2}(1,-1)^T. 这里就求出了U矩阵。

接着我们有

A^*A=\begin{pmatrix} 1&0&1\\ 0&1&-1\\ 1&-1&2 \end{pmatrix}, 其对应的特征值为1,3,0(注意这里第三个特征值必须为0)

对应的特征向量可以计算分别为

\alpha_1=\frac{1}{\sqrt2}(1,1,0)^T,\alpha_2=\frac{1}{\sqrt 6}(1,-1,2)^T,\alpha_3=\frac{1}{\sqrt{3}}(1,-1,-1)^T.\\

其中 \alpha_3 可以不用计算,因为他必须和前面两个特征向量正交。这样我们就求出了V。然后根据奇异值分解定理,可以得到

A=UDV^*=\begin{pmatrix} \frac{1}{\sqrt2}&\frac{1}{\sqrt2}\\ \frac{1}{\sqrt2}&-\frac{1}{\sqrt2} \end{pmatrix}\begin{pmatrix} 1&0&0\\ 0&\sqrt3&0\\ \end{pmatrix}\begin{pmatrix} \frac{1}{\sqrt2}&\frac{1}{\sqrt2}&0\\ \frac{1}{\sqrt6}&-\frac{1}{\sqrt6}&\frac{2}{\sqrt6}\\ \frac{1}{\sqrt3}&-\frac{1}{\sqrt3}&-\frac{1}{\sqrt3} \end{pmatrix}.\\

有一种简便算法:即只计算低阶正规矩阵的特征值和特征向量。这里为 AA^* 为2阶,计算较为简单。在得到其特征值和特征向量之后,同样的计算酉矩阵U。然后,利用

\alpha_1=\frac{1}{\sqrt{\lambda_1}}A^*\beta_1,\alpha_2=\frac{1}{\sqrt{\lambda_2}}A^*\beta_2 计算V矩阵的两个向量,第三个0特征值对应的向量与前面的向量两两正交即可。因为U和V满足关系式:

Av_i=\begin{cases} \sigma_i u_i, &\quad 1\leq i\leq r\\ 0,&\quad r+1\leq i\leq n \end{cases}\\

该等式方便我们在求出V后,求出U向量。与

u_i^* A=\begin{cases} \sigma_iv_i^*,\quad &1\leq i\leq r\\ 0,\quad &r+1\leq i\leq m \end{cases}\\

该等式方便我们求出U之后,求V向量。利用上面两个等式,可以不用全部计算两个正规矩阵 AA^*,A^*A ,从而带来求解特征值和特征向量的烦恼。

如果A为正规矩阵,则A的奇异值分解中U和V相同,都是n阶酉矩阵,此时直接退化为酉对角化,对角线元素为特征值(实数)。因为一般来讲,奇异值等于特征值的平方根,肯定大于等于0,即 A=U^*\Lambda U, 其中 \Lambda=\text{diag}\{\lambda_1,\lambda_2\cdots,\lambda_n\} ,则存在对角酉矩阵W,使得

D=\Lambda W^*=\text{diag}\{|\lambda_1|,|\lambda_2|,\cdots, |\lambda_n|\}.\\ W=\text{diag}\{e^{i\theta_1},\cdots,e^{i\theta_n}\}.

于是得 A=U^*\Lambda W^*WU=U^*DWU=U^*DV ,其中 V=WU 是酉矩阵(因为 V^*=U^*W^*=U^{-1}W^{-1}=(WU)^{-1}=V^{-1}. 即V仍为酉矩阵。)

矩阵 A,A^* 具有相同的奇异值。 A^{-1} 的奇异值为A奇异值的倒数。

奇异值分解的展开式:

A=\sum_{i=1}^{n}\sigma_i u_iv_i^*.\\

如果我们将前r(A)列的向量组成矩阵 U_r,V_r,D_r ,有

A=\sum_{i=1}^{r}\sigma_iu_iv_i^*=U_rD_rV_r^*.\\

矩阵的奇异值与矩阵的四个子空间:

  1. 酉矩阵U的前r列是A的列空间R(A)的一组标准正交基;
  2. 酉矩阵V的前r列是 A^* 的列空间( 即A的行空间 R(A^*) )的一组标准正交基;
  3. U的后n-r列是 A^* 的零空间( N(A^*) )的一组标准正交基;
  4. V的后n-r列是A的零空间 N(A) 的一组标准正交基。

因此求出矩阵A的四个空间后,分别进行斯密特正交化,和标准化就可以得到矩阵的奇异值分解。注意 R(A)N(A^*) 互为正交补子空间(U)R(A^*)与N(A) 正交补子空间(V)

极分解(方阵,如果A可逆,则唯一)

A\in \mathbb{C}^{n\times n}, 则存在酉矩阵U和唯一的半正定矩阵P,使得A=PU.

该分解可以通过奇异值分解得到,

首先方阵A存在奇异值分解, A=U_1DV^*, 则令 P=U_1DU_1^*,U=U_1V^*. 我们有

此时P矩阵是正规的,因为它可以酉对角化,并且是半正定的,因为对角矩阵元素都是大于等于0的,即P矩阵是半正定矩阵。U仍然是酉矩阵。我们就得到了A=PU。

注意到 P=\sqrt{AA^*} 是唯一的。当矩阵A可逆时,即满秩时,此时奇异值都不为零,那么U也是唯一的。

编辑于 2018-12-25 09:34