• 矩阵分析与应用


    QR分解

    QR分解定理:若A\in R^{m\times n},且m\geqslant n,则存在列正交的矩阵Q\in R^{m\times n}和上三角矩阵R\in R^{n\times n}使得A=QR,当m=n时,Q是正交矩阵。如果A是非奇异的n\times n矩阵,则R的所有对角线元素均为正数,并且在这种情况下Q和R二者是唯一的,若A是复矩阵,则Q和R取复值。

    引理:若A和B是任意两个m \times n矩阵,则

    A^{H}A=B^{H}B

    当且仅当存在一个m \times m酉矩阵Q,使得

    QA=B

    采用施密特正交法的QR分解步骤:

    步骤1:写出矩阵A的列向量。

    步骤2:把列向量组按照施密特正交方法得到正交矩阵组(q_{1},q_{2},q_{3},q_{4})线性组合,由此构成的矩阵为正交矩阵Q。

    步骤3:把矩阵A列向量表示成向量组(q_{1},q_{2},q_{3},q_{4})的线性组合,则系数矩阵为R。

    步骤4:得出矩阵的QR分解。

    例:求下列矩阵的QR分解

    A=\begin{bmatrix} 1 &1 &-1 \\ 1& 0& 0\\ 0& 1&0 \\ 0&0 & 1 \end{bmatrix}

    首先将A矩阵正交化,得到一组正交向量组:

    \beta_{1}=\alpha _{1}=[1,1,0,0]^{T}

    \beta_{2}= \alpha _{2}-\frac{\alpha _{2},\beta_{1}}{\beta_{1},\beta_{1}}\beta_{1}= \alpha _{2}-\frac{1}{2}\beta_{1}=[\frac{1}{2},-\frac{1}{2},1,0]^{T}

    \beta_{3}= \alpha _{3}-\frac{\alpha _{3},\beta_{1}}{\beta_{1},\beta_{1}}\beta_{1}-\frac{\alpha _{3},\beta_{2}}{\beta_{2},\beta_{2}}\beta_{2}= \alpha _{3}+\frac{1}{2}\beta_{1}+\frac{1}{3}\beta_{2}=[-\frac{1}{3},\frac{1}{3},\frac{1}{3},1]^{T}

    再将其单位化,得到一组标准正交向量组:

    \eta _{1}=\frac{1}{\left \| \beta _{1} \right \|} \beta _{1} =[\frac{\sqrt{2}}{2},\frac{\sqrt{2}}{2},0,0]^{T}

    \eta _{2}=\frac{1}{\left \| \beta _{2} \right \|} \beta _{2} =[\frac{\sqrt{6}}{6},-\frac{\sqrt{6}}{6},\frac{\sqrt{6}}{3},0]^{T}

    \eta _{3}=\frac{1}{\left \| \beta _{3} \right \|} \beta _{3} =[-\frac{\sqrt{3}}{6},\frac{\sqrt{3}}{6},\frac{\sqrt{3}}{6},\frac{\sqrt{3}}{2}]^{T}

    Q=(\eta _{1},\eta _{2},\eta _{3})=\begin{bmatrix} \frac{\sqrt{2}}{2} &\frac{\sqrt{6}}{6} & -\frac{\sqrt{3}}{6}\\ \frac{\sqrt{2}}{2} & -\frac{\sqrt{6}}{6} &\frac{\sqrt{3}}{6} \\ 0 & \frac{\sqrt{6}}{3}&\frac{\sqrt{3}}{6} \\ 0 &0 &\frac{\sqrt{3}}{2} \end{bmatrix}

    由上各式有:

    \beta_{1}=\alpha _{1}\Rightarrow \alpha _{1}=\beta_{1}

    \beta_{2}= \alpha _{2}-\frac{1}{2}\beta_{1}\Rightarrow \alpha _{2}=\beta_{2}+\frac{1}{2}\beta_{1}

    \beta_{3}= \alpha _{3}+\frac{1}{2}\beta_{1}+\frac{1}{3}\beta_{2}\Rightarrow \alpha _{3}=\beta_{3}-\frac{1}{2}\beta_{1}-\frac{1}{3}\beta_{2}

    又因:

    \beta _{1} =\left \| \beta _{1} \right \|\eta _{1}

    \beta _{2} =\left \| \beta _{2} \right \|\eta _{2}

    \beta _{3} =\left \| \beta _{3} \right \|\eta _{3}

    可得:

    \alpha _{1}=\sqrt{2}\eta _{1}

    \alpha_{2}=\frac{1}{2}\beta_{1}+\beta_{2}=\frac{\sqrt{2}}{2}\eta _{1}+\frac{\sqrt{6}}{2}\eta _{2}

    \alpha _{3}=\beta_{3}-\frac{1}{2}\beta_{1}-\frac{1}{3}\beta_{2}=-\frac{\sqrt{2}}{2}\eta _{1}-\frac{\sqrt{6}}{6}\eta _{2}+\frac{2\sqrt{3}}{3}\eta _{3}

    最终可得矩阵R为:

    R=\begin{bmatrix}\sqrt{2}&\frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2}\\ 0& \frac{\sqrt{6}}{2} &\frac{-\sqrt{6}}{6} \\ 0 &0 &\frac{2\sqrt{3}}{3} \end{bmatrix}

    Householder QR分解:

    Householder 变换可以实现任意m*n矩阵A的QR分解,其原理是使用变维向量的Householder 变换,使得该向量除第一个元素外,其他元素皆变为0。

    欲使得一个p维向量x=[x_{1},x_{2},.. .,x_{p}]^{T}的第1个元素后的所有元素变为0,则p维的Householder向量应取: 

    w=-\frac{x-\beta e_{1}} {\sqrt{\bar{\beta} (\beta -x_{1})}}

    其中

    \bar{\beta }=-|x_{1}|||x||,\beta =-\frac{x_{1}}{|x_{1}|}\left \| x \right \|

    假设m*n矩阵A的列分块形式为:

    A_{m\times n}=[a_{1},a_{2},.. .,a_{n}]

    首先令x=a_{1}=[a_{11},a_{21},.. .,a_{m1}]^{T},并取p=m,则可得u_{1}=w_{m}

    此时:

    H_{1}=I-u_{1}u_{1}^{T}\rightarrow A_{1}=H_{1}A=[a_{1}^{(1)},a_{2}^{(1)},.. .,a_{n}^{(1)}]

    变换后,矩阵A_{1}的第一列a_{1}^{(1)}的第一个元素等于(a_{11}^{2}+a_{21}^{2}+.. .+a_{m1}^{2})^{1/2},而该列的其他元素全为0.

    接下来针对矩阵A_{1}的第2列a_{2}^{(1)},令p=m-1和

    x=[a_{22},a_{32},.. .,a_{m2}]^{T}

    即可求出m-1维向量w_{m-1},此时,取u_{2}=\begin{bmatrix} 0\\ w_{m-1} \end{bmatrix},可得:

    H_{2}=I-u_{2}u_{2}^{T}\rightarrow A_{2}=H_{2}A_{1}=H_{2}H_{1}A=[a_{1}^{(1)},a_{2}^{(2)},.. .,a_{n}^{(2)}]

    矩阵A_{2}的第一列与A_{1}的第一列相同,而第二列a_{1}^{(1)}的第一个元素等于a_{12}^{(1)},第二个元素等于[|a_{22}^{(1)}|^{2}+|a_{32}^{(1)}|^{2}+.. .+|a_{m2}^{(1)}|^{2}]^{1/2},而该列的其他元素全为0,接下来以此类推。

    假设矩阵A经过k-1次Householder 变换后,变为A^{(k-1)},即:

    A^{(k-1)}=H_{k-1}A^{(k-2)}=H_{k-1}.. .H_{1}A\\=\left [ a_{1}^{(k-1)},a_{2}^{(k-1)}.. .,a_{n}^{(k-1)} \right ],k=2,3,.. .

    前k-1列有以下变换结果:

    a_{j}^{(k-1)}=[a_{1j}^{(k-1)}.. .,a_{jj}^{(k-1)},0,.. .,0]^{T},j=1,2,.. .,k-1

    经过n次Householder 变换后,即可实现QR分解。

    例:已知线性方程组

    x_{1}+2x_{2}=5

    2x_{1}+3x_{2}=-2

    6x_{1}+7x_{2}=1

    则可得:

    A=\begin{bmatrix} 1 &2 &5 \\ 2 &3 &8 \\ 6& 7 & 1 \end{bmatrix}

    对第一列可得u_{1}=[1.075,0.290,0.871]^{T},H_{1}=I-u_{1}u_{1}^{T}得:

    H_{1}A=\begin{bmatrix} -6.415 &-7.826 &-23.008 \\ 0 & 0.592& 0.875\\ 0 &0.808 & 1.438 \end{bmatrix}

    针对上述矩阵第二列,可得u_{1}=[0,1.161,-0.809]^{T}H_{2}=I-u_{2}u_{2}^{T}后,即得QR分解得:

    H_{2}H_{1}A=\begin{bmatrix} -6.415 &-7.826 &-23.008 \\ 0 & -1.105& -1.851\\ 0 &0 &-0.160 \end{bmatrix}

  • 相关阅读:
    废品回收小程序:高效便捷回收,推动市场发展
    python个人博客毕业设计开题报告
    内存取证系列4
    双指针法 | 算法题整理
    【JavaSE】继承和多态
    扩散模型的极简介绍
    众佰诚:抖音网店挣钱吗
    数据库——SQL语句与数据库设计
    朋友圈那位隐藏大佬的单片机学习心得
    WordPress网站,只需一行JS代码,实现一键复制
  • 原文地址:https://blog.csdn.net/weixin_46007132/article/details/126292141