행렬 $A$에 소거를 진행하면 상부삼각행렬 $U$를 만들 수 있습니다. 이 과정은 소거행렬 $E_{x}$를 이용해 $E_{n}$…$E_{1}A$ = $U$로 쓸 수 있고, 이는 다시 $A$ = $LU$로 표현할 수 있습니다. 여기서 $L$은 하부삼각행렬입니다. 즉, $A$는 $L$과 $U$로 나눌 수 있습니다. 이를 $LU$ Factorization이라고 합니다.
이번 포스팅은 앞선 시간에 배운 $LU$ factorization($LU$ 분해)에 대해 좀 더 살펴보겠습니다. 여기서 $U$는 소거를 통해 만든 상부삼각행렬이고 $L$은 그 소거행렬($E_{n}$…$E_{1}$)의 역행렬입니다.
LU factorization의 원리와 예제
주어진 행렬 $A$에 소거를 하여 상부삼각행렬 $U$를 만든다고 가정하겠습니다.
소거 과정의 각 단계에 대응되는 소거행렬을 $E_{1}$, $E_{2}$, …, $E_{n}$이라 하면,
모든 소거과정은 다음과 같이 쓸 수 있습니다:
($E_{n}$…$E_{1}$)$A$ = $U$.
여기서 양변에 $E_{1}^{-1}$…$E_{n}^{-1}$를 곱하면
($E_{1}^{-1}$…$E_{n}^{-1}$)·($E_{n}$…$E_{1}$)$A$ = ($E_{1}^{-1}$…$E_{n}^{-1}$)·$U$이 됩니다.
좌변의 소거행렬과 그 역행렬들의 곱은 단위행렬 $I$가 되므로,
$I$·$A$ = $A$ = ($E_{1}^{-1}$…$E_{n}^{-1}$)·$U$이 됩니다.
앞서 우리는 소거행렬의 역행렬이 하부삼각행렬임을 배웠습니다.
하부삼각행렬들의 곱도 하부삼각행렬이 되므로 괄호 역시 하부삼각행렬입니다.
괄호를 하부삼각행렬 Lower triangular matrix의 알파벳 앞 글자를 따서 쓰면,
$A$ = $LU$가 됩니다.
위 내용은 행 교환(row exchange)이 필요하지 않은 경우임을 주의해야합니다.
소거 과정에서 행 교환이 필요하다면, 교환행렬 $P$를 써서, ($E_{n}$…$E_{1}P$)$A$ = $U$로 쓸 수 있습니다.
이때 괄호안의 행렬곱은 하부삼각행렬이 아닙니다.
즉, $A$는 $LU$ 분해되지 않는다. 대신 $PA$는 $LU$ 분해됩니다.
LU factorization 예제
$A$ = $\begin{pmatrix} \begin{array}{rrr} 2 & 1 & 0 \\ 1 & 2 & 1 \\ 0 & 1 & 2 \end{array} \end{pmatrix}$을 $LU$ 분해해보겠습니다.
$A$를 상부삼각행렬로 만들기 위해서는 피벗 아래 성분들을 0으로 만들어야 합니다.
먼저 $a_{21}$ (2행 1열 성분)을 제거합나다.
이 과정에 대한 소거행렬은
$E_{1}$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ -\frac{1}{2} & 1 & 0 \\ 0 & 0 & 1 \end{array} \end{pmatrix}$이고,
$E_{1}A$ = $\begin{pmatrix} \begin{array}{rrr} 2 & 1 & 0 \\ 0 & \frac{3}{2} & 1 \\ 0 & 1 & 2 \end{array} \end{pmatrix}$이 됩니다.
다음은 2번 행에 $\frac{2}{3}$을 곱하여 3번 행에 빼주어 $a_{32}$을 제거합니다.
이때 소거행렬은 $E_{2}$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -\frac{2}{3} & 1 \end{array} \end{pmatrix}$입니다.
이제 $E_{2}E_{1}A$ = $\begin{pmatrix} \begin{array}{rrr} 2 & 1 & 0 \\ 0 & \frac{3}{2} & 1 \\ 0 & 0 & \frac{4}{3} \end{array} \end{pmatrix}$입니다.
두 소거행렬의 역행렬은 각각
$E_{1}^{-1}$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ \frac{1}{2} & 1 & 0 \\ 0 & 0 & 1 \end{array} \end{pmatrix}$,
$E_{2}^{-1}$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & \frac{2}{3} & 1 \end{array} \end{pmatrix}$이므로,
$L$ = $E_{1}^{-1}E_{2}^{-1}$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ \frac{1}{2} & 1 & 0 \\ 0 & \frac{2}{3} & 1 \end{array} \end{pmatrix}$입니다.
즉, $A$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ \frac{1}{2} & 1 & 0 \\ 0 & \frac{2}{3} & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{rrr} 2 & 1 & 0 \\ 0 & \frac{3}{2} & 1 \\ 0 & 0 & \frac{4}{3} \end{array} \end{pmatrix}$와
같이 $LU$ 분해되었습니다.
LDU 분해
위 예를 보면 $L$의 대각 성분들은 모두 1인 반면, U의 대각 성분들은 모두 1이 아닙니다.
$U$의 대각 성분들은 피벗으로 보통은 1이 아닙니다.
$L$과 $U$의 균형을 위해, $U$를 다시 $DU$로 나뉩니다.
여기서 $D$는 대각행렬입니다.
$D$의 대각 성분들은 원래 $U$의 피벗들입니다.
위 예에서는
$U$ = $\begin{pmatrix} \begin{array}{rrr} 2 & 0 & 0 \\ 0 & \frac{3}{2} & 0 \\ 0 & 0 & \frac{4}{3} \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{rrr} 1 & \frac{1}{2} & 0 \\ 0 & 1 & \frac{2}{3} \\ 0 & 0 & 1 \end{array} \end{pmatrix}$입니다.
따라서
$A$ = $\begin{pmatrix} \begin{array}{rrr} 1 & 0 & 0 \\ \frac{1}{2} & 1 & 0 \\ 0 & \frac{2}{3} & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{rrr} 2 & 0 & 0 \\ 0 & \frac{3}{2} & 0 \\ 0 & 0 & \frac{4}{3} \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{rrr} 1 & \frac{1}{2} & 0 \\ 0 & 1 & \frac{2}{3} \\ 0 & 0 & 1 \end{array} \end{pmatrix}$
입니다.
$L$과 $U$를 이용한 행렬 방정식 $Ax$ = $b$ 풀기
행렬 방정식 $Ax$ = $b$ 는 다음 과정을 통해 풀 수 있습니다:
1. $A$를 $L$과 $U$로 분해하기
2. $Lc$ = $b$를 풀어 $c$를 구한 다음, $Ux$ = $c$를 풀면, 방정식의 해 $x$를 구할 수 있습니다.
행렬 방정식 $Ax$ = $b$에 소거를 진행하면 $Ux$ = $c$가 됩니다.
이는 상부삼각형태의 연립방정식과 대응됩니다.
그리고 $A$를 $L$과 $U$로 분해한다면, $Ax$ = $b$은 $LUx$ = $b$이 됩니다.
이것은 다시 $LUx$ = $Lc$ = $b$입니다.
따라서 $Lc$ = $b$에서 $c$를 구하고 나서 $Ux$ = $c$을 풀면 원래 방정식의 해 $x$를 구할 수 있습니다.
다음 연립 방정식 예를 보겠습니다.
$x_{1}$ + 2$x_{2}$ = 5
4$x_{1}$ + 9$x_{2}$ = 21
이에 대응되는 행렬 방정식 $Ax$ = $b$에서 $A$와 $b$는 $A$ = $\begin{pmatrix} \begin{array}{rr} 1 & 2 \\ 4 & 9 \end{array} \end{pmatrix}$, $b$ = $\begin{pmatrix} \begin{array}{r} 5 \\ 21 \end{array} \end{pmatrix}$입니다.
위 설명대로 $A$를 $L$과 $U$로 분해하겠습니다.
먼저 $A$를 소거하기 위한 multiplier는 4임을 쉽게 알 수 있습니다.
그래서 소거행렬은 $\begin{pmatrix} \begin{array}{rr} 1 & 0 \\ -4 & 1 \end{array} \end{pmatrix}$이고,
$L$은 소거행렬의 역행렬 $\begin{pmatrix} \begin{array}{rr} 1 & 0 \\ 4 & 1 \end{array} \end{pmatrix}$입니다.
또 $U$ = $\begin{pmatrix} \begin{array}{rr} 1 & 2 \\ 0 & 1 \end{array} \end{pmatrix}$를 쉽게 구할 수 있습니다.
다음은 $Lc$ = $b$를 풀겠습니다.
즉, $\begin{pmatrix} \begin{array}{rr} 1 & 0 \\ 4 & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{r} c_{1} \\ c_{2} \end{array} \end{pmatrix}$ = $\begin{pmatrix} \begin{array}{r} 5 \\ 21 \end{array} \end{pmatrix}$를 풉니다.
여기서 $c_{1}$은 5 임을 바로 알 수 있고,
$c_{1}$값을 대입하면 $c_{2}$가 1인 것도 쉽게 알 수 있습니다.
따라서, $c$ = $\begin{pmatrix} \begin{array}{r} 5 \\ 1 \end{array} \end{pmatrix}$.
이제 $Ux$ = $c$를 풀 수 있습니다.
$\begin{pmatrix} \begin{array}{rr} 1 & 2 \\ 0 & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{r} x_{1} \\ x_{2} \end{array} \end{pmatrix}$= $\begin{pmatrix} \begin{array}{r} 5 \\ 1 \end{array} \end{pmatrix}$.
역시 $x_{2}$ = 1을 바로 계산할 수 있고,
이 값을 대입하여 $x_{1}$ = 3도 쉽게 계산할 수 있습니다.
따라서 방정식의 해는 $x$ = $\begin{pmatrix} \begin{array}{r} 3 \\ 1 \end{array} \end{pmatrix}$입니다.
'선형대수' 카테고리의 다른 글
2.7b 전치행렬과 대칭행렬 (4) | 2022.02.22 |
---|---|
2.7a 전치행렬(transpose matrix) & 전치 연산의 규칙 (8) | 2022.02.11 |
2.5c 가우스 조던(Gauss-Jordan) 소거법 (8) | 2022.01.28 |
2.5b 소거행렬의 역행렬-LU분해 (19) | 2022.01.24 |
2.5 역행렬 (inverse matrix) (2) | 2022.01.21 |
댓글