矩阵分解(2)QR分解


        QR分解法是三种将矩阵分解的方式之一。这种方式,把矩阵分解成一个半正交矩阵与一个上三角矩阵的积。QR分解经常用来解线性最小二乘法问题。QR分解也是特定特征值算法即QR算法的基础。

        

        实数矩阵A的QR分解是把A分解为

A = QR, \,

       这里的Q是正交矩阵(意味着QTQ = I)而R是上三角矩阵。类似的,我们可以定义A的QL, RQ和LQ分解。

更一般的说,我们可以因数分解复数m×n矩阵(有着m ≥ n)为m×n 酉矩阵(在Q∗Q = I的意义上)和n×n上三角矩阵的乘积。

如果A是非奇异的,则这个因数分解为是唯一,当我们要求R的对角是正数的时候。


       QR分解的实际计算有很多方法,例如Givens旋转、Householder变换,以及Gram-Schmidt正交化等等。每一种方法都有其优点和不足。

在Matlab中,语法为[Q,R]=qr(A),如果A是一个m×n的矩阵,其QR分解后,Q为一个m×m的矩阵,R是一个m×n的矩阵。
语法为[Q,R,perm] = qr(A,0),如果A是一个m×n的矩阵,当m≤n时,其QR分解后,Q为一个m×m的矩阵,R是一个m×n的矩阵。当m ≥n时,其QR分解后,Q为一个m×n的矩阵,R是一个n×n的矩阵。
      

你可能感兴趣的:(算法演化)