本文的閱讀等級:中級
在幾何向量空間 ,鏡射 (reflection) 超平面 (hyperplane) 由單位法向量
決定 (超平面是維數等於
的子空間)。對於任一點 (或向量)
,從空間幾何可推論點
的鏡射為
,其中
是點
在法向量
的投影量 (見下圖)。將純量
和向量
交換位置,並移除括弧,鏡射點可表示為
。
單位法向量 所定義的超平面的鏡射變換矩陣稱為 Householder 矩陣,如下:
,
其中 。(對於
的一般子空間的鏡射矩陣請見“旋轉與鏡射”。)
鏡射變換也可以用正交投影推導出來。先求出給定向量 至法向量
的正交投影
,其中
是正交投影矩陣 (見“正交投影──威力強大的線代工具”),如下:
。
因為鏡射超平面是法向量的正交補餘 (orthogonal complement), 至鏡射面的正交投影即為
,所以
的鏡射點是
。
Householder 矩陣 具有以下性質:
是對稱矩陣也是正交矩陣。直接計算並利用
可證明:
。
因此 ,故
,
稱為對合 (involutory) 矩陣。一函數
若同時為其反函數,也就是說,對於任意
,
,
稱為對合函數。

Alston Scott Householder (1904-1993) From http://apprendre-math.info/history/photos/Householder_2.jpeg
利用 Householder 矩陣的幾何意涵很容易可以求得其特徵值。首先考慮向量 的鏡射:
,
故知 有一特徵向量
對應特徵值
。因為鏡射超平面的維數等於
,令此平面上的任意
個線性獨立向量為
,
,它們必定滿足
,即得
。
這說明了 有
個重複特徵值
,故
,
是可逆矩陣。
Householder 矩陣的潛藏功能在於一旦選擇了適當的超平面法向量 ,鏡射向量
將指向標準基底向量
,也就是說,除了第一個元外,
的每個元皆為
。詳細的算法見註解[1],下面給出一個簡約版本。令
。設
,
則鏡射向量為
。
利用 ,可推得
。所以,
。
到目前為止,讀者或許還看不出來這其實是 Householder 矩陣最具實用價值的性質。
Householder 變換在數值線性代數有兩個主要應用:執行 QR 分解與計算特徵值的 QR 迭代法的第一個步驟。詳細的過程將另文說明,在此我們先研究 Householder 變換的基本應用技巧:將對稱矩陣 予以三對角化 (tridiagonalization),目的是盡可能產生零元:
。
看下面的例子[2]:
。
我們的想法是對 執行相似變換
,變換矩陣
保有與
相同的特徵值。同時限制
是正交矩陣,這麼做的好處是逆矩陣可以立刻求得
,而且
的一些重要性質也被保留下來,譬如,當
是對稱矩陣時,
也是對稱矩陣:
。
使用前述鏡射性質,我們設計下面的主對角分塊正交矩陣:
,
其中 是一
階 Householder 矩陣。考慮分塊矩陣乘法
,
其中 是
的第一行的後面三個元構成的向量,即
,
是
階分塊。我們的目標是使
平行於
,故設
,
。將
代入前述公式算出
,再代入 Householder 矩陣公式可得
。
因為 ,直接計算可知
,
也是對合矩陣,並得到
。
重複上述步驟,但僅考慮 的右下
分塊,
是
矩陣,
則為
。
再計算
。
所以, 為一三對角矩陣,其中
是正交矩陣,因為
。
註解
[1] 設非零向量 ,將 Householder 矩陣改寫為
,
使之符合實際應用場合。考慮 ,且
。令
且
。因此,
,並有
,
。
所以,
令上面兩式相減可得 。使用相同方法,亦可推得
。兩個 Householder 矩陣的差異在於目標向量的方向相反。
給定非零向量 ,我們希望找出
使得
與標準單位向量
平行。定義
若
,
若
。令
。沿用前述記號,
且
。當
,
。為了讓數值計算較為穩定,我們挑選向量長度大者,故設
。因此,
。
[2] 引用來源 Richard L. Burden and J. Douglas Faires, Numerical Analysis, 9th edition, 2010.
hello. I think the reflection vector, where you wrote as V=(x+sigma e1)/||x+ sigma e1||, it should be (x- sigma e1)/||x-sigma e1||?
because V should be perpendicular to the half angle line of x and sigma*e1, am I right?
Thank you.
The question you raised is quite interesting. Technically, both
and
will serve our purpose, i.e., to eleminate all the entries except the first entry of
. See the following article for details
https://ccjou.wordpress.com/2011/05/24/householder-%E8%AE%8A%E6%8F%9B%E6%96%BC-qr-%E5%88%86%E8%A7%A3%E7%9A%84%E6%87%89%E7%94%A8/
I will give a brief explanation here. Hope it can clear the doubt. Let
and
. If you choose
and normalize it, then
will reflect
and make it align with
. But, if you choose
, then
will reflect
and make it align with
! In other words,
simply reflects
to the opposite direction of
. It should be helpful if you draw a figure to see how the above reflections work.
准确地说,
前面使用加号还是减号,会决定
本身的正负性,即:
1. 若取
,则定义
2. 若取
,则定义
理由是在构造
的过程中,避免同符号的数相减引起有效位数损失,导致
不能定义或计算结果不精确。对于情形1,
的分母
,容易验证,
,同理可证情形2。
考虑:
,若定义
,则必须定义
,得到
,从而保证分母不为零。
最后需要注意的是,若
,可以取
为1或-1。
謝謝你的補充解說,非常的精確。我將它貼到上文的附註裡。
您好, 感谢您的文章,非常清楚!
能否请教一个问题: 为何在n维空间里取一个平面,则此平面是n-1维的?(直观上看确实如此,但是如何用数学语言叙述?)
谢谢!
確實我們無法想像
的情況,所以還是由
取得幾何解釋。在
中穿越原點的一直線
構成一子空間,
,與此直線垂直的所有向量構成一穿越原點的平面
。幾何學稱
指出
的法向量 (normal vector),線性代數語言則為
中任意向量正交於
上所有向量,我們稱
是
的正交補集 (orthogonal complement),記為
,則有
,因為
。接下來,將 3 換成
,將平面換成超平面即可。
正交補集的討論請參考
https://ccjou.wordpress.com/2011/05/19/%E6%AD%A3%E4%BA%A4%E8%A3%9C%E9%9B%86%E8%88%87%E6%8A%95%E5%BD%B1%E5%AE%9A%E7%90%86/
他所對應的對稱,那個超平面必定要通過原點?
如果是矩陣表達的反射,必定通過原點,但仿射變換則否。請查閱相關文章。
請問在三對角化的過程中,3階householder矩陣H1必須由A的第一行的後三元生成?
請問在三對角化的過程中,為什麼H1必須由A的第一行的後三元生成?
我在上文增添了推導細節,請查閱。
謝謝ccjou老師