La routine QR de LAPACK stocke Q en tant que réflecteurs domestiques. Il met à l'échelle le vecteur de réflexion avec , de sorte que le premier élément du résultat devient , il n'a donc pas besoin d'être stocké. Et il stocke un vecteur séparé , qui contient les facteurs d'échelle nécessaires. Donc, une matrice de réflecteur est comme ceci:
où n'est pas normalisé. Alors que, dans les manuels, la matrice du réflecteur est
où est normalisé.
Pourquoi LAPACK met-il à l'échelle avec , au lieu de le normaliser?
(La raison de ma question est que j'écris une routine QR et SVD, et j'aimerais connaître la raison de cette décision, si je dois la suivre ou non)