SVD 계산의 주요 원인은 QR 알고리즘 입니다. 일반 x N 행렬 A 의 특이 값 분해를 계산하는 많은 다른 알고리즘이 있다고 말했다 . 여기서 사용할 수있는 문제 (Intel 's MKL 문서) 에 대한 훌륭한 개요 는 다음과 같습니다.MNA
유스 케이스에 따라 다른 접근 방식이 있습니다 (일반적인 명명 규칙은 여기 에서 찾을 수 있습니다 ). 예를 들어, 가계도 감소 가 기븐스 회전 보다 더 비쌀 수있는 매트릭스 형태가 있기 때문입니다 (QR을 얻는 두 가지 "명백한"방법). 이 문제에 대한 표준 참조는 Golub 's와 Van Loan 's Matrix Computations입니다 (적어도 3 판을 사용하는 것이 좋습니다). 나는 또한 Å를 발견했다. Björck의 최소 제곱에 대한 수치 적 방법 문제에 대한 훌륭한 자료. SVD는이 책의 주요 초점이 아니지만 사용을 맥락화하는 데 도움이됩니다.
나는 당신에게 제공해야하는 경우 한 문제의 IS에 대한 일반적인 조언을 자신의 SVD 알고리즘을 작성하려고하지를 성공적으로 이미 수치 선형 대수에 두 개의 클래스를 촬영하지 않는 한 당신은 당신이 무엇을하고 있는지 알고있다. 나는 반 직관적 인 것처럼 들리지만 실제로 잘못 될 수있는 톤이 많고 (최고의) 최적이 아닌 구현으로 끝납니다 (잘못되지 않은 경우). 이 문제에 대해 아주 좋은 무료 스위트가 있습니다 (예 : Eigen , Armadillo 및 Trilinos ).