Householder relections

来源:互联网 发布:preview.exe软件下载 编辑:程序博客网 时间:2024/05/17 22:53


豪斯霍尔德变换Householder transformation)又称初等反射Elementary reflection),最初由A.C Aitken在1932年提出[1]Alston Scott Householder在1958年指出了这一变换在数值线性代数上的意义[2]。这一变换将一个向量变换为由一个超平面反射的镜像,是一种线性变换。其变换矩阵被称作豪斯霍尔德矩阵,在一般内积空间中的类比被称作豪斯霍尔德算子。超平面的法向量被称作豪斯霍尔德向量。



定义

豪斯霍尔德变换示意图:向量x在豪斯霍尔德向量v的超平面\mathbf{v}^{\perp}上的镜像是HxH是豪斯霍尔德矩阵。

如果 v 给出为单位向量而I 是单位矩阵,则描述上述线性变换的是豪斯霍尔德矩阵v^* 表示向量v 的共轭转置)

H = I - 2 vv^*.\,

性质

豪斯霍尔德矩阵有如下性质:

  • 它是对称矩阵:H = H^*\,
  • 它是正交矩阵:H^{-1}=H^*\,
  • 因此也是对合的:H^2=I\, .

进一步的,H 实际上按上面描述的那样反射了点X (用它的位置向量x 来识别),因为

Hx = x-2vv^*x = x - 2\langle v,x\rangle v,

这里的 \langle, \rangle 表示点积。注意\langle v, x\rangle 等于从X 到超平面的距离。

应用

豪斯霍尔德变换可以将向量的某些元素置零,同时保持该向量的范数不变。例如,将非零列向量\mathbf{x}=[x_1,\ldots,x_n ]^T变换为单位基向量\mathbf{e}=[1,0,\ldots,0]^T的豪斯霍尔德矩阵为

\mathbf{H} = \mathbf{I} - \frac{2}{\langle \mathbf{v},\mathbf{v} \rangle}\mathbf{vv}^H

其中豪斯霍尔德向量\mathbf{v}满足:

\mathbf{v} = \mathbf{x} + \rm{sgn}(x_1) \Vert x \Vert_2 \mathbf{e}_1 . \,

Dubrulle 在2000年给出了将豪斯霍尔德变换应用于生成一个一般的稀疏向量的一个数值稳定的算法[3]

对一个矩阵的各个列向量逐一进行相应的豪斯霍尔德变换,可以将这个矩阵变换为上海森伯格矩阵、上三角矩阵等形式[4]。后者就是QR分解的豪斯霍尔德算















参考链接:http://zh.wikipedia.org/wiki/%E8%B1%AA%E6%96%AF%E9%9C%8D%E5%B0%94%E5%BE%B7%E5%8F%98%E6%8D%A2

http://class.htu.cn/nla/chat3/sect3_2.htm