대각화 (Diagonalization) 심층 분석
지난 포스팅에서 고유값과 고유벡터에 대해 알아보았다면, 이번에는 고유값과 고유벡터를 이용하여 행렬을 대각화(diagonalization)하는 방법에 대해 자세히 알아보겠다. 대각화는 복잡한 행렬을 간단한 대각 행렬(diagonal matrix) 형태로 변환하는 과정으로, 선형 변환의 특성을 파악하고 계산을 단순화하는 데 유용하게 활용된다.
1. 대각화란?
정사각 행렬 에 대해, 다음을 만족하는 가역 행렬(invertible matrix) 와 대각 행렬 가 존재할 때, 행렬 는 대각화 가능(diagonalizable)하다고 한다.
S⁻¹AS = Λ
이때, 의 열벡터는 행렬 의 고유벡터들로 구성되고, 의 대각 성분은 의 고유값들로 구성된다.
Diagonalization 예제 |
2. 대각화의 조건
행렬 가 대각화 가능하기 위한 필요충분조건은 다음과 같다.
- n개의 선형 독립인 고유벡터(linearly independent eigenvectors) 존재: 행렬 는 개의 서로 다른 고유값을 갖거나, 중복된 고유값에 대해 충분한 개수의 선형 독립인 고유벡터를 가져야 한다.
- 기하적 중복도(geometric multiplicity)와 대수적 중복도(algebraic multiplicity) 일치: 각 고유값에 대한 고유 공간(eigenspace)의 차원(즉, 기하적 중복도)은 해당 고유값의 중복도(즉, 대수적 중복도)와 같아야 한다.
3. 대각화의 활용: 차분 방정식 (Difference Equations)
대각화는 차분 방정식(difference equation)을 푸는 데 유용하게 활용될 수 있다. 차분 방정식은 어떤 시점의 값이 이전 시점의 값들과 특정 관계를 가지는 수열을 나타내는 방정식이다. 예를 들어, 다음과 같은 차분 방정식을 생각해보자.
u_{k+1} = Au_k
여기서 는 시간 에서의 상태 벡터이고, 는 상태 전이 행렬이다. 만약 행렬 가 대각화 가능하다면, 를 만족하는 행렬 와 를 찾을 수 있다. 이를 이용하여 차분 방정식을 다음과 같이 변형할 수 있다.
u_k = A^ku_0 = (SΛS⁻¹)^k u_0 = SΛ^k S⁻¹u_0
여기서 는 대각 행렬이므로, 계산이 매우 간단해진다. 따라서 대각화를 통해 차분 방정식의 해를 효율적으로 구할 수 있다.
Diagonalization 응용 |
4. 마르코프 행렬 (Markov Matrix)
마르코프 행렬은 각 열의 합이 1인 정사각 행렬로, 확률 과정을 모델링하는 데 사용된다. 마르코프 행렬은 항상 1을 고유값으로 가지며, 나머지 고유값의 절댓값은 1보다 작거나 같다.
마르코프 행렬의 예시
다음은 서울과 지방 간 인구 이동을 나타내는 마르코프 행렬의 예시다.
A = |0.9 0.2|
|0.1 0.8|
이 행렬에서 첫 번째 열은 서울에서 서울로 이동할 확률과 지방에서 서울로 이동할 확률을 나타내고, 두 번째 열은 서울에서 지방으로 이동할 확률과 지방에서 지방으로 이동할 확률을 나타낸다.
Markov matrix |
마무리하며
이번 포스팅에서는 행렬의 대각화에 대해 알아보았다. 대각화는 행렬 계산을 단순화하고, 차분 방정식과 마르코프 과정을 분석하는 데 유용하게 활용될 수 있다. 이번 내용은 응용할 수 있는 여지가 많아 충분한 복습이 필요해 보인다.
추천글:
(https://hyeonb.blogspot.com/2024/05/linear-square-problem.html)
[선형대수학] eigenvalue, eigenvector
(https://hyeonb.blogspot.com/2024/05/eigenvalue-eigenvector.html)