Abstract: 
QR decomposition is an algorithm to decompose a real matrix A into the product of two other matrices Q and R, where Q is orthogonal and R is invertible and upper triangular. The algorithm is useful for the least squares problem; i.e., the computation of the best approximation of an unsolvable system of linear equations. As a sideproduct, the GramSchmidt process has also been formalized. A refinement using immutable arrays is presented as well. The development relies, among others, on the AFP entry "Implementing field extensions of the form Q[sqrt(b)]" by René Thiemann, which allows execution of the algorithm using symbolic computations. Verified code can be generated and executed using floats as well. 
BibTeX: 
@article{QR_DecompositionAFP,
author = {Jose Divasón and Jesús Aransay},
title = {QR Decomposition},
journal = {Archive of Formal Proofs},
month = feb,
year = 2015,
note = {\url{http://isaafp.org/entries/QR_Decomposition.html},
Formal proof development},
ISSN = {2150914x},
}
