为什么Householder变换不能选择为单位矩阵?

计算科学 户主 线性代数
2021-11-27 19:16:45

对于 Householder 变换,我们知道 ,其中当它作用于任何向量x时,Hxx关于span(u)^T是对称的但我读过一本专着“Stewart. Matrix Algorithm I: Basic Decomposition, 1998, SIAM”。在第 257 页上是这样写的:H=IuuTu2=2xHxxspan(u)T

结合这两个观察结果,我们得到算法 1.1——一个生成 Householder 变换的程序。请注意,当时,任何都可以。在这种情况下,程序 housegen 返回,其中是单位矩阵的第一列。此选择不会使成为身份,但其元素的身份更改为(事实上​​,很容易看出 Householder 变换永远不可能是单位矩阵,因为它将变换为。)x=0uu=2e1e1H(1,1)1uu

我的问题是我不明白为什么 Householder 矩阵不能是单位矩阵。因为当时,意味着我们不需要做任何变换,即我们可以取单位矩阵。但是作者说我们不能采用单位矩阵。我哪里误会了?非常感谢。x=0H=I

2个回答

简短的回答:

当他说当时,任何都会做,他的意思是任何满足的 u 。否则,它不会是 Householder 反射器。x=0uuu2=2

中“引入”零的转换,但是您还没有证明该转换是 Householder 反射器(剧透:它不是;))。x

根据定义,Householder 变换是关于平面或超平面的反射。该平面由其单位法线向量u 描述,然后变换为 H = I - 2uu'。如果 u 是单位向量,则 2uu' 不能为零,因此 H 不能是单位矩阵。

您可以找到大量非 Householder 变换 H,对于某些参数,它们给出的结果与某些 Householder 变换相同。H = I for x = 0 就是一个这样的例子。然而 f(x) = x 与 f(x) = x² 不同,即使 f(0) = 0 对它们都成立。