수치 선형 대수 에서 기븐스 회전 은 두 개의 좌표 축에 의해 확장된 평면에서 회전 하는 것이다.기븐스 회전은 1950년대 아르곤느 국립 연구소 에서 일하던 중 수치 분석가들에게 소개한 월리스 기븐스 의 이름을 따서 붙여졌다.
행렬 표현 기븐스 회전은 형태의 행렬 로 표현된다.
G ( i , j , θ ) = [ 1 ⋯ 0 ⋯ 0 ⋯ 0 ⋮ ⋱ ⋮ ⋮ ⋮ 0 ⋯ c ⋯ − s ⋯ 0 ⋮ ⋮ ⋱ ⋮ ⋮ 0 ⋯ s ⋯ c ⋯ 0 ⋮ ⋮ ⋮ ⋱ ⋮ 0 ⋯ 0 ⋯ 0 ⋯ 1 ] , {\displaystyle G(i,j,\theta)={\begin{bmatrix}1&, \cdots, 0&, \cdots &, 0&, \cdots &, 0\\\vdots &, \ddots &, \vdots &,&\vdots &,&\vdots \\0&, \cdots &, c&, \cdots &, -s&, \cdots &, 0\\\vdots &,&\vdots &, \ddots &, \vdots &,&\vdots \\0&, \cdots &, s&, \cdots &, c&, \cdots &0&.\\\vdots,&\vdots, 및 &, \vdots &, \ddots &, \vdots \\0&, \cdots &, 0&, \cdots &, 0&, \cdots &, 1\end{bmatrix}},}&. 여기서 c = cos θ 과 s = sin θ 은 교차점에 나타난다. ith와 j번째 행과 열. 즉, 고정 i > j 의 경우 기븐스 행렬의 0이 아닌 원소는 다음과 같이 주어진다.
g k k = 1 을 위해 k ≠ i , j g k k = c 을 위해 k = i , j g j i = − g i j = − s {\displaystyle{\clineed}g_{kk}&}=1\qquad{\neq i,\, j\g_{k}&}}=c\qquad{\c\c\qquad{}}}\c\c\c\i}=-g}s\{{j}}}}}}정렬했다. 제품 G (i , j , θ )x 는 θ 라디안의 (i , j ) 평면에서 벡터 x 의 반시계방향 회전을 나타내며, 따라서 Givens라는 이름이 회전한다.
수치 선형대수 에서 기븐스 회전의 주된 용도는 벡터나 행렬에 0을[clarification needed ] 도입하는 것이다.예를 들어, 이 효과는 매트릭스의 QR 분해 계산을 위해 사용될 수 있다. 주택소유자 전환 에 비해 한 가지 장점은 쉽게 병렬화할 수 있다는 것이고, 또 다른 장점은 매우 희박한 매트릭스의 경우 운용 카운트가 더 낮다는 것이다.
안정계산 Givens 회전 행렬인 G (i , j, θ ) 가 다른 행렬인 A 를 왼쪽 에서 G A 로 곱하면 A 의 i행 과 j행 만 영향을 받는다. 따라서 우리는 다음과 같은 시계 반대방향 문제에 대한 주의를 제한한다. a 와 b 를 주어 c = cos θ 과 s = sin θ 을 찾으면 다음과 같이 된다.
[ c − s s c ] [ a b ] = [ r 0 ] , {\displaystyle {\bmatrix}c&s\s&c\end{bmatrix}a\\b\end{bmatrix}={\matrix}r\0\end{bmatrix},} 여기서 r = 2 + b 2 {\ displaystyle r={\sqrt {a^{2}+b^{2 } }}}}} 은 벡터(a , b ){\displaystyle(a,b)}} 의 길이로서, explicit 의 명시적 계산은 거의 필요하거나 바람직하다고 할 수 없다.대신에 우리는 직접적 으로 c와 s 를 구한다. 분명한 해결책은
c ← a / r s ← − b / r . {\displaystyle {\regated}c&{}\좌측 화살표 a/r\\s&}\좌측 화살표 -b/r/r. \end{정렬}}} [1] 그러나 r 에 대한 계산은 오버플로우 또는 과소 흐름일 수 있다. 이 문제를 회피하는 대안적 공식(Golub & Van Lend 1996 , §5.1.8)은 많은 프로그래밍 언어에서 하이팟 함수로 구현된다.
다음의 포트란 코드는 실수에 대한 기븐스 회전의 미니멀리즘 구현이다. 입력 값 'a' 또는 'b'가 자주 0인 경우 코드 는 여기에 제시된 바와 같이 이러한 경우를 처리하도록 최적화될 수 있다.
서브루틴의 givens_message ( a , b , c , s , r ) 진짜 a , b , c , s , r 진짜 h , d 만일 ( b . 네 . 0.0 ) 그때 h = 하이픈을 치다 ( a , b ) d = 1.0 / h c = 복근 ( a ) * d s = 서명하다 ( d , a ) * b r = 서명하다 ( 1.0 , a ) * h 다른 c = 1.0 s = 0.0 r = a 의 경우에 끝나다. 돌아오다 종지부를 찍다 더욱이 에드워드 앤더슨이 라팩 을 개선하면서 발견한 바와 같이, 이전에 간과했던 수치적 고려는 연속성이다. 이를 달성하기 위해 우리 는 r이 긍정적일 것을 요구한다.[2] 다음 MATLAB /GNU 옥타브 코드는 알고리즘을 보여준다.
기능[c, s, r]한 경우-b== 0;c)sign(를),(c== 0), 요리=1.0,%과 달리 다른 언어 입력 0에 MatLab의 간판 기능 0을 반환하다. 끝의)0;r)abs(를);== 0elseif.c)0;s)sign(b)하며)abs(b), elseif abs(를)>abs(b).)b/a입니다;uxsign(를)*sqrt(1+tMake몸 상태를), 요리=1/너의)c*t;r)a*u, givens_rotation(a, b). 엘 se t = a / b ; u = 부호 ( b ) * sqrt ( 1 + t * t); s = 1 / u ; c = s * t ; r = b * u ; end end end IEEE 754 copysign(x,y)
기능, 안전하고 값싼 방법으로 의 표지를 모방할 수 있다. y
로 x
. 사용할 수 없는 경우, 복근 및 sgn 함수를 사용하는 x ⋅sgn(y )이 대안이 된다.
삼각화 다음과 같은 3×3 매트릭스가 주어진다.
A 1 = [ 6 5 0 5 1 4 0 4 3 ] , {\displaystyle A_{1}={\begin{bmatrix}6&5&0\\1&4\\0&4\\\end{bmatrix},} QR 분해 를 계산하기 위해 상위 삼각 행렬을 산출하기 위해 두 번의 Givens 회전 반복(여기서 사용되는 Givens 회전 알고리즘이 위와 약간 다르다는 점에 유의)을 수행한다.
원하는 행렬을 형성하기 위해서는 원소(2,1 )와 ( 3,2 ) 를 영점화해야 한다. 먼저 원소(2,1 )부터 0까지 선택한다. 회전 행렬 사용:
G 1 = [ c − s 0 s c 0 0 0 1 ] . {\displaystyle G_{1}={\begin{bmatrix}c&-s&0\\s&c&0\\0&1\\end{bmatrix}}. } 우리는 다음과 같은 매트릭스 곱셈을 가지고 있다.
G 1 A 1 = A 2 = [ c − s 0 s c 0 0 0 1 ] [ 6 5 0 5 1 4 0 4 3 ] , {\displaystyle {\reasoned} 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{aligned}}} 어디에
r = 6 2 + 5 2 ≈ 7.8102 c = 6 / r ≈ 0.7682 s = − 5 / r ≈ − 0.6402. {\displaystyle {\displaysty}r&}{}={\sqrt {6^{2}+5^{2} }}}\약 7.152\\c&{}=6/r\약 0.7682\\s&{}}=-5/r\약 -0.152. \end{정렬}}} c 와 s 에 대해 이러한 값을 연결하고 위의 매트릭스 곱셈을 수행하면 A2 :
A 2 ≈ [ 7.8102 4.4813 2.5607 0 − 2.4327 3.0729 0 4 3 ] {\displaystyle A_{2}\company {\begin{bmatrix}7.8102&4. 4813&2.1687\\0.4327&3.0729\\0&4&3\\end{bmatrix}}} 우리는 이제 그 과정을 끝내기 위해 원소(3,2 )를 0으로 만들기를 원한다. 이전과 동일한 아이디어를 사용하여 다음과 같은 순환 매트릭스를 제공한다.
G 2 = [ 1 0 0 0 c − s 0 s c ] {\displaystyle G_{2}={\begin{bmatrix}1&0&0\\0&c&s\\0&s\\end{bmatrix}}}} 우리는 다음과 같은 매트릭스 곱셈을 가지고 있다.
G 2 A 2 = A 3 ≈ [ 1 0 0 0 c − s 0 s c ] [ 7.8102 4.4813 2.5607 0 − 2.4327 3.0729 0 4 3 ] , {\displaystyle {\reasoned} G_{2}A_{2}&{}=A_{3}\\&}\{}\\\\\\\\\begin{bmatrix}1&0&0\\0&c&s\\\nd{bmatrix}{bmatrix}7.8102&4. 4813&2.1687\\0.4327&3.0729\\0&4&3\\end{bmatrix},\end{aigned}}}} 어디에
r ≈ ( − 2.4327 ) 2 + 4 2 ≈ 4.6817 c ≈ − 2.4327 / r ≈ − 0.5196 s ≈ − 4 / r ≈ − 0.8544. {\displaystyle {\displaysty}r>{}\closed {\sqrt {(-2.4327)^{2}+4^{2} }}}\약 4.6817\\c&{}\약 -2.4327/r\ 약 -0.5196\\s&{}\약 -4/r\ 약 -0.8544. \end{정렬}}} c 및 s 에 대해 이러한 값을 연결하고 곱셈을 수행하면 A 가3 된다.
A 3 ≈ [ 7.8102 4.4813 2.5607 0 4.6817 0.9664 0 0 − 4.1843 ] . {\displaystyle A_{3}\company {\begin{bmatrix}7.8102&4. 4813&2.1847\\0&4.6817&0.9664\\0&0.1843\\end{bmatrix}. } 이 새로운 매트릭스 A 는3 QR 분해 의 반복을 수행하는 데 필요한 상위 삼각 매트릭스다. Q 는 이제 다음과 같은 방식으로 회전 행렬의 전치물을 사용하여 형성된다.
Q = G 1 T G 2 T . {\displaystyle Q=G_{1}^{T}\,G_{2}^{T}. } 이 행렬 곱셈을 수행하면 다음과 같은 결과가 나온다.
Q ≈ [ 0.7682 0.3327 0.5470 0.6402 − 0.3992 − 0.6564 0 0.8544 − 0.5196 ] . {\displaystyle Q\ 약 {\begin{bmatrix}0.7682&0.3327&0.5470\\0. 6402&-0.3992&-0.6564\\0&0.8544&-0.5196\\\end{bmatrix}. } 이로써 기븐스 로테이션의 두 번 반복이 완료되고 QR 분해 계산이 이제 이루어질 수 있다.
클리포드 알헤브라의 기븐스 회전 클리포드 알헤브라와 기하학적 대수 회전과 같은 어린이 구조는 이벡터 로 표현된다.기븐 회전은 기본 벡터의 외부 제품으로 표현된다. 기본 벡터 e i , e j {\ displaystyle \mathbf {e} _{i},\mathbf {e} _{j}}) 의 모든 쌍을 지정할 때 Givens 회전 바이버들은 다음과 같다.
B i j = e i ∧ e j . {\displaystyle B_{ij}=\mathbf {e} _{i}\wedge \mathbf {e} _{j}. } 어떤 벡터에서도 그들의 행동은 다음과 같이 기록된다.
v = e − ( θ / 2 ) ( e i ∧ e j ) u e ( θ / 2 ) ( e i ∧ e j ) , {\displaystyle v=e^{-(\theta /2)(\mathbf {e} _{i}\mathbf {e}_{j}ue^{(\theta /2)(\mathbf {e} _{i}\mathbf {e}, _{j}}}}}}}}}}}}}}}}}} 어디에
e ( θ / 2 ) ( e i ∧ e j ) = cas ( θ / 2 ) + 죄를 짓다 ( θ / 2 ) e i ∧ e j . {\displaystyle e^{(\theta /2)(\mathbf {e} _{i}\mathbf {e}_{j}=\cos(\theta /2)+\sin(\theta /2)\mathbf {e} _{i}\mathbf {e}_{j}. }
치수 3 차원 3에는 세 가지 기븐 회전수가 있다.
R X ( θ ) = [ 1 0 0 0 cas θ − 죄를 짓다 θ 0 죄를 짓다 θ cas θ ] . {\displaystyle R_{X}(\theta )={\begin{bmatrix}1&0&0\\\0&\\coses \theta \\0&\sin \theta \end{bmatrix}. } R Y ( θ ) = [ cas θ 0 − 죄를 짓다 θ 0 1 0 죄를 짓다 θ 0 cas θ ] 디스플레이 스타일 {\displaystyle}\\ R_{{Y}(\theta )={\begin{bmatrix}\cos \theta &0&-\sin \theta \\0&1&0\\\cos \theta \end{bmatrix}\ended}}}}}}} [주 1] R Z ( θ ) = [ cas θ − 죄를 짓다 θ 0 죄를 짓다 θ cas θ 0 0 0 1 ] 디스플레이 스타일 {\displaystyle}\\ R_{Z}(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta &0\\\\sin \cos \theta &0\\0&0&1\end{bmatrix}\ended}}}}}}}} 그것들이 내형성 이라는 것을 고려할 때, 그들 은 g ∘ f ∘ f ∘ g 를 염두에 두고, 원하는 만큼 서로 구성될 수 있다.
이 세 가지 기븐 회전은 데이븐포트의 체인 회전 정리 에 따라 어떤 회전 행렬도 생성할 수 있다.이는 공간의 표준 기준 을 공간의 다른 프레임으로 변환 할 수 있다는 것을 의미한다.[clarification needed ]
회전이 올바른 순서로 수행될 때, 최종 프레임의 회전각 값은 해당 규약에서 최종 프레임의 오일러 각도 와 동일하다. 예를 들어 연산자 R = R Y ( ( 3 ) . R X ( θ 2 ) . R Z ( ( 1 ) {\displaystyle R=R_{Y}(\theta _{3}). R_{X}(\theta _{2}). R_{Z}(\theta _{1})} transforms the basis of the space into a frame with angles roll, pitch and yaw Y P R = ( θ 3 , θ 2 , θ 1 ) {\displaystyle YPR=(\theta _{3},\theta _{2},\theta _{1})} in the Tait–Bryan convention z -x -y (convention in which the line of nodes is perpendicular to z and Y axes, also named Y -X′ -Z″ ).
같은 이유로, 3D의 회전 행렬 은 이들 회전 연산자 중 3명의 제품에서 분해될 수 있다.
두 기븐스 회전 g ∘ f 의 구성의 의미는 벡터를 f 로 먼저 변환한 다음 g로 변환하는 연산자로, 공간의 한 축에 대한 f 와 g 회전이다. 이는 오일러 각도에 대한 외측 회전 등가치 와 유사하다.
합성 회전표 다음 표에는 활성 회전 (기본 축에 대한 회전 구성)의 외측 구성과 각도의 양수 기호에 대한 오른손 법칙을 사용한 서로 다른 오일러 각도 규약에 상당하는 3개의 기븐 회전수가 표시된다.
표기법은 c 가1 cos θ 1 , s 는2 sin θ 2 ) 을 의미하는 방식으로 단순화되었다. 각도의 하위 지수는 외적 구성(내인 회전의 경우 1, 너트의 경우 2, 사전 처리의 경우 3)을 사용하여 적용되는 순서다.
회전은 오일러 회전각표 의 반대 순서로 적용되므로, 이 표는 동일하지만 해당 입력과 관련된 각도에서 지수 1과 3을 스와핑한다. zxy 와 같은 항목은 먼저 y 회전, 그 다음 x, 그리고 마지막으로 z 를 기본 축에 적용하는 것을 의미한다.
모든 구성은 곱한 행렬에 대한 오른손 관례를 가정하여 다음과 같은 결과를 산출한다.
xzx [ c 2 − c 1 s 2 s 1 s 2 c 3 s 2 c 3 c 2 c 1 − s 3 s 1 − c 2 c 3 s 1 − c 1 s 3 s 2 s 3 c 3 s 1 + c 1 c 2 s 3 c 3 c 1 − c 2 s 3 s 1 ] {\displaystyle {\begin{bmatrix}c_{2}&-c_{1}s_{2}&s_{1}s_{2}\\c_{3}s_{2}&c_{3}c_{2}c_{1}-s_{3}s_{1}&-c_{2}c_{3}s_{1}-c_{1}s_{3}\\s_{2}s_{3}&c_{3}s_{1}+c_{1}c_{2}s_{3}&c_{3}c_{1}-c_{2}s_{3}s_{1}\end{bmatrix}}} 광택의 [ c 2 c 3 − c 3 s 2 c 1 + s 3 s 1 c 3 s 2 s 1 + s 3 c 1 s 2 c 1 c 2 − c 2 s 1 − s 3 c 2 s 3 s 2 c 1 + c 3 s 1 − s 3 s 2 s 1 + c 3 c 1 ] {\displaystyle {\begin{bmatrix}c_{2}c_{3}&-c_{3}s_{2}c_{1}+s_{3}s_{1}&c_{3}s_{2}s_{1}+s_{3}c_{1}\\s_{2}&c_{1}c_{2}&-c_{2}s_{1}\\-s_{3}c_{2}&s_{3}s_{2}c_{1}+c_{3}s_{1}&-s_{3}s_{2}s_{1}+c_{3}c_{1}\end{bmatrix}}} Xyx [ c 2 s 1 s 2 c 1 s 2 s 2 s 3 c 3 c 1 − c 2 s 3 s 1 − c 3 s 1 − c 1 c 2 s 3 − c 3 s 2 c 3 c 2 s 1 + c 1 s 3 c 3 c 2 c 1 − s 3 s 1 ] {\displaystyle {\begin{bmatrix}c_{2}&s_{1}s_{2}&c_{1}s_{2}\\s_{2}s_{3}&c_{3}c_{1}-c_{2}s_{3}s_{1}&-c_{3}s_{1}-c_{1}c_{2}s_{3}\\-c_{3}s_{2}&c_{3}c_{2}s_{1}+c_{1}s_{3}&c_{3}c_{2}c_{1}-s_{3}s_{1}\end{bmatrix}}} xyz [ c 3 c 2 − s 3 c 1 + c 3 s 2 s 1 s 3 s 1 + c 3 s 2 c 1 s 3 c 2 c 3 c 1 + s 3 s 2 s 1 − c 3 s 1 + s 3 s 2 c 1 − s 2 c 2 s 1 c 2 c 1 ] {\displaystyle {\begin{bmatrix}c_{3}c_{2}&-s_{3}c_{1}+c_{3}s_{2}s_{1}&s_{3}s_{1}+c_{3}s_{2}c_{1}\\s_{3}c_{2}&c_{3}c_{1}+s_{3}s_{2}s_{1}&-c_{3}s_{1}+s_{3}s_{2}c_{1}\\-s_{2}&c_{2}s_{1}&c_{2}c_{1}\end{bmatrix}}} yxy [ c 3 c 1 − c 2 s 3 s 1 s 2 s 3 c 3 s 1 + s 3 c 2 c 1 s 1 s 2 c 2 − c 1 s 2 − c 2 c 3 s 1 − c 1 s 3 c 3 s 2 c 3 c 2 c 1 − s 3 s 1 ] {\displaystyle {\begin{bmatrix}c_{3}c_{1}-c_{2}s_{3}s_{1}&s_{2}s_{3}&c_{3}s_{1}+s_{3}c_{2}c_{1}\\s_{1}s_{2}&c_{2}&-c_{1}s_{2}\\-c_{2}c_{3}s_{1}-c_{1}s_{3}&c_{3}s_{2}&c_{3}c_{2}c_{1}-s_{3}s_{1}\end{bmatrix}}} yxz [ c 3 c 1 − s 3 s 2 s 1 − s 3 c 2 c 3 s 1 + s 3 s 2 c 1 s 3 c 1 + c 3 s 2 s 1 c 3 c 2 s 3 s 1 − c 3 s 2 c 1 − c 2 s 1 s 2 c 2 c 1 ] {\displaystyle {\begin{bmatrix}c_{3}c_{1}-s_{3}s_{2}s_{1}&-s_{3}c_{2}&c_{3}s_{1}+s_{3}s_{2}c_{1}\\s_{3}c_{1}+c_{3}s_{2}s_{1}&c_{3}c_{2}&s_{3}s_{1}-c_{3}s_{2}c_{1}\\-c_{2}s_{1}&s_{2}&c_{2}c_{1}\end{bmatrix}}} 이즈 [ c 3 c 2 c 1 − s 3 s 1 − c 3 s 2 c 2 c 3 s 1 + c 1 s 3 c 1 s 2 c 2 s 1 s 2 − c 3 s 1 − c 1 c 2 s 3 s 2 s 3 c 3 c 1 − c 2 s 3 s 1 ] {\displaystyle {\begin{bmatrix}c_{3}c_{2}c_{1}-s_{3}s_{1}&-c_{3}s_{2}&c_{2}c_{3}s_{1}+c_{1}s_{3}\\c_{1}s_{2}&c_{2}&s_{1}s_{2}\\-c_{3}s_{1}-c_{1}c_{2}s_{3}&s_{2}s_{3}&c_{3}c_{1}-c_{2}s_{3}s_{1}\end{bmatrix}}} yzx [ c 2 c 1 − s 2 c 2 s 1 c 3 s 2 c 1 + s 3 s 1 c 3 c 2 c 3 s 2 s 1 − s 3 c 1 s 3 s 2 c 1 − c 3 s 1 s 3 c 2 s 3 s 2 s 1 + c 3 c 1 ] {\displaystyle {\begin{bmatrix}c_{2}c_{1}&-s_{2}&c_{2}s_{1}\\c_{3}s_{2}c_{1}+s_{3}s_{1}&c_{3}c_{2}&c_{3}s_{2}s_{1}-s_{3}c_{1}\\s_{3}s_{2}c_{1}-c_{3}s_{1}&s_{3}c_{2}&s_{3}s_{2}s_{1}+c_{3}c_{1}\end{bmatrix}}} zyz [ c 3 c 2 c 1 − s 3 s 1 − c 2 s 1 c 3 − c 1 s 3 c 3 s 2 c 3 s 1 + c 1 c 2 s 3 c 3 c 1 − c 2 s 3 s 1 s 2 s 3 − c 1 s 2 s 1 s 2 c 2 ] {\displaystyle {\begin{bmatrix}c_{3}c_{2}c_{1}-s_{3}s_{1}&-c_{2}s_{1}c_{3}-c_{1}s_{3}&c_{3}s_{2}\\c_{3}s_{1}+c_{1}c_{2}s_{3}&c_{3}c_{1}-c_{2}s_{3}s_{1}&s_{2}s_{3}\\-c_{1}s_{2}&s_{1}s_{2}&c_{2}\end{bmatrix}}} zyx [ c 2 c 1 − c 2 s 1 s 2 s 3 s 2 c 1 + c 3 s 1 − s 3 s 2 s 1 + c 3 c 1 − s 3 c 2 − c 3 s 2 c 1 + s 3 s 1 c 3 s 2 s 1 + s 3 c 1 c 3 c 2 ] {\displaystyle {\begin{bmatrix}c_{2}c_{1}&-c_{2}s_{1}&s_{2}\\s_{3}s_{2}c_{1}+c_{3}s_{1}&-s_{3}s_{2}s_{1}+c_{3}c_{1}&-s_{3}c_{2}\\-c_{3}s_{2}c_{1}+s_{3}s_{1}&c_{3}s_{2}s_{1}+s_{3}c_{1}&c_{3}c_{2}\end{bmatrix}}} zxz [ c 3 c 1 − c 2 s 1 s 3 − c 3 s 1 − c 1 c 2 s 3 s 2 s 3 c 2 c 3 s 1 + c 1 s 3 c 3 c 2 c 1 − s 3 s 1 − c 3 s 2 s 1 s 2 c 1 s 2 c 2 ] {\displaystyle {\begin{bmatrix}c_{3}c_{1}-c_{2}s_{1}s_{3}&-c_{3}s_{1}-c_{1}c_{2}s_{3}&s_{2}s_{3}\\c_{2}c_{3}s_{1}+c_{1}s_{3}&c_{3}c_{2}c_{1}-s_{3}s_{1}&-c_{3}s_{2}\\s_{1}s_{2}&c_{1}s_{2}&c_{2}\end{bmatrix}}} 잭시 [ c 3 c 1 + s 3 s 2 s 1 − c 3 s 1 + s 3 s 2 c 1 s 3 c 2 c 2 s 1 c 2 c 1 − s 2 − s 3 c 1 + c 3 s 2 s 1 s 3 s 1 + c 3 s 2 c 1 c 3 c 2 ] {\displaystyle {\begin{bmatrix}c_{3}c_{1}+s_{3}s_{2}s_{1}&-c_{3}s_{1}+s_{3}s_{2}c_{1}&s_{3}c_{2}\\c_{2}s_{1}&c_{2}c_{1}&-s_{2}\\-s_{3}c_{1}+c_{3}s_{2}s_{1}&s_{3}s_{1}+c_{3}s_{2}c_{1}&c_{3}c_{2}\end{bmatrix}}}
참고 항목
메모들 ^ 바로 아래의 R Y ( θ ) {\displaystyle R_{Y}(\theta )} 회전 매트릭스는 기븐스 회전이 아니다 . 바로 아래 의 R Y ( ) ) {\displaystyle R_{Y}(\theta )} 행렬은 오른쪽 규칙을 존중하며, 컴퓨터 그래픽에서 흔히 볼 수 있는 행렬이지만, 기븐스 회전은 위의 매트릭스 표현 섹션에서 정의한 행렬일 뿐 오른쪽 규칙을 반드시 존중하지는 않는다. 아래 행렬은 실제로 - θ {\displaystyle \theta } 의 각도를 통한 기븐스 회전이다. R Y ( θ ) = [ cas θ 0 죄를 짓다 θ 0 1 0 − 죄를 짓다 θ 0 cas θ ] {\displaystyle R_{Y}(\theta )={\begin{bmatrix}\cos \cos \theta \\0&1&0\-\cos \theta \end{bmatrix}}}}}} 인용구
참조 Bindel, D.; Demmel, J.; Kahan, W.; Marques, O. (2000), On Computing Givens rotations reliably and efficiently . LAPACK 작업 노트 148, UT-CS-00-449, 2001년 1월 31일. Cybenko, George (March–April 2001), "Reducing Quantum Computations to Elementary Unitary Operations" (PDF) , Computing in Science and Engineering , 3 (2): 27–32, doi :10.1109/5992.908999 Golub, Gene H. ; Van Loan, Charles F. (1996), Matrix Computations (3rd ed.), Johns Hopkins, ISBN 978-0-8018-5414-9 . Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Section 11.3.1. Givens Method" , Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8