본문 바로가기
선형대수

선형대수 - LU분해의 개념과 LU분해 예제

by 프로그래밍하겠습니다 2025. 4. 12.
728x90
반응형

🎶 선형대수에서 임의의 행렬을 LU분해하는 방법에 대해 알아보자.

 

1. LU 곱으로 표현

일반적으로 두 행렬을 곱할 때 계산량이 매우 많으므로, 임의의 정사각행렬을 하삼각행렬과 상삼각행렬의 곱으로 표현할 수 있다면 계산량을 획기적으로 줄일 수 있다.

정사각행렬 A에 기본행연산을 반복 시행한 행렬이 상삼각행렬 U라면,

row_operation
[그림1] 기본행연산수행

(🎃 E는 기본행연산에 대응하는 기본행렬이다.)

 

로 표현할 수 있다. 따라서 다음이 성립한다. (🎃 기본행연산에 대응되는 행렬은 가역행렬임에 유의하자.)

inverse_row_operation
[그림2] 기본행연산의 역연산

 

여기서, 기본행연산의 역연산에 대응하는 기본행렬도 하삼각행렬이 되기 때문에 다음 하삼각행렬 L이 성립한다.

triangular_matrix
[그림3] 하삼각행렬

 

결국, 정사각행렬 A는 하삼각행렬 L과 상삼각행렬 U의 곱인 A = LU로 표현된다. 이를 행렬 'A의 LU분해(LU decomposition)' 라고 한다.

 

2. LU 분해 예시

다음 임의의 행렬 A를 생각해보자.

arbitary_matrix_A
[그림4] 임의의 행렬 A

 

기본행연산 2R1 + R3 -> R3 에 대응하는 기본행렬은, 

 

basic_matrix
[그림5] 기본행렬 1

 

기본행연산 16R2 + R3 -> R3 에 대응하는 기본행렬은, 

basic_matrix
[그림6] 기본행렬 2

 

따라서, 

triangular_matrix
[그림7] 상삼각행렬

 

여기서 기본행연산에 대응하는 기본행렬의 역연산을 수행하면,

LU_decomposition
[그림8] LU분해

 

위와 같이 임의의 정사각행렬 A를 LU분해할 수 있다.

728x90
반응형