이번 포스팅에서는 선형대수방정식을 풀기 위한 방법 중 하나인
LU decomposition/factorization (LU 분해법)에 대해 알아보겠습니다.
(출처: Chapra의 응용수치해석 3rd edition, Steven C. Chapra 저)
LU decomposition/factorization (LU 분해법)이란?
앞에서 살짝 말씀드렸듯이 LU 분해법 또한
선형대수방정식의 해를 구하기 위한 방법 중 하나입니다.
이전 포스팅에서 선형대수방정식을 풀기 위한 다른 방법인 Gauss elimination을
알아보았는데요.
우선 선형대수방정식의 일반적인 형태는 아래와 같습니다.
[A]{x}={b}
Gauss elimination은 분명 시스템의 해를 구하는데에 좋은 방법이긴 하지만,
동일한 시스템 [A]에 대하여 우변의 벡터 b가 다른 경우에 대해 풀 때엔
비효율적입니다.
바뀔 때 마다 전진소거와 후진대입을 반복하여야 하기 때문입니다.
전진소거 자체가 많은 계산을 필요로 하는데, 시스템이 크면 더 문제가 되기 때문에
이런 경우 LU 분해법을 사용하면 효율적으로 해를 구할 수 있습니다.
LU decomposition/factorization 하는 방법
LU 분해법을 하는 방법에 대해 알아보죠.
다행히 우리는 이미 그 방법을 알고 있습니다.
바로 Gauss elimination 자체를 LU 분해법으로 표현가능하기 때문이죠.
식 (1)은 아래와 같이 표현 가능합니다.
[A]{x}−{b}=0
식 (2)를 상삼각행렬의 형태 시스템으로 표시할 수 있다면 아래와 같이 표현할 수 있습니다.
[u11u12u130u22u2300u33]{x1x2x3}={d1d2d3}
즉, 아래의 형태로 표현할 수 있습니다.
[U]{x}−{d}=0
이번엔 대각요소가 모두 1인 하삼각행렬을 아래와 같이 나타내어 봅시다.
[L]=[100l2110l31l321]
식 (5)를 식 (4)의 앞에 곱했을 때 식 (2)가 된다고 가정하면
[L]{[U]{x}−{d}}=[A]{x}−{b}
즉, 아래와 같은 성질을 유도할 수 있습니다.
[L][U]=[A]
[L]{d}={b}
그런데 사실 행렬 [U]는 Gauss elimination에서 전진소거로 구할 수 있고
[L] 또한 그 과정에서 계산되기 때문에
우리는 Gauss elimination과 LU decomposition을 따로 생각할 필요가 없습니다.
[L]을 구하기 위해 Gauss elimination을 다시 살펴보죠.
[a11a12a13a21a22a23a31a32a33]{x1x2x3}={b1b2b3}
Gauss elimination을 위해선 식 (4)에서 첫번째 행에 아래 인자를 각각 곱해서
두번째 행과 세번째 행의 a21, a31을 각각 소거하여야 합니다.
l21=a21a11
l31=a31a11
그리고 a21이 소거된 두번째 행에 아래 인자를 곱하여 세번째 행의 a′32를 소거하여야 합니다.
l32=a′32a′22
Gauss elimination에 대한 자세한 내용은 아래 포스트를 참고하세요.
[수치해석] Gaussian elimination(가우스 소거법)
이번 포스팅에서는 선형대수방정식의 해를 구하는 방법 중 하나인 Gaussian elimination(가우스 소거법)에 대해 알아보겠습니다. Gaussian elimination(가우스 소거법)이란? 가우스 소거법은 전진소거법을
study2give.tistory.com
소거를 마치면 행렬 [A]는 아래와 같이 표현되며,
[a11a12a13l21a′22a′23l31l32a″33]
아래와 같은 관계를 만족합니다.
[L][U]=[A]
이 때,
[L]=[a11a12a130a′22a′2300a″33]
[U]=[100l2110l31l321]
입니다.
여기까지 LU 분해법에 대해 알아보았습니다.
'공학 > 수치해석' 카테고리의 다른 글
[수치해석] 유한차분법(Finite Difference Method) (2) | 2021.09.02 |
---|---|
[수치해석] 가우스-자이델(Gauss-Seidel) 법 (6) | 2021.07.30 |
[수치해석] Gaussian elimination(가우스 소거법) (0) | 2021.07.28 |
[수치해석] Cramer's rule (크래머 공식) (0) | 2021.07.27 |
[수치해석] 사다리꼴 공식(trapezoidal rule) (2) | 2021.04.15 |