矩阵的QR分解
- schmidt正交化
主要思路:非奇异的矩阵各列向量线性无关,可以利用schmidt正交化公式(再加上单位化),将每个列向量化为相互正交的单位向量Q。则A=QR,R可以由正交化和单位化过程中生成的中间变量直接写出。 - givens变换(旋转变换)
主要思路: - Householder变换(反射变换)
主要思路:
ps:一个镜像变换可以分解为两个旋转变换,即一个Householder矩阵可以分解为两个(其实偶数个即可,奇数个不行)givens矩阵的乘积,但反之则不然,这是因为givens矩阵的行列式为-1,Householder矩阵行列式为1,因此,无论多少个Householder矩阵的乘积的行列式也无法为-1。那么如何将Householder矩阵分解为两个givens矩阵呢?可以采用构造法,如下:
现在考完试了,发现不重要,所以就不写了。。。
虽然QR分解有这么多种方法,但本质和条件都是一样的,只是过程不同,计算的复杂度也不同,一般来说施密特正交化方法就够了,或许这也是为什么课本上只讲了第一种方法而没讲后面的方法吧。
正规矩阵的schur分解
这个分解主要是适用于更普遍的情况,比如不是方阵的情形,只需要满足正规性的条件即可酉相似于对角阵。
矩阵的满秩分解
满秩分解的操作性相对较强,特点是对任意矩阵的可以分解为一个列满秩和一个行满秩矩阵的乘积。应用于广义逆的求解中。
矩阵的奇异值分解(SVD)
奇异值分解也是适用于任意矩阵(不管是否方阵,是否可对角化,是否正规等等),形式上类似于正规矩阵的schur分解,但是可以通过分解得到的奇异值对矩阵进行降维处理,主要在实际工程中使用,如推荐算法(利用奇异值分解提取特征信息,以此预测用户偏好等信息)。
矩阵的谱分解
这个是在计算矩阵函数时比较有用的,在复习的过程中才发现了它的重要性,考试也考到了。谱分解即将一个可对角化的矩阵A分解成几项之和,每一项是特征值乘以一个矩阵,这些矩阵由A的特征值决定。当我们需要求矩阵函数f(A)时,只需要将谱分解公式中的特征值x替换为f(x)即可。可以算是很方便了。
总结
综上所述,矩阵的分解有多种不同的形式,也有不同的应用场景。有的用于数学分析推导,有的用于工程计算,但是基本上在matlab里都有直接的函数可以调用,因为分解的步骤都是固定的,程式化的。考试的时候也只是记忆住步骤就可以做题了,但是我觉得还是要对原理理解的透彻才算真正学到,否则就只是在做一台超慢计算机罢了。有机会要听一听学姐推荐的麻省理工的线性代数课程,这个寒假就看!加油吧少女!