ギブンス回転

提供: miniwiki
移動先:案内検索

ギブンス回転(ギブンスかいてん、: Givens rotation)あるいはギブンス変換とは、行列

[math]G(i, k, \theta) = \begin{bmatrix} 1 & \cdots & 0 & \cdots & 0 & \cdots & 0 \\ \vdots & \ddots & \vdots & & \vdots & & \vdots \\ 0 & \cdots & \cos \theta & \cdots & \sin \theta & \cdots & 0 \\ \vdots & & \vdots & \ddots & \vdots & & \vdots \\ 0 & \cdots & -\sin \theta & \cdots & \cos \theta & \cdots & 0 \\ \vdots & & \vdots & & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & \cdots & 0 & \cdots & 1 \end{bmatrix}[/math]

による線型変換である。ここで、sinθは、ik 列、ki 列、cosθは、ii 列、kk 列に出現する。行列 G(i, k, θ) は行列式が 1 の直交行列であり、(i, k) 平面での回転を表す。ギブンス回転の名はアメリカの数学者ウォレス・ギヴンスに由来する。

定義をより厳密に書けば、

[math]G(i, k, \theta)_{j, \ell} = \begin{cases} \cos\theta & \mbox{ if } j = i, \ell = i \mbox{ or } j = k, \ell = k, \\ \sin\theta & \mbox{ if } j = i, \ell = k, \\ -\sin\theta & \mbox{ if } j = k, \ell = i, \\ 1 & \mbox{ if } j = \ell, \\ 0 & \mbox{ otherwise.} \end{cases}[/math]

である。

[math]G(i, k, \theta)^Tx[/math] は、ベクトル x を (i, k) 平面で θラジアン反時計回りに回転したベクトルである。

線型代数におけるギブンス回転の主な使用法は、相似変換により行列に0の要素を増やすことである。この効果はたとえば行列のQR分解の計算に採用される。ハウスホルダー変換に対する利点は容易に並列化できることと、多くの疎行列に対して演算回数が少なくてすむということである。