LU 분해는 주어진 행렬을 아래의 형태를 가지는 두 행렬의 곱으로 나누는 행렬분해
A=LU
∣∣∣∣∣∣∣∗∗∗∗∗∗∗∗∗∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∗∗∗0∗∗00∗∣∣∣∣∣∣∣∣∣∣∣∣∣∣∗00∗∗0∗∗∗∣∣∣∣∣∣∣
L : lower triangular matrix(하삼각행렬)
U : upper triangular matrix(상삼각행렬)
LU 분해를 이용해 Ax=b 문제를 간단히 해결할 수 있다.
Ax=b→(LU)x=b→L(Ux)=b→Ly=b,(Ux=y)
먼저 전방대치법(Forward Substitution)으로 y를 구한다.
Ly=b
∣∣∣∣∣∣∣∗∗∗0∗∗00∗∣∣∣∣∣∣∣∣∣∣∣∣∣∣y1y2y3∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∗∗∗∣∣∣∣∣∣∣
후방대치법(Back Substitution)으로 x를 구한다.
Ly=b
∣∣∣∣∣∣∣∗00∗∗0∗∗∗∣∣∣∣∣∣∣∣∣∣∣∣∣∣x1x2x3∣∣∣∣∣∣∣=∣∣∣∣∣∣∣y1y2y3∣∣∣∣∣∣∣
LU분해의 장점
Ax=b에서 역행렬 A−1를 이용해 직접 구하는 것보다 LU 분해를 이용하는 것이 컴퓨터에서 수치적으로 안정적이다.
b가 자주 업데이트되는 경우, LU 분해하면 해를 실시간으로 구할 수 있다.