행렬 분해
행렬 분해(行列分解, 영어: 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.
기본 개념 | ||
---|---|---|
벡터 대수 | ||
다중선형대수학 | ||
행렬 | ||
대수적 구성 | ||
수치선형대수학 | ||
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.