위키득계정 ↗
과학

촐레스키 분해

촐레스키 분해과학
영문명
Cholesky decomposition
실수 입력 조건
대칭 양의 정부호
하삼각 표현
A = LLᵀ
상삼각 표현
A = RᵀR
촐레스키 분해는 실수 대칭 양의 정부호 행렬을 삼각행렬과 그 전치의 곱으로 나타내는 행렬 분해다. 복소수 에르미트 양의 정부호 행렬에서는 켤레전치를 사용한다. 이 구조를 이용하면 선형 연립방정식을 두 삼각계로 나누어 풀 수 있다.

곱의 순서를 구분한다

하삼각행렬 L을 쓰면 A = LLᵀ이고 상삼각행렬 R을 쓰면 A = RᵀR이다. 같은 분해를 표현할 때 R = Lᵀ로 둘 수 있다. 삼각행렬이라는 말만 보고 곱의 순서를 바꾸면 다른 행렬이 나올 수 있다.

두 행 두 열의 계산 예

A의 두 행을 (9,3), (3,5)라고 하자. 하삼각행렬 L의 두 행을 (3,0), (1,2)로 두면 LLᵀ의 성분은 9, 3, 3, 1+4다. 따라서 원래 A가 재현된다. 대각 성분만 제곱근으로 바꾸는 연산이 아니라 비대각 성분도 함께 결정한다.

삼각계를 차례로 푼다

Ax = (12,8)을 풀 때 먼저 Ly = (12,8)을 풀면 y = (4,2)다. 다음으로 Lᵀx = (4,2)를 풀면 두 번째 성분은 1이고 첫 번째 성분도 1이다. 결과 x = (1,1)을 A에 곱하면 (12,8)로 확인할 수 있다.

대각 성분이 양수여도 충분하지 않다

두 행이 (1,2), (2,1)인 대칭행렬은 대각 원소가 모두 양수다. 하지만 벡터 v = (1,-1)에 대해 vᵀAv = -2이므로 양의 정부호가 아니다. 기본 촐레스키 분해를 모든 대칭행렬에 적용할 수는 없다. 입력 조건과 계산 실패 신호, 반올림 오차를 확인한다.

관련 문서

행렬 / LU 분해 / QR 분해 / 정규방정식 / 최소제곱법 / 역행렬 / 가우스 소거법 / 부동 소수점