Source: https://www-pequan.lip6.fr/~jmc/polycopies/cours6-QR.pdf