행렬 분해
비슷한 이름의 행렬 분리에 관해서는 해당 문서를 참고하십시오.
비슷한 이름의 행렬 분할에 관해서는 해당 문서를 참고하십시오.
행렬 분해(行列分解, 영어: 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 분해가 수치적으로 안정하므로 부동 소수점과 같은 연산에서 더 이상 부수적인 데이터가 필요하지는 않게된다.
선형 방정식과 관련한 분해
편집고윳값에 근거한 분해
편집다른 분해 방법들
편집같이 보기
편집각주
편집- Bluebit Software
- (매스월드)Wolfram Alpha Matrix Decomposition Computation » LU and QR Decomposition
- (springer.com ,European Mathematical Society Archived 2018년 11월 10일 - 웨이백 머신)
- Springer Encyclopaedia of Mathematics » Matrix factorization
- (GraphLab)collaborative filtering library, large scale parallel implementation of matrix decomposition methods (in C++) for multicore.
이 글은 대수학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |