ギブンス回転

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

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

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}

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

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

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}

である。

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

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