浅谈矩阵分解以及应用(2)

来源:互联网 发布:奢侈品 知乎 编辑:程序博客网 时间:2024/05/22 12:06

上一篇谈了矩阵分解中比较简单的三角分解,这里介绍另外两种分解:矩阵的谱分解和LR分解。

矩阵的谱是指矩阵所有特征值的集合。因此,矩阵的谱分解就是利用矩阵的特征值来对矩阵分解。利用矩阵对角化可以得到:任何一个正规矩阵A(一个矩阵满足本身与转置的乘积等于转置与本身乘积的矩阵就叫正规矩阵,比如常见的对称阵,正交阵), UT*A*U=diag(x1,x2,....)。这里U=[u1,u2.....]为正交阵,xi为特征值。从而A=U*diag(x1,x2,....)*UT。写开的话就是A=x1*u1*u1T+x2*u2*u2T+.....。这样,我们就得到正规矩阵的谱分解。

矩阵的谱分解,我感觉是对矩阵分解的最彻底的一种,显然这种分解的计算是很复杂的。因为,我们能得到矩阵的特征值与特征向量,这两个元素是一个矩阵最“好”的东东,能得到矩阵的秩,行列式的值,谱半径等等。矩阵谱分解的计算很明显需要计算出矩阵的特征值以及对应的经过Gram—Schmidt正交化之后的特征向量(保证U阵是正交阵)。

矩阵谱分解适用的矩阵是正规矩阵,当然必须是方阵了。

谱分解的用途在此不予说明(主要是我也不知道出了计算之外别的用途微笑)。


在介绍一种矩阵分解LR分解,也叫做满秩分解。这是一种很有意思的分解,因为它是针对任何矩阵都可以进行的,特别是针对小秩矩阵分解,比如秩为1的矩阵。

LR分解中,L代表Left,R代表Right,这个分解将矩阵分成左边是列满秩阵,右边是行满秩阵。我们知道,如果左边是一个行满秩,右边是一个列满秩的话,那么乘积一定可逆。而在这里,我们是针对任意的矩阵,得到这样一个与之相反的结果。LR分解的计算很简单。对一个待分解矩阵A,对它进行行初等变换,得到一个标准的Hermit阵,取Hermit阵的每行的首个非零元素(1)所在列对应的A阵的各列,这些列构成了一组线性无关组构成L矩阵,当然Hermit阵里面的那些非全零行就构成了R矩阵。

LR分解适用于任何矩阵。

LR分解对于计算矩阵的高次幂特别有用,特别是针对小秩的矩阵,例如秩为1的矩阵,我们会经过LR分解得到列向量L1与行向量R1的乘积。于是对于一个矩阵A=L1*R1,那么A的n次幂就可以写成n个A相乘。An =A*A*A.......=L1*R1*L1*R1*L1*R1......。我们知道R1*L1是实数q。从而An =L1*q*q*....*R1=qn-1 *L1*R1= qn-1 *A。这样计算矩阵的高次幂就很简单了。


未完待续……