분해 과정에서의 행렬 계산
기본 개념
Sholesky 분해(Cholesky decomposition)는 양의 정부호 대칭 행렬 \mathbf{A}을 하삼각 행렬(Lower triangular matrix) \mathbf{L}과 그 전치 행렬(\mathbf{L}^T)의 곱 형태로 분해하는 방식이다. 즉, \mathbf{A} = \mathbf{L} \mathbf{L}^T와 같은 형태로 나타낼 수 있다.
행렬 계산 과정
Sholesky 분해 과정은 다음과 같은 단계로 구성된다:
- 주어진 대칭 행렬 \mathbf{A}를 읽는다.
- 하삼각 행렬 \mathbf{L}을 초기화한다.
- \mathbf{A}의 원소들을 직접적으로 이용하여 \mathbf{L}의 원소들을 계산한다.
\mathbf{A} =
\begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{n1} & a_{n2} & \cdots & a_{nn}
\end{bmatrix},
\quad
\mathbf{L} =
\begin{bmatrix}
l_{11} & 0 & \cdots & 0 \\
l_{21} & l_{22} & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
l_{n1} & l_{n2} & \cdots & l_{nn}
\end{bmatrix}
일반적인 계산 공식
하삼각 행렬 \mathbf{L}의 원소는 아래의 공식으로 구할 수 있다:
- 대각 원소 계산:
l_{ii} = \sqrt{a_{ii} - \sum_{k=1}^{i-1} l_{ik}^2}
- 비대각 원소 계산:
l_{ij} = \frac{1}{l_{jj}} \left(a_{ij} - \sum_{k=1}^{j-1} l_{ik} l_{jk}\right), \quad i > j
각 원소를 차례로 구하며 \mathbf{L}을 구성한다.
단계별 예제
다음은 단계별로 계산 과정에서 필요한 예제이다:
1. 초기화 단계
대칭 행렬 \mathbf{A}:
\mathbf{A} =
\begin{bmatrix}
4 & 12 & -16 \\
12 & 37 & -43 \\
-16 & -43 & 98
\end{bmatrix}
하삼각 행렬 \mathbf{L}:
\mathbf{L} =
\begin{bmatrix}
l_{11} & 0 & 0 \\
l_{21} & l_{22} & 0 \\
l_{31} & l_{32} & l_{33}
\end{bmatrix}
2. 첫 번째 대각 원소 계산
l_{11} = \sqrt{a_{11}} = \sqrt{4} = 2
3. 첫 번째 행/열 비대각 원소 계산
l_{21} = \frac{a_{21}}{l_{11}} = \frac{12}{2} = 6
l_{31} = \frac{a_{31}}{l_{11}} = \frac{-16}{2} = -8
4. 두 번째 대각 원소 계산
l_{22} = \sqrt{a_{22} - l_{21}^2} = \sqrt{37 - 6^2} = \sqrt{1} = 1
5. 두 번째 행/열 비대각 원소 계산
l_{32} = \frac{1}{l_{22}} \left(a_{32} - l_{31} \cdot l_{21}\right) = \frac{1}{1} \left(-43 - (-8) \cdot 6\right) = \frac{1}{1} \left(-43 + 48\right) = 5
6. 세 번째 대각 원소 계산
l_{33} = \sqrt{a_{33} - (l_{31}^2 + l_{32}^2)} = \sqrt{98 - ((-8)^2 + 5^2)} = \sqrt{98 - (64 + 25)} = \sqrt{9} = 3
최종 하삼각 행렬
모든 원소를 계산하여 하삼각 행렬 \mathbf{L}를 완성한다:
\mathbf{L} =
\begin{bmatrix}
2 & 0 & 0 \\
6 & 1 & 0 \\
-8 & 5 & 3
\end{bmatrix}
그리고, \mathbf{A}는 이제 정말로 \mathbf{L} \mathbf{L}^T로 분해될 수 있다:
\mathbf{A} = \mathbf{L} \mathbf{L}^T =
\begin{bmatrix}
2 & 0 & 0 \\
6 & 1 & 0 \\
-8 & 5 & 3
\end{bmatrix}
\begin{bmatrix}
2 & 6 & -8 \\
0 & 1 & 5 \\
0 & 0 & 3
\end{bmatrix} =
\begin{bmatrix}
4 & 12 & -16 \\
12 & 37 & -43 \\
-16 & -43 & 98
\end{bmatrix}
즉, 주어진 대칭 행렬 \mathbf{A}는 정확하게 하삼각 행렬 \mathbf{L}과 그 전치 행렬 \mathbf{L}^T로 분해되었다.
Sholesky 분해는 대칭이고 양의 정부호인 행렬을 하삼각 행렬과 그 전치 행렬의 곱으로 분해하는 매우 유용한 기법이다. 이를 통해 시스템의 연립방정식을 효율적으로 풀 수 있고 여러 수치해석 문제에 적용할 수 있다.