기븐스 회전

기븐스 회전(Givens rotation)은 G ( i , j , \theta ) \cdot x는 \theta 라디안의 ( i , j ) 평면에서 벡터 x 의 반 시계 방향 회전을 나타내므로 기븐스 회전이라 명명된다.

수치 해석및선형 대수학에서 기븐스 회전의 주요 용도는 벡터 또는 행렬에 0을 도입하는 것이다. 이 효과는 예를 들어 행렬의 QR 분해를 계산하는 데 사용될 수 있다. 하우스홀더 변환에 비해 장점은 쉽게 병렬처리할 수 있다는 것이다. 또는 비교적 매우 적은 수의 행렬 연산으로 작동된다는 점이다.
## 성질
:
\begin{pmatrix}
c & s  \\
-s & c  \\
\end{pmatrix}^{T}
\begin{pmatrix}
a & b  \\
\end{pmatrix}
=
\begin{pmatrix}
r & 0  \\
\end{pmatrix}

:r= {\sqrt{a^2+b^2}},
:c = } \;\;,\;\;  s= }

## 3차원의 기븐스 회전
기븐스 회전(Givens rotation)은 상삼각행렬을 위한 특정한 위치의 값을 0으로하는 행렬을 유도할 수 있다.
:
R_X(\theta) =
\begin{bmatrix}
1 & 0 & 0 \\
0 & \cos \theta & -\sin \theta \\
0 & \sin \theta & \cos \theta
\end{bmatrix}


:
R_Y(\theta) =
\begin{bmatrix}
\cos \theta & 0 & \sin \theta \\
0 & 1 & 0  \\
-\sin \theta & 0 & \cos \theta
\end{bmatrix}
\to
\begin{align} \\
R_Y(\theta) =
\begin{bmatrix}
\cos \theta & 0 & -\sin \theta \\
0 & 1 & 0  \\
\sin \theta & 0 & \cos \theta
\end{bmatrix}
\end{align}


:\begin{align} \\
R_Z(\theta) =
\begin{bmatrix}
\cos \theta & -\sin \theta & 0 \\
\sin \theta & \cos \theta & 0 \\
0 & 0 & 1
\end{bmatrix}
\end{align}

## 예
: A_1 =
       \begin{bmatrix}   6    &    5    &    0   \\
                         5    &    1    &    4     \\
                         0    &    4    &    3     \\
       \end{bmatrix}

기븐스 회전의 두번 반복 (여기서는 3행3열의 성분이 이미 0이다)을 수행하여 QR 분해를 계산하기위한 상삼각행렬을 산출한다.

필요한 행렬을 만들기 위해서는 성분(2, 1)과 (3, 2)를 제로화해야한다. 먼저 성분(2, 1)를 0으로 선택하여,

회전 행렬을 적용하면,
:G_{1} =
       \begin{bmatrix}   c    &    -s    &    0   \\
                         s   &    c    &    0     \\
                         0    &    0    &    1     \\
       \end{bmatrix}

:
\begin{align}
G_1 A_1 &{}= A_2 \\
&{} = \begin{bmatrix}   c    &    -s    &    0   \\
                         s   &    c    &    0     \\
                         0    &    0    &    1     \\
       \end{bmatrix}
       \begin{bmatrix}   6    &    5    &    0   \\
                         5    &    1    &    4     \\
                         0    &    4    &    3     \\
       \end{bmatrix}
\end{align}


: r = \sqrt{6^2 + 5^2} \approx 7.8102 
: c = 6 / r \approx 0.7682 
: s= -5 / r \approx -0.6402

:A_2 \approx \begin{bmatrix}   7.8102    &     4.4813    &    2.5607   \\
                                 0    &    -2.4327    &    3.0729   \\
                                 0    &          4    &         3   \\
       \end{bmatrix}

이제 프로세스를 끝내기 위해 (3, 2)성분을 제로로 만든다. 이전과 같은 아이디어를 사용하여 회전 행렬을 적용한다.
:G_{2} =
       \begin{bmatrix}   1    &    0    &    0   \\
                         0   &    c    &    -s     \\
                         0    &    s   &    c     \\
       \end{bmatrix}

:
\begin{align}
G_2 A_2 &{}= A_3 \\
&{}\approx \begin{bmatrix}   1    &    0    &    0   \\
                         0   &    c    &    -s     \\
                         0    &    s   &    c     \\
       \end{bmatrix}
       \begin{bmatrix}   7.8102    &    4.4813    &    2.5607   \\
                         0   &    -2.4327    &    3.0729     \\
                         0    &    4    &    3     \\
       \end{bmatrix}
\end{align}


: r \approx \sqrt{(-2.4327)^2 + 4^2} \approx 4.6817 
: c\approx -2.4327 / r \approx -0.5196 
: s \approx -4 / r \approx -0.8544

:A_3 \approx
       \begin{bmatrix}   7.8102    &    4.4813    &    2.5607   \\
                         0   &    4.6817    &    0.9664     \\
                         0    &    0    &    -4.1843     \\
       \end{bmatrix}  = R

이 새로운 행렬 A_3 은 QR 분해을 수행하는데 필요한 상삼각행렬 R이다.

:Q는 이제 다음과 같은 방식으로 회전 행렬의 전치를 사용하여 형성된다.
:Q = G_{1}^T\, G_{2}^T


:Q \approx
       \begin{bmatrix}   0.7682    &   0.3327    &    0.5470   \\
                         0.6402   &     -0.3992    &    -0.6564     \\
                         0    &    0.8544    &     -0.5196     \\
       \end{bmatrix}

:QR = A

## 같이 보기
* QR 분해

## 참고 자료
* 플래닛매스(http://planetmath.org/givensrotation)

분류:행렬
분류:수치선형대수학
분류:3차원 회전