공학/수치해석

[수치해석] LU decomposition/factorization (LU 분해법)

슬기나무 2021. 7. 29. 22:08
반응형

이번 포스팅에서는 선형대수방정식을 풀기 위한 방법 중 하나인

 

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이 소거된 두번째 행에 아래 인자를 곱하여 세번째 행의 a32를 소거하여야 합니다.

 

l32=a32a22

 

Gauss elimination에 대한 자세한 내용은 아래 포스트를 참고하세요.

 

[수치해석] Gaussian elimination(가우스 소거법)

이번 포스팅에서는 선형대수방정식의 해를 구하는 방법 중 하나인 Gaussian elimination(가우스 소거법)에 대해 알아보겠습니다.  Gaussian elimination(가우스 소거법)이란? 가우스 소거법은 전진소거법을

study2give.tistory.com

소거를 마치면 행렬 [A]는 아래와 같이 표현되며,

 

[a11a12a13l21a22a23l31l32a33]

 

아래와 같은 관계를 만족합니다.

 

[L][U]=[A]

 

이 때,

 

[L]=[a11a12a130a22a2300a33]

[U]=[100l2110l31l321]

 

입니다.

 

 

여기까지 LU 분해법에 대해 알아보았습니다.

반응형