矩阵分析与应用(16)

学习来源:《矩阵分析与应用》张贤达 清华大学出版社

QR 分解及其应用

1. Householder QR 分解

        Householder 变换可以实现任意 m\times n 矩阵 A 的 QR 分解,原理是通过 Householder 变换可以使向量除第一个元素外,其它元素都变成 0 。

        Householder 变换:欲使一个 p 维向量 x=[x_1,x_2,\cdots ,x_p]^T 的第 1 个元素后面的所有元素为 0 ,则 p 维的 Householder 向量应取

\omega =\frac{x-\beta e_1}{\left \| x-\beta e_1 \right \|_2}                                                                                         (1)

其中,

\beta =\left \| x \right \|_2                                                                                                 (2)

        假设 m\times n 矩阵 A 的列分块形式为

A_{m\times n}=[a_1,a_2,\cdots ,a_n]

首先令 x=a_1=[a_{11},a_{21},\cdots ,a_{m1}]^T ,并取 p=m ,按照式(1)和式(2)可以计算得到 u_1=\omega_m 。此时,

H_1=I-2u_1u_1^T\quad \rightarrow \quad A_1=H_1A=[a_1^{(1)},a_2^{(1)},\cdots ,a_n^{(1)}]

变换后矩阵 A_1 的第 1 列 a_1^{(1)} 的第一个元素为 (a_{11}^2+a_{21}^2+\cdots +a_{m1}^2)^\frac{1}{2} ,而该列的其它元素全为 0 。

        然后对矩阵 A_1 的第 2 列 a_2^{(1)} ,令 p=m-1 和 x=[a_{22}^{(1)},a_{32}^{(1)},\cdots ,a_{m2}^{(1)}]^T 再次按照式(1)和式(2)求得 (m-1) 维向量 \omega_{m-1} 。此时,取 u_2=\begin{bmatrix} 0\\ \omega_{m-1} \end{bmatrix} 得到

H_2=I-2u_2u_2^T\quad \rightarrow \quad A_2=H_2A_1=H_2H_1A=[a_1^{(1)},a_2^{(2)},\cdots ,a_n^{(2)}]

变换后矩阵 A_2 的第 1 列与 A_1 的第 1 列相同,而第 2 列 a_2^{(2)} 的第一个元素为 a_{12}^{(1)} ,第二个元素为 \begin{bmatrix} \left | a_{22}^{(1)} \right |^2+\left | a_{32}^{(1)} \right |^2+\cdots +\left | a_{m2}^{(1)} \right |^2 \end{bmatrix}^\frac{1}{2} ,该列的其它元素全为 0 。

        以此类推,经过 n 次 Householder 变换后,得到

A_n=H_nA_{n-1}=H_nH_{n-1}A_{n-2}=\cdots =H_nH_{n-1}\cdots H_2H_1A

变换形式得到

A=(H_nH_{n-1}\cdots H_2H_1)^{-1}A_n

其中, A_n 为上三角矩阵。令 Q=(H_nH_{n-1}\cdots H_2H_1)^{-1} ,又 H 为 Householder 变换,即有性质 H^2=I\quad \rightarrow \quad H=H^{-1} ,所以 Q=H_1H_2\cdots H_n ;令 R=A_n , 即实现了矩阵 A 的 QR 分解。

2. 例

利用 householder 变换求矩阵  A=\begin{bmatrix} 0 &3 &1 \\ 0& 4& -2\\ 2& 1 &1 \end{bmatrix}  的 QR 分解。

        因为 a_1=[0,0,2]^T ,记 \beta_1=\left \| a_1 \right \|_2=2 ,令

\omega_1=\frac{a_1-\beta_1e_1}{\left \| a_1-\beta_1e_1 \right \|_2}=[-\frac{1}{\sqrt{2}},0,\frac{1}{\sqrt{2}}]^T

H_1=I-2\omega_1\omega_1^T=\begin{bmatrix} 0 &0 &1 \\ 0& 1 & 0\\ 1& 0& 0 \end{bmatrix}

所以

A_1=H_1A=\begin{bmatrix} 2 &1 &2 \\ 0& 4& -2\\ 0 &3 & 1 \end{bmatrix}

        记 a_2=[4,3]^T ,则 \beta_2=\left \| a_2 \right \|_2=5 ,令

\omega_2=\frac{a_2-\beta_2e_2}{\left \| a_2-\beta_2e_2 \right \|}_2=[-\frac{1}{\sqrt{10}},\frac{3}{\sqrt{10}}]^T

\bar{H_2}=I-2\omega_2\omega_2^T=\frac{1}{5}\begin{bmatrix} 4 &3 \\ 3& -4 \end{bmatrix}  

H_2=\begin{bmatrix} 1 &0 \\ 0&\bar{H_2} \end{bmatrix}=\begin{bmatrix} 1 &0 &0 \\ 0 &4 &3 \\ 0 & 3 & -4 \end{bmatrix}

所以

A_2=H_2H_1A=\begin{bmatrix} 2 &1 &2 \\ 0& 5 & -1\\ 0&0 &-2 \end{bmatrix}

取 Q=H_1H_2 ,\quad R=A_2 ,则 A=QR 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值