矩阵分解-QR分解

QR分解为矩阵分解的一种,在解决矩阵特征值计算和最小二乘问题中有很大的作用。

QR分解定理: 任意的一个满秩实(复)矩阵A,都可唯一的分解为\(A=QR\),其中\(Q\)为正交矩阵,\(R\)为正对角元的上三角矩阵

这里介绍一下基于HouseHolder变换的QR分解方法

1. HouseHolder变换介绍

HouseHolder变换可用于QR分解中,又称为反射变换或者为镜像变换,有明确的几何意义。
\(R^3\)实数三维空间中,给定一个向量\(\alpha\), 向量\(\beta\)\(\alpha\)关于以\(\omega\)为法向量的平面\(\pi\)的反射变换所得。
有如下公式
\[\omega=\frac{\alpha-\beta}{|\alpha-\beta|}\in R^3\]
\[H(\omega)=I-2\omega\omega^T\]
则有 \(H(\omega)\alpha=\beta\)
即:该变换将向量\(\alpha\)变成了以\(\omega\)为法向量的平面\(\pi\)的对称向量\(\beta\)

\(H\)矩阵有如下性质

  • Hermite矩阵:\(H^T=H\)
  • 酉矩阵:\(H^T*H=I\)\(H=(H^T)^{-1}\)
  • 对合矩阵:\(H*H=I\)
  • 自逆矩阵:\(H=H^{-1}\)
  • \(diag(I,H)\)也是HouseHolder矩阵
  • \(det(H)=-1\)

证明:略 **^_^**

推论:

  • 对于任意的在复数空间的向量 \(x\in C^n\),存在HouseHolder矩阵\(H\),使得\(Hx=ae_1\),其中\(|a|=\left\|x\right\|_2\),\(ax^Te\)为实数。
  • 对于任意的在实数空间的向量 \(x\in R^n\),存在HouseHolder矩阵\(H(\omega)=I-2uu^T,(u\in R^n,u^Tu=1)\),使得\(Hx=ae_1\),其中\(|a|=\left\|x\right\|_2\)

因此表明,HouseHolder变换可以将任意的向量\(x\in R^n\)转换为与基向量\(e\)平行的共线向量

2. 利用HouseHolder变换的QR分解

此处介绍基于HouseHolder变换将矩阵进行QR分解,即\(A=QR\)

第1步

设有按列分块的矩阵\(A=(\alpha_1, \alpha_2...\alpha_n)\)

\(\omega_1=\frac{\alpha_1-a_1*e_1}{||\alpha_1-a_1*e_1||_2},a_1=||\alpha_1||_2\)

\(H_1=I-2*\omega_1*\omega_1^T\)

得到
\[H_1A=(H_1\alpha_1,H_1\alpha_2,...,H_1\alpha_n) =\left\{\begin{matrix} a_1 & * & \cdots & * \\ 0 & \\ \vdots & &B_1 \\ 0\end{matrix}\right\}\]

第2步

从第一部得到矩阵\(B_1=(\beta_2,\beta_2,\cdots,\beta_n)\in R^{n-1}\)


\(\omega_2=\frac{\beta_2-b_2*e_1}{||\beta_2-b_2*e_1||_2},b_1=||\beta_2||_2\)

\({H_2}^,=I-2*\omega_2*\omega_2^T,H_2=\left\{\begin{matrix} 1 & 0^T \\ 0 & {H_2}^, \end{matrix} \right\}\)

得到
\[H_2(H_1*A) = \left\{\begin{matrix} a_1 & * & * & \cdots * \\ 0 & a_2 & * & \cdots * \\ 0 & 0 & &\\ \vdots & \vdots & C_2 \\ 0 & 0 \end{matrix} \right\}, C_2\in R^{n-2}\]

依次类推,进行第n步时,得到第n-1\(H_{n-1}\)阵,使得
\[H_{n-1} \cdots H_2H_1*A = \left\{\begin{matrix} a_1 & * & * & \cdots & * \\ 0 & a_2 & * & \cdots & * \\ 0 & 0 & a_3 & \cdots & *\\ \vdots & \vdots & &\ddots \\ 0 & 0 & 0 & \cdots &a_n \end{matrix} \right\}=R\]

其中 \(H_{n-1} \cdots H_2H_1*A=H\)也为HouseHolder矩阵,也为自逆矩阵 \(H=H^{-1}\)
\[H_{n-1} \cdots H_2H_1*A=R\]
\[ \Rightarrow (H_{n-1} \cdots H_2*H_1)^{-1}*H_{n-1} \cdots H_2H_1*A=(H_{n-1} \cdots H_2*H_1)^{-1}*R\]
\[ \Rightarrow A=H_1^{-1} \cdots H_{n-1}^{-1}*R\]
\[ \Rightarrow A=H_1\cdots H_{n-1}*R\]

得到 \(A=QR\),其中\(Q\)为正交矩阵,\(R\)为上三角矩阵
\[ \begin{cases} Q = H_1\cdots H_{n-1}\\ R = Q^{-1}A=QA \end{cases} \]

猜你喜欢

转载自www.cnblogs.com/langzou/p/12202884.html