QR decomposition

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 a right triangular matrix. The QR decomposition is often used to solve the linear least squares problem. The QR decomposition is also the basis for a particular eigenvalue algorithm, the QR algorithm.

Definition

A QR decomposition of a real square matrix "A" is a decomposition of "A" as: A = QR, , where "Q" is an orthogonal matrix (meaning that "Q"T"Q" = "I" ) and "R" is an upper triangular 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 m×n matrix (with "m" ≥ "n") as the product of an m×m unitary matrix and an m× n upper triangular matrix. An alternative definition is decomposing a complex m×n matrix (with "m" ≥ "n") as the product of an m×n matrix with orthogonal columns and an n× n upper triangular matrix; (-1, 3, -2)^T, and then:Q_1 = I - {2 over sqrt{14} sqrt{14 egin{pmatrix} -1 \ 3 \ -2 end{pmatrix}egin{pmatrix} -1 & 3 & -2 end{pmatrix}: = I - {1 over 7}egin{pmatrix}1 & -3 & 2 \-3 & 9 & -6 \2 & -6 & 4 end{pmatrix}: = egin{pmatrix}6/7 & 3/7 & -2/7 \3/7 &-2/7 & 6/7 \-2/7 & 6/7 & 3/7 \end{pmatrix}.

Now observe::Q_1A = egin{pmatrix}14 & 21 & -14 \0 & -49 & -14 \0 & 168 & -77 end{pmatrix},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:A' = M_{11} = egin{pmatrix}-49 & -14 \168 & -77 end{pmatrix}.By the same method as above, we obtain the matrix of the Householder transformation:Q_2 = egin{pmatrix}1 & 0 & 0 \0 & -7/25 & 24/25 \0 & 24/25 & 7/25 end{pmatrix}after performing a direct sum with 1 to make sure the next step in the process works properly.

Now, we find:Q=Q_1 Q_2=egin{pmatrix}6/7 & -69/175 & 58/175\3/7 & 158/175 & -6/175 \-2/7 & 6/35 & 33/35end{pmatrix} :R=Q_2Q_1A=Q^T A=egin{pmatrix}14 & 21 & -14 \0 & 175 & -70 \0 & 0 & -35end{pmatrix}.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 rotations. 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 : A = egin{pmatrix}12 & -51 & 4 \6 & 167 & -68 \-4 & 24 & -41 end{pmatrix}.

First, we need to form a rotation matrix that will zero the lowermost left element, mathbf{a}_{31} = -4. We form this matrix using the Givens rotation method, and call the matrix G_1. We will first rotate the vector (6,-4), to point along the "X" axis. This vector has an angle heta = arctan({-4 over 6}). We create the orthogonal Givens rotation matrix, G_1:

:G_1 = egin{pmatrix}1 & 0 & 0 \0 & cos( heta) & sin( heta) \0 & -sin( heta) & cos( heta)end{pmatrix}:approx egin{pmatrix}1 & 0 & 0 \0 & 0.83205 & -0.55470 \0 & 0.55470 & 0.83205end{pmatrix}

And the result of G_1A now has a zero in the mathbf{a}_{31} element.:G_1A approx egin{pmatrix}12 & -51 & 4 \7.21110 & 125.6396 & -33.83671 \0 & 112.6041 & -71.83368end{pmatrix}

We can similarly form Givens matrices G_2 and G_3, which will zero the sub-diagonal elements a_{21} and a_{32}, forming a triangular matrix R. The orthogonal matrix Q^T is formed from the concatenation of all the Givens matrices Q^T = G_3G_2G_1. Thus, we have G_3G_2G_1A= Q^TA = R, and the "QR" decomposition is A = QR.

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 A=QR. Then we have:det(A)=det(Q)cdotdet(R).Since "Q" is unitary, |det(Q)|=1. Thus, :|det(A)|=|det(R)|=Big|prod_{i} r_{ii}Big|,where r_{ii} are the entries on the diagonal of "R".

Furthermore, because the determinant equals the product of the eigenvalues, we have :Big|prod_{i} r_{ii}Big|=Big|prod_{i} lambda_{i}Big|,where lambda_{i} are eigenvalues of A.

We can extend the above properties to non-square complex matrix A 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"::A = Q egin{pmatrix}R\Oend{pmatrix}, qquad Q^*Q = I,where O is a zero matrix and Q is an unitary matrix.

From the properties of SVD and determinant of matrix, we have:Big|prod_{i} r_{ii}Big| = prod_{i} sigma_{i},where sigma_{i} are singular values of A.

Note that the singular values of A and R are identical, although the complex eigenvalues of them may be different.However, if "A" is square, it holds that:{prod_{i} sigma_{i = Big|{prod_{i} lambda_{iBig|.

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.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Decomposition en valeurs singulieres — Décomposition en valeurs singulières En mathématiques, le procédé d algèbre linéaire de décomposition en valeurs singulières (ou SVD, de l anglais : Singular Value Decomposition) d une matrice est un outil important de factorisation des… …   Wikipédia en Français

  • Décomposition En Valeurs Singulières — En mathématiques, le procédé d algèbre linéaire de décomposition en valeurs singulières (ou SVD, de l anglais : Singular Value Decomposition) d une matrice est un outil important de factorisation des matrices rectangulaires réelles ou… …   Wikipédia en Français

  • décomposition — [ dekɔ̃pozisjɔ̃ ] n. f. • 1694; de décomposer, d apr. composition 1 ♦ Séparation (d un corps, d une substance) en ses éléments. ⇒ division, séparation. Décomposition chimique. Décomposition de la lumière par le prisme. Math. Décomposition d une… …   Encyclopédie Universelle

  • Decomposition (disambiguation) — Decomposition may refer to the following: Decomposition, biological process through which organic material is reduced Chemical decomposition or analysis, in chemistry, is the fragmentation of a chemical compound into elements or smaller compounds …   Wikipedia

  • Decomposition (computer science) — Decomposition in computer science, also known as factoring, refers to the process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program, and maintain. Contents 1 Overview 2 Decomposition… …   Wikipedia

  • Decomposition (homonymie) — Décomposition (homonymie) Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Décomposition (Homonymie) — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Décomposition (mathématiques) — Décomposition (homonymie) Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Decomposition LU — Décomposition LU En algèbre linéaire, la décomposition LU est une méthode de décomposition d une matrice en une matrice triangulaire inférieure L (comme Low , bas) et une matrice triangulaire supérieure U (comme Up , haut). Cette décomposition… …   Wikipédia en Français

  • Decomposition des ideaux premiers dans les extensions galoisiennes — Décomposition des idéaux premiers dans les extensions galoisiennes En mathématiques, l interaction entre le groupe de Galois d une extension galoisienne de corps de nombres (ou de corps de nombres p adiques, ou de corps de fonctions), et la… …   Wikipédia en Français

  • Décomposition Des Idéaux Premiers Dans Les Extensions Galoisiennes — En mathématiques, l interaction entre le groupe de Galois d une extension galoisienne de corps de nombres (ou de corps de nombres p adiques, ou de corps de fonctions), et la manière dont les idéaux premiers de l anneau des entiers algébriques …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”