common, and best known, of the factorizations
is the QR factorization
where R is an n-by-n upper triangular matrix and Q is an m-by-m orthogonal (or unitary) matrix. If A is of full rank n, then R is nonsingular. It is sometimes convenient to write the factorization as
which reduces to
where consists of the first n columns of Q, and the remaining m-n columns.
If m < n, R is trapezoidal, and the factorization can be written
where is upper triangular and is rectangular.
The routine PxGEQRF computes the QR factorization . The matrix Q is not formed explicitly, but is represented as a product of elementary reflectors, as described in section 3.4. Users need not be aware of the details of this representation, because associated routines are provided to work with Q: PxORGQR (or PxUNGQR in the complex case) can generate all or part of Q, while PxORMQR (or PxUNMQR) can pre- or post-multiply a given matrix by Q or ( if complex).
The QR factorization can be used to solve the linear least squares
problem (3.1) when and
A is of full rank, since
c can be computed by PxORMQR (or PxUNMQR ), and consists of its first n elements. Then x is the solution of the upper triangular system
which can be computed by PxTRTRS . The residual vector r is given by
and may be computed using PxORMQR (or PxUNMQR ). The residual sum of squares may be computed without forming r explicitly, since