[Linear algebra] 유니터리 대각화 (3)

박경민·2025년 9월 16일

[Linear algebra]

목록 보기
12/12

[Linear algebra] 유니터리 대각화 (3)

지난 포스팅에선 거리를 보존하는 변환 F에 대해서 알아봤고, 그 변환이 translation 과 linear operator 의 합성으로 유일하게 나타낼 수 있음을 보였다. 이와 비슷하게, 이번 포스팅에서는 R2 에서 R2 로 가는 orthogonal operator T 가 있다면 그 T는 rotation 과 reflection 둘 중 하나라는 사실을 보일 것이다. orthogonal matrix 를 곱해주는 게 무슨 의미인지 지난 포스팅에서 궁금해했던 것 같은데, 자연스럽게 이를 해결할 수 있을 것 같다!

Orthogonal Operators on R2 are ratations or reflections

아래 이어지는 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 에 대해 다음이 성립함을 보일 수 있다.

  • A의 행렬식이 1 이라면 orthogonal operator on R2 T 는 ratations 이다.
  • A의 행렬식이 -1 이라면 orthogonal operator on R2 T는 원점을 지나는 직선에 관한 reflection 변환이다.

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

(증명)

  • 한 열 벡터가 크기가 1 이 되도록, 각 열을 가지고 와서 내적한 값이 0 이 되도록 잡으면, 오른쪽의 열 벡터는 (-sin, cos) 또는 (sin, -cos) 인 형태가 된다.
  • (-sin, cos) 으로 구성할 경우 detA = 1, (-cos, sin) 으로 구성할 경우 detA = -1 이 된다. 따라서 전자의 경우 rotation, 후자의 경우 reflection 이 된다.

(예시)

어떤 행렬 A가 각 열벡터 크기가 1이고 내적이 0 인 orthonormal matrix 라 해보자. 그렇다면 이 행렬은 O(2): R2 에서 R2 로 가는 orthogonal operators 에 속한다.

  • 코사인 2세타 자리, 사인 2세타 자리의 숫자를 바탕으로 탄젠트 2세타의 값을 구할 수 있다. 탄젠트 세타의 값은 직선의 기울기라 해석할 수 있고, detA = -1이므로..

이 행렬의 변환은 주어진 탄젠트세타의 기울기를 가진 원점을 지나는 직선에 대한 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개의 축을 전제로 한다.

  • v: 회전축과 같은 방향, unit vector , 따라서 회전 변환 후에도 변하지 않는 벡터
  • w: 회전축과 수직인 원점을 지나는 평면상의 임의의 vector, unit vector
  • u: w와 같은 평면에 있으면서 w와 수직인 unit vector, 따라서 v, w 모두와 수직

이렇게 3개의 unit vector 를 R3 의 orthonormal basis beta 로 잡을 수가 있다.

이들 basis 각 성분에 대한 T 회전변환은 다음과 같다.

  • T(v): v는 회전축 (중심) 에 위치하고 있으므로 그대로
  • T(w): 세타만큼 회전했을 때 (cos세타, sin세타) 처럼 좌표가 변하고, w 방향으로 cos세타만큼, u 방향으로 sin세타만큼 변함.
  • T(u): T(w) 에서의 변환과 비슷하지만, (-sin세타, cos세타) 만큼 변함을 고려

이를 basis 에 대해 적은 행렬 [T] 는 아래와 같고, 행렬식을 계산하면 회전변환인 이 행렬에 대해 행렬식이 1 이다. 따라서 SO(3) 이 rotation 임을 확인할 수 있게 된다.

Determinant 가 1 인 Orthogonal matrix 를 곱하는 것이 rotation 임을 깨달으면, 어떤 좌표 (x,y) 가 있을 때 여기에 orthogonal matrix 를 곱하여서 새로운 좌표 (x', y') 를 만들 수 있고, 이를 이용한 것이 아래의 예시이다.

Conic Section (2차곡선)

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로 표현한 식) 을 새롭게 얻은 이차곡선 식에 넣으면, 원래의 식을 복원할 수 있다.

profile
Mathematics, Algorithm, and IDEA for AI research🦖

0개의 댓글