- QR decomposition
In
linear algebra , the QR decomposition (also called the QR factorization) of a matrix is a decomposition of the matrix into an orthogonal and aright triangular matrix . The QR decomposition is often used to solve thelinear least squares problem. The QR decomposition is also the basis for a particulareigenvalue algorithm , theQR algorithm .Definition
A QR decomposition of a real square matrix "A" is a decomposition of "A" as: where "Q" is an
orthogonal matrix (meaning that "Q"T"Q" = "I" ) and "R" is an uppertriangular matrix (also called right triangular matrix). Analogously, we can define the QL, RQ, and LQ decompositions of A (with "L" being a lower triangular matrix in this case).More generally, we can factor a complex × matrix (with "m" ≥ "n") as the product of an ×
unitary matrix and an × upper triangular matrix. An alternative definition is decomposing a complex × matrix (with "m" ≥ "n") as the product of an × matrix with orthogonal columns and an × upper triangular matrix; (-1, 3, -2)^T, and then:::Now observe::so we already have almost a triangular matrix. We only need to zero the (3, 2) entry.
Take the (1, 1) minor, and then apply the process again to:By the same method as above, we obtain the matrix of the Householder transformation:after performing a direct sum with 1 to make sure the next step in the process works properly.
Now, we find::The matrix "Q" is orthogonal and "R" is upper triangular, so "A" = "QR" is the required QR-decomposition.
Using Givens rotations
"QR" decompositions can also be computed with a series of
Givens rotation s. Each rotation zeros an element in the subdiagonal of the matrix, forming the "R" matrix. The concatenation of all the Givens rotations forms the orthogonal "Q" matrix.In practice, Givens rotations are not actually performed by building a whole matrix and doing a matrix multiplication. A Givens rotation procedure is used instead which does the equivalent of the sparse Givens matrix multiplication, without the extra work of handling the sparse elements. The Givens rotation procedure is useful in situations where only a relatively few off diagonal elements need to be zeroed, and is more easily parallelized than Householder transformations.
Example
Let us calculate the decomposition of :
First, we need to form a rotation matrix that will zero the lowermost left element, . We form this matrix using the
Givens rotation method, and call the matrix . We will first rotate the vector , to point along the "X" axis. This vector has an angle . We create the orthogonal Givens rotation matrix, :::
And the result of now has a zero in the element.:
We can similarly form Givens matrices and , which will zero the sub-diagonal elements and , forming a triangular matrix . The orthogonal matrix is formed from the concatenation of all the Givens matrices . Thus, we have , and the "QR" decomposition is .
Connection to a determinant or a product of eigenvalues
We can use QR decomposition to find the absolute value of the
determinant of a square matrix. Suppose a matrix is decomposed as . Then we have:Since "Q" is unitary, . Thus, :where are the entries on the diagonal of "R".Furthermore, because the determinant equals the product of the eigenvalues, we have :where are eigenvalues of .
We can extend the above properties to non-square complex matrix by introducing the definition of QR-decomposition for non-square complex matrixand replacing eigenvalues with singular values.
Suppose a QR decomposition for a non-square matrix "A"::where is a zero matrix and is an unitary matrix.
From the properties of SVD and determinant of matrix, we have:where are singular values of .
Note that the singular values of and are identical, although the complex eigenvalues of them may be different.However, if "A" is square, it holds that:
In conclusion, QR decomposition can be used efficiently to calculate a product of eigenvalues or singular values of matrix.
ee also
*
Polar decomposition
*Eigenvalue decomposition
*Spectral decomposition
*Matrix decomposition References
*.
*. Section 2.8.
*.External links
* [http://www.bluebit.gr/matrix-calculator/ Online Matrix Calculator] Performs QR decomposition of matrices.
* [http://netlib.org/lapack/lug/node39.html LAPACK users manual] gives details of subroutines to calculate the QR decomposition
* [http://documents.wolfram.com/mathematica/functions/QRDecomposition Mathematica users manual] gives details and examples of routines to calculate QR decomposition
* [http://math.fullerton.edu/mathews/n2003/QRMethodMod.html Module for the QR Method]
* [http://www.alglib.net/ ALGLIB] includes a partial port of the LAPACK to C++, C#, Delphi, etc.
Wikimedia Foundation. 2010.