矩阵分解---QR正交分解,LU分解

Posted jins-note

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵分解---QR正交分解,LU分解相关的知识,希望对你有一定的参考价值。

相关概念:
  • 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等。两个向量正交的意思是两个向量的内积为 0
  • 正定矩阵:如果对于所有的非零实系数向量x ,都有 x‘Ax>0,则称矩阵A 是正定的。正定矩阵的行列式必然大于 0, 所有特征值也必然 > 0。相对应的,半正定矩阵的行列式必然 ≥ 0。
 

QR分解

矩阵的正交分解又称为QR分解,是将矩阵分解为一个正交矩阵Q和一个上三角矩阵的乘积的形式。

任意实数方阵A,都能被分解为A=QR。这里的Q为正交单位阵,即QTQ=I。R是一个上三角矩阵。这种分解被称为QR分解。

QR分解也有若干种算法,常见的包括Gram–Schmidt、Householder和Givens算法。

QR分解是将矩阵分解为一个正交矩阵与上三角矩阵的乘积。用一张图可以形象地表示QR分解: 
技术分享图片

这其中, Q为正交矩阵,R为上三角矩阵。 
实际中,QR分解经常被用来解线性最小二乘问题。
 
  • 计算方法:

技术分享图片

  • 对于非方阵的m∗n(m≥n)阶矩阵A也可能存在QR分解。这时Q为m*m阶的正交矩阵,R为m*n阶上三角矩阵。这时的QR分解不是完整的(方阵),因此称为约化QR分解(对于列满秩矩阵A必存在约化QR分解)。同时也可以通过扩充矩阵A为方阵或者对矩阵R补零,可以得到完全QR分解。

LU分解---三角分解

    矩阵的LU分解是将一个矩阵分解为一个下三角矩阵与上三角矩阵的乘积。本质上,LU分解是高斯消元的一种表达方式。首先,对矩阵A通过初等行变换将其变为一个上三角矩阵。对于学习过线性代数的同学来说,这个过程应该很熟悉,线性代数考试中求行列式求逆一般都是通过这种方式来求解。然后,将原始矩阵A变为上三角矩阵的过程,对应的变换矩阵为一个下三角矩阵。这中间的过程,就是Doolittle algorithm(杜尔里特算法)。
    
计算方法:
技术分享图片
 

    LU分解常用来求解线性方程组,求逆矩阵或者计算行列式。例如在计算行列式的时候,,。而对于三角矩阵来说,行列式的值即为对角线上元素的乘积。所以如果对矩阵进行三角分解以后再求行列式,就会变得非常容易。

    在线性代数中已经证明,如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的。

 
 
 
 

        https://blog.csdn.net/eric_e/article/details/80354834



以上是关于矩阵分解---QR正交分解,LU分解的主要内容,如果未能解决你的问题,请参考以下文章

矩阵分解

矩阵——QR分解

机器学习中的矩阵方法03:QR 分解

matlab里矩阵的正交分解怎么表示

矩阵分解的常见方法

matlab QR分解用啥算法实现的