Procedura QR LAPACK przechowuje Q jako reflektory Householdera. Skaluje wektor odbicia pomocą , więc pierwszy element wyniku staje się , więc nie trzeba go przechowywać. I przechowuje osobny wektor , który zawiera potrzebne współczynniki skali. Zatem macierz reflektorów jest taka:
gdzie nie jest znormalizowane. Natomiast w podręcznikach matryca reflektorów jest
gdzie jest znormalizowane.
Dlaczego skala LAPACK z , zamiast normalizowania go?
Potrzebne miejsce jest takie samo (zamiast , należy zapisać ), a następnie zastosowanie można wykonać szybciej, ponieważ nie ma potrzeby mnożenia przez (mnożenie przez w wersji podręcznika można zoptymalizować, jeśli zamiast prostej normalizacji, jest skalowane przez ).
(Powodem mojego pytania jest to, że piszę procedurę QR i SVD i chciałbym poznać przyczynę tej decyzji, czy muszę ją przestrzegać, czy nie)