대각화는 고유기저에서 늘이기만 남긴다
행렬은 보통 격자를 비틀고 화살표를 돌려서 머릿속에 그리기가 어려워요. 그런데 고유벡터, 곧 변환을 받아도 방향이 안 바뀌고 길이만 변하는 그 특별한 방향들을 새 좌표축으로 삼으면, 그 좌표에서 행렬은 갑자기 단순해져요. 회전도 비틀림도 사라지고, 두 축을 각각 고유값만큼 늘이는 대각 행렬 D만 남죠. 이게 대각화 A = P D P⁻¹예요. 여기서 P는 고유벡터를 열로 세운 행렬이고요. 일단 이렇게 쪼개 두면 거듭제곱 Aⁿ은 거의 공짜가 되고, 대칭행렬에선 그 축들이 정확히 직각이 돼요. 이 한 가지 사실이 PageRank, SVD, PCA를 한 줄로 꿰어요.
같은 변환 A를 두 관점으로 토글해 보세요. 표준 관점에선 격자가 비틀리고, 고유벡터가 아닌 평범한 화살표는 길이뿐 아니라 방향까지 휘어요. 머리로 따라가기가 벅차죠. 고유기저 관점으로 바꾸면, 두 고유벡터를 새 좌표축으로 깔아요. 그러면 A는 첫 축을 λ1배, 둘째 축을 λ2배 늘이기만 하는 대각 변환 D = diag(λ1, λ2)로 보여요. 회전이 0이에요. 옳은 기저를 고르면 복잡해 보이던 행렬이 그저 두 번의 늘이기로 정리된다는 게 대각화의 출발점이에요.
A = P D P⁻¹가 한 벡터에 어떻게 작용하는지 단계로 밟아 봐요. P는 고유벡터 v1, v2를 열로 세운 행렬이에요. 0단계는 출발 벡터. 1단계 P⁻¹는 그 벡터를 고유좌표로 옮겨, 'v1 방향 몇 칸 + v2 방향 몇 칸'으로 읽게 해요. 2단계 D는 그 고유좌표에서 첫 성분을 λ1배, 둘째를 λ2배 늘여요. 늘이기뿐이라 가장 단순한 단계죠. 3단계 P는 그 결과를 다시 원래 좌표로 되돌려요. P⁻¹로 들어가서 D로 늘이고 P로 나오는 이 세 동작이 A 한 번과 정확히 같아요.
대각화의 진짜 이득은 거듭제곱이에요. Aⁿ = P Dⁿ P⁻¹인데, 가운데 Dⁿ은 그냥 각 고유값을 n제곱한 대각 행렬이에요. 행렬을 n번 곱하는 수고가 사라지죠. 슬라이더로 거듭제곱 k를 키워 보세요. 한 벡터가 매번 각 고유방향으로 λi배씩 늘어나는데, 절댓값이 큰 고유값 쪽이 점점 압도해요. 그래서 k가 커지면 벡터가 가장 큰 고유값의 방향(지배 고유벡터)으로 점점 정렬돼요. 이게 거듭제곱 반복법이고, PageRank나 반복되는 과정이 시간이 지나며 한 방향으로 자리 잡는 원리예요.
행렬이 대칭(b 위치와 c 위치가 같음)이면 특별한 일이 일어나요. 슬라이더로 비대칭 항을 조절해 보세요. A가 대칭에서 멀면 두 고유벡터 축이 비스듬한 각도로 기울어 있어요. A를 대칭으로 맞추는 순간 두 고유벡터가 정확히 90도, 곧 직각으로 만나요. 이게 스펙트럼 정리예요. 대칭행렬은 항상 정규직교 고유벡터를 가져서 A = Q Λ Qᵀ로 쪼개지고, 여기서 Q는 직교행렬(회전), Λ는 고유값 대각 행렬이에요. P⁻¹ 자리에 그냥 Qᵀ를 쓸 수 있는 거죠. 이 직교 대각화가 SVD와 PCA의 기하적 심장이에요.
솔직한 단서 하나. 모든 행렬이 대각화되는 건 아니에요. 토글의 한쪽은 서로 다른 두 고유방향을 가진 멀쩡한 행렬이라, 고유벡터가 평면을 잘 펼쳐 대각화돼요. 다른 쪽은 전단(shear) 행렬 [[1,1],[0,1]]이에요. 고유값이 1 하나로 겹치는데, 고유벡터는 가로축 한 방향밖에 안 나와요. 화살표 두 개가 같은 선으로 포개지는 게 보일 거예요. 이렇게 독립된 고유벡터가 모자란 행렬을 결손(defective)이라 하고, 새 좌표축을 둘 만큼 방향이 없으니 대각화가 불가능해요. 대각화의 조건은 'n개의 독립 고유벡터'예요.