GSL線形代数ルーチン読解: ハウスホルダー変換(1) | ぽんのブログ

ぽんのブログ

自分用の備忘録ブログです。書いてある内容、とくにソースは、後で自分で要点が分かるよう、かなり簡略化してます(というか、いい加減)。あまり信用しないように(汗

ハウスホルダー (Householder) 変換とは、長さ(ノルム)の等しい二つのベクトル xy について
y にこの変換を施すと x に、x に施すと y になるような直交変換のひとつです。

ここで、ベクトル xy を共に長さの等しい列ベクトル



とします。
で、ハウスホルダー変換は、具体的には以下の直交行列で表されます。

式(1)


ここで E はn次の単位行列、右辺第二項の分子の部分は、列ベクトルとその転置の積なので



という対称な行列になります。
これは、右から列ベクトルを掛ければ という長さの列ベクトルを返す(左から行ベクトルを掛ければ行ベクトルを返す)演算子みたいなものだと考えればいいのでしょうか?

上の行列 Hx を変換してみると

式(2)


ここで



 xy は長さが同じなので

 

が成り立ち、従って上の式は



ここで x^t (x - y) はベクトル x と (x - y) の内積なので、当然 (x - y)^t x と同じ値になるので

式(3)


これを式(2)に代入すれば




が成り立ち、確かに H により xy に写される事が分かります( yx も同様)。

ここで式(3)ですが、2次元(萌え)の場合でこの式の意味を考えてみます。

Householder変換1

この図で見ると、ベクトル (x - y) の長さは、 (x - y) と x の成す角を α として


式(4)



となる事が分かります。式(3)は単にこの事を言っているにすぎません。
実際、| x | cos α は、 (x - y) 方向の単位ベクトルを v として



となり、式(4)から式(3)が導かれる事が分かります。

以上から、ベクトル x - y



となるので

式(5)


が導かれます。
長さの等しい(ついでに、向きの異なる)2つのベクトルがあれば、それらの終点を結んで出来る三角形は上の図のような2等辺三角形になり、xy は2等辺三角形の頂点から底辺へ下ろした垂線(上の図の赤線)に対し鏡映(像?)の関係になります。そのため式(3)が成り立ち、且つ式(1)で xyyx と写される訳です。

この xyyx の変換自体を表す行列は、式(5)の右辺を x でくくった式(1)になります。
x に式(1)の行列 H を作用させれば y に写されますし、 x 以外の任意のベクトルを作用させれば xy と同じ規則で、つまり xy で決まる赤線に対し鏡映の位置にあるベクトルへと写されます。

Householder変換2


ここまでは2次元で話を進めてきましたが、3次元やそれ以上でも、2次元の場合の垂線(赤線)に当たる物ν を法線に持つ超平面) に対する鏡映に写されるため、Householder変換を 鏡映変換 とも呼ぶようです。

ここらへんの話は、有名有用な 物理のカギのしっぽ様 とか 数理ファイナンス様 などを参照されればもっと良く分かると思います(まるなげ)。

図はしっぽっぽ様とほとんど同じだし(汗