지난 포스팅에선 거리를 보존하는 변환 F에 대해서 알아봤고, 그 변환이 translation 과 linear operator 의 합성으로 유일하게 나타낼 수 있음을 보였다. 이와 비슷하게, 이번 포스팅에서는 R2 에서 R2 로 가는 orthogonal operator T 가 있다면 그 T는 rotation 과 reflection 둘 중 하나라는 사실을 보일 것이다. orthogonal matrix 를 곱해주는 게 무슨 의미인지 지난 포스팅에서 궁금해했던 것 같은데, 자연스럽게 이를 해결할 수 있을 것 같다!
아래 이어지는 theorem 을 보기 위해, R2 에서 R2 로 가는 orthogonal operators 를 O(2) 라고 정의할 것이다. 즉, O(2) 는 2X2 orthonormal basis 로 이루어진 행렬을 뜻한다. 이렇게 보인 finite dimensional inner product space 에서의 orthogonal operators 의 모임을 Lie-group 이라고 할 수 있는 것도 알았는데, 최근에 다른 곳에서도 Lie-group 에 대한 이야기를 들은 적이 많아서 이에 대한 resources 를 따로 찾아봐야겠다.
다시 돌아와서, R2 에서R2 로 가는 orthogonal operator, 그 operator T 에 대해 standard basis 를 잡아서 표현한 행렬 A 에 대해 다음이 성립함을 보일 수 있다.

즉, R2 에서 orthogonal operators 는 rotations 또는 reflection 변환만 해준다.
(증명)

(예시)

어떤 행렬 A가 각 열벡터 크기가 1이고 내적이 0 인 orthonormal matrix 라 해보자. 그렇다면 이 행렬은 O(2): R2 에서 R2 로 가는 orthogonal operators 에 속한다.
이 행렬의 변환은 주어진 탄젠트세타의 기울기를 가진 원점을 지나는 직선에 대한 reflection 이라 할 수 있다.
(Rmk: Rigid Motion 뜯어보기)
Rigid Motion 자체는 지난 포스팅에 서술하였듯 translation 과 orthogonal operator 의 합성으로 uniquely 하게 표현할 수 있었다. 이번 포스팅에서는 orthogonal operator 가 determinant 에 따라 rotation 혹은 reflection 이라는 것으로, 주어진 rigid motion (거리를 보존하는 함수) = translation (평행이동) dot rotation (회전변환) 또는 = translation (평행이동) dot reflection (대칭이동) 중 하나가 된다.
(확장: O(3) 3차원 공간에서 회전변환)
그렇다면 3차원 공간에서 주어진 linear operator 의 모임 O(3) 는 어떨까? 아쉽게도, O(3) 에는 O(2) 에서 rotation, reflection 만 있었던 것과 달리 이를 포함하여 더 다양한 변환이 존재한다. 단, 그 변환 T의 행렬식을 생각했을 때 값이 1이라면 (이를 SO(3) 라고 한다) rotations 으로 2차원에서와 비슷하게 회전변환임을 확정할 수 있게 된다. 3차원에서 회전변환이란 무엇일까?

3차원에서 회전변환은 기본적으로 3개의 축을 전제로 한다.
이렇게 3개의 unit vector 를 R3 의 orthonormal basis beta 로 잡을 수가 있다.
이들 basis 각 성분에 대한 T 회전변환은 다음과 같다.

이를 basis 에 대해 적은 행렬 [T] 는 아래와 같고, 행렬식을 계산하면 회전변환인 이 행렬에 대해 행렬식이 1 이다. 따라서 SO(3) 이 rotation 임을 확인할 수 있게 된다.
Determinant 가 1 인 Orthogonal matrix 를 곱하는 것이 rotation 임을 깨달으면, 어떤 좌표 (x,y) 가 있을 때 여기에 orthogonal matrix 를 곱하여서 새로운 좌표 (x', y') 를 만들 수 있고, 이를 이용한 것이 아래의 예시이다.
2차곡선은 다음과 같이 일반적으로 주어진 form 을 뜻하고, 이를 associated quadratic form 으로 항상 전환하는 것이 가능하다.

이 associated quadratic form 은 특수한 경우 회전변환을 통해서 2b가 0이 될 경우에 한 해 (왼쪽의 notation 을 따름) 타원쌍곡선으로 표현할 수 있다. 구체적으로, 아래를 보자.

좌변은 quadratic form 을 다시 쓴 것이고, 우변은 이를 3개의 matrix 곱으로 표현한 것이다. 우리의 목표는, 이를 타원쌍곡선으로 표현할 수 있는지 확인하기 위해 xy 항을 없애는 것, 즉 b=0 이 되게 하는 것이며, 오른쪽의 matrix notation 에 따르면 A 행렬을 b = 0 으로 가도록 하고 대각성분만 담겨두도록 diagonalizable 하게 잡을 수 있는지, 확인하게 된다.

만약 A가 대각화가능하다면, 그 말과 동치인 조건은 orthogonal matrix P 를 잡아서 앞과 뒤에 P transpose 와 P 를 곱해준 것이 diagonal matrix 가 될 수 있다, 하는 것과 같다. 이를 다시 쓰면 A = PDP^t 임을 알 수 있다.
그렇다면 위에서 구한 quadratic forms 에 대한 matrix representation X^tAX 를 A 대신 PDP^t 를 집어넣어서 다시 쓸 수 있고, 중간이 대각행렬만 남기고 P^tX = X' 로 X 를 다시 잡을 수 있다. 즉, 기존 X = (x, y) 에 P^t 를 곱해서 변환된 좌표인 X' = (x', y') 를 얻게 되면 ax^2 + by^2 = 0 의 형태로 식을 다시 쓸 수 있음을 의미하고, 이때 곱해지는 P^t 가 orthonormal basis, detP = 1 일 경우 그 변환은 rotation 임을 확인할 수 있게 된다.
(예시)
일반적인 것처럼 보이는 quadratic forms 를 행렬로 표현한 A에서, 이를 대각화하기 위해 우선 eigenvalue 를 얻고, eigenvectors 를 얻은 다음 => 그람슈미트 직교화를 하면, 오른쪽의 P 행렬을 얻을 있다. 즉, P^tAP = D 로 A행렬은 쉽게 대각화할 수 있게 된다. (그람슈미트 직교화를 통해 얻은 P 행렬에, 특히 행렬식이 1이 되도록 신경써야지만, P 를 회전변환이라 할 수 있다)
여기서 의미적으로 더 중요한 것은 원래의 좌표 X에서 P^t 를 곱하면 회전변환이라는 것이고, 이를 아래처럼 보일 수 있다. x' = (기존 x, y 로 표현한 식), y' = (기존 x, y로 표현한 식) 을 새롭게 얻은 이차곡선 식에 넣으면, 원래의 식을 복원할 수 있다.