La routine QR di LAPACK memorizza Q come riflettori Householder. Ridimensiona il vettore di riflessione con , quindi il primo elemento del risultato diventa , quindi non deve essere memorizzato. E memorizza un vettore separato , che contiene i fattori di scala necessari. Quindi una matrice di riflettori è così:
dove non è normalizzato. Mentre, nei libri di testo, la matrice del riflettore è
dove è normalizzato.
Perché LAPACK scala con , invece di normalizzarlo?
(Il motivo della mia domanda è che sto scrivendo una routine QR e SVD e mi piacerebbe conoscere il motivo di questa decisione, sia che debba seguirla o meno)