행렬 분해(行列分解, 영어: matrix decomposition)는 행렬을 특정한 구조를 가진 다른 행렬의 곱으로 나타내는 것을 의미한다. 행렬분해는 선형 방정식의 해를 구하거나, 행렬 계산을 효율적으로 하거나, 행렬의 특정 구조를 밝히는 등의 목적으로 사용된다.

응용 편집

수치 해석에서 효율적인 행렬 알고리즘(매트릭스 알고리즘)을 구현하기 위해 같은 대상의 행렬일지라도 상황에따른 각기 다른 분해가 사용된다.

예를 들어, 선형 연립 방정식  의 시스템을 풀 때 행렬 A는 LU 분해를 통해 분해 될 수 있다. LU 분해는 행렬을 하부 삼각 행렬 L 및 상부 삼각 행렬 U로 분해한다. 시스템   은 원래 시스템  와 비교할 때,[1] 더 적은 수의 덧셈과 곱셈을 필요로하지만 부동 소수점과 같은 부정확하고 복잡한 연산에서 훨씬 더 많은 자릿수의 데이터가 계산과정에서 요구될 수 있다.

한편, QR 분해는 Q를 직교 행렬로 해서, QR을 A로 표현하고, R은 상 삼각 행렬을 표현한다. 시스템 Q (Rx) = b는 Rx = QTb = c에 의해 해결되고 시스템 Rx = c는 후진대입(back substitution)에 의해 해결된다.[2] 필요한 추가 및 곱셈의 수는 LU 분해를 사용하는 것의 약 두 배이지만, QR 분해가 수치적으로 안정하므로 부동 소수점과 같은 연산에서 더 이상 부수적인 데이터가 필요하지는 않게된다.

선형 방정식과 관련한 분해 편집

고윳값에 근거한 분해 편집

다른 분해 방법들 편집

같이 보기 편집

참고 편집