2013-03-18 14 views
1

QR 분해가 Math.NET Numerics에서 어떻게 구현됩니까?Math.NET에서 QR 분해 Numerics

Gram-Schimdt 또는 Givens 회전인가요? Gram-Schimdt로 구현 한 느낌이 들지만 확실하지 않습니다. 구현을 찾을 수 없습니다.

Gram-Schimdt로 QR 분해가 기븐스 회전과 다른 결과입니까?

행렬에 대해 Givens 회전을 사용하여 QR 분해를 생성 한 다음 MathNet.Numerics.LinearAlgebra.Generic.Factorization.QRMethod을 사용하여 QR 분해를 생성했습니다 (Gram-Schimdt를 구현한다고 생각합니다). 결과는 약간 다릅니다. 숫자 사이의 차이는 약 1E-16 (그다지 크지 않습니다)이고 일부 행은 반대 기호 (* -1)입니다 (실제 문제입니다. MathNet.Numerics가 다른 QR 알고리즘을 구현하기 때문에 이러한 현상이 발생한다고 생각합니다).

Givens 회전을 사용하여 QR 분해를 수행하는 라이브러리를 제안 할 수 있습니까?

답변

0

documentation에 따르면, Householder reflections을 사용하여 구현된다 :

는 QR 분해의 계산은 세대주 변환하여 시공 시간 에서 수행된다.

다른 방법을 사용하면 작은 수치 차이 또는 음수 행을 사용하여 대답을 얻을 수 있습니다. 자세한 내용은 Wikipedia article을 참조하십시오.