QR rutin LAPACK menyimpan Q sebagai reflektor rumah tangga. Ini skala vektor refleksi dengan , jadi elemen pertama hasilnya menjadi , sehingga tidak harus disimpan. Dan itu menyimpan vektor terpisah , yang berisi faktor skala yang diperlukan. Jadi matriks reflektor adalah seperti ini:
di mana tidak dinormalisasi. Sementara, dalam buku teks, matriks reflektor adalah
di mana dinormalisasi.
Mengapa LAPACK berskala dengan , alih-alih menormalkannya?
Penyimpanan yang dibutuhkan sama (bukan , harus disimpan), dan setelah itu, menerapkan dapat dilakukan lebih cepat, karena tidak perlu mengalikan dengan (perkalian dengan dalam versi buku teks dapat dioptimalkan, jika alih-alih normalisasi sederhana, diskalakan oleh ).
(Alasan pertanyaan saya adalah saya menulis rutin QR dan SVD, dan saya ingin tahu alasan keputusan ini, apakah saya perlu mengikutinya atau tidak)