행렬 대각화 계산기 쉽게 이해하기 — 개념과 원리
이 계산기는 정사각행렬을 A = P·D·P⁻¹로 대각화합니다. D의 대각선에는 고윳값이, P의 열에는 고유벡터가 놓입니다. P, D, P⁻¹와 각 고윳값의 대수적·기하적 중복도를 보여 주고, 대각화할 수 없으면 그 이유를 알려 줍니다. 선형대수 숙제, 행렬의 거듭제곱, 연립 미분방정식에 쓸 수 있습니다.
계산 방법
- 특성다항식 det(A − λI) = 0의 근으로 고윳값을 구합니다.
- 고윳값 λ마다 (A − λI)v = 0을 풀어 고유공간의 기저를 구합니다.
- 고유공간의 차원(기하적 중복도)과 근으로 나온 횟수(대수적 중복도)를 비교합니다.
- 고윳값이 모두 실수이고 두 중복도가 모두 같으면, 고유벡터를 P에, 짝이 되는 고윳값을 D에 넣습니다.
- 서로 다른 고윳값이 n개면 항상 대각화됩니다. 정수와 10⁻⁷ 이내인 고윳값은 정수로 반올림하고, 고유벡터는 자유변수가 1이 되게 맞춥니다.
원리
대각행렬은 각 좌표축 방향으로 늘이기만 합니다. A를 대각화한다는 것은 A가 순수하게 늘이기만 하는 축들, 즉 고유벡터를 찾는 것이며, 늘이는 배율이 고윳값입니다. P는 그 축으로 좌표를 바꾸고, D가 늘이고, P⁻¹가 원래 좌표로 되돌립니다. 이를 위해서는 일차독립인 고유벡터가 n개 있어야 하며, 고유벡터가 모자란 중복 고윳값(층밀림)이 있으면 대각화할 수 없습니다. 대각형이면 Aᵏ = P·Dᵏ·P⁻¹처럼 거듭제곱이 쉬워집니다.
예제 풀이
기본값: A = [1 3 3; −3 −5 −3; 3 3 1].
- 특성다항식은 (λ − 1)(λ + 2)²이므로 고윳값은 1과 −2(중복)입니다.
- λ = 1: 고유벡터 (1, −1, 1), 중복도 1 / 1입니다.
- λ = −2: A + 2I의 계수가 1이라 고유벡터 (−1, 1, 0), (−1, 0, 1) 두 개가 나오며, 중복도 2 / 2입니다.
- 대각화 가능 — A = P·D·P⁻¹, D = [1 0 0; 0 −2 0; 0 0 −2], P = [1 −1 −1; −1 1 0; 1 0 1]입니다.
- P⁻¹ = [1 1 1; 1 2 1; −1 −1 0]입니다.
결과 해석
P의 각 열은 D에서 같은 위치의 성분과 짝을 이룹니다. 한 쌍을 직접 확인해 보십시오. A × (1, −1, 1) = (1, −1, 1)이므로 배율 1로 늘어난 것입니다. 고유벡터에 0이 아닌 수를 곱하거나 같은 고유공간의 다른 기저를 써도 똑같이 올바른 P가 됩니다.
흔한 실수
- P의 열 순서를 D의 고윳값 순서와 다르게 놓는 경우
- 중복 고윳값이 있으면 항상 대각화할 수 없다고 보는 경우(이 예처럼 가능할 수 있습니다)
- 복소 고윳값이 있으면 실수 범위에서 대각화할 수 없다는 점을 잊는 경우
- P·D·P⁻¹와 P⁻¹·D·P를 혼동하는 경우
자주 묻는 질문
행렬은 언제 대각화할 수 있나요?
일차독립인 고유벡터가 n개일 때이며, 서로 다른 고윳값이 n개면 항상 그렇습니다.
대수적 중복도와 기하적 중복도란?
λ가 특성다항식의 근으로 나오는 횟수와, λ에 대한 일차독립 고유벡터의 개수입니다.
왜 대각화하나요?
A의 거듭제곱과 함수를 쉽게 계산하고, 연립 선형 시스템을 서로 분리하기 위해서입니다.
출처: A. Davis, P. Zachlin et al., Coordinated Linear Algebra (University of Nebraska–Lincoln), §6.1–6.2