Matrix decomposition

From Wikipedia, the free encyclopedia
  (Redirected from Matrix factorization)
Jump to: navigation, search

In the mathematical discipline of linear algebra, a matrix decomposition or matrix factorization is a factorization of a matrix into a product of matrices. There are many different matrix decompositions; each finds use among a particular class of problems.


In numerical analysis, different decompositions are used to implement efficient matrix algorithms.

For instance, when solving a system of linear equations Ax=b, the matrix A can be decomposed via the LU decomposition. The LU decomposition factorizes a matrix into a lower triangular matrix L and an upper triangular matrix U. The systems L(Ux)=b and Ux=L^{-1}b require fewer additions and multiplications to solve, compared with the original system Ax=b, though one might require significantly more digits in inexact arithmetic such as floating point.

Similarly, the QR decomposition expresses A as QR with Q an orthogonal matrix and R an upper triangular matrix. The system Q(Rx) = b is solved by Rx = QTb = c, and the system Rx = c is solved by 'back substitution'. The number of additions and multiplications required is about twice that of using the LU solver, but no more digits are required in inexact arithmetic because the QR decomposition is numerically stable.

Decompositions related to solving systems of linear equations[edit]

LU decomposition[edit]

Main article: LU decomposition

LU reduction[edit]

Main article: LU reduction

Block LU decomposition[edit]

Rank factorization[edit]

Main article: Rank factorization

Cholesky decomposition[edit]

  • Applicable to: square, symmetric, positive definite matrix A
  • Decomposition: A=U^TU, where U is upper triangular with positive diagonal entries
  • Comment: the Cholesky decomposition is unique
  • Comment: the Cholesky decomposition is also applicable for complex hermitian positive definite matrices
  • Comment: An alternative is the LDL decomposition, which can avoid extracting square roots.

QR decomposition[edit]

Main article: QR decomposition
  • Applicable to: m-by-n matrix A
  • Decomposition: A=QR where Q is an orthogonal matrix of size m-by-m, and R is an upper triangular matrix of size m-by-n
  • Comment: The QR decomposition provides an alternative way of solving the system of equations Ax=b without inverting the matrix A. The fact that Q is orthogonal means that Q^TQ=I, so that Ax=b is equivalent to Rx=Q^Tb, which is easier to solve since R is triangular.

RRQR factorization[edit]

Main article: RRQR factorization

Interpolative decomposition[edit]

Decompositions based on eigenvalues and related concepts[edit]


  • Also called spectral decomposition
  • Applicable to: square matrix A with distinct eigenvectors (not necessarily distinct eigenvalues).
  • Decomposition: A=VDV^{-1}, where D is a diagonal matrix formed from the eigenvalues of A, and the columns of V are the corresponding eigenvectors of A.
  • Existence: An n-by-n matrix A always has n eigenvalues, which can be ordered (in more than one way) to form an n-by-n diagonal matrix D and a corresponding matrix of nonzero columns V that satisfies the eigenvalue equation AV=VD. If the n eigenvectors (not necessarily eigenvalues) are distinct (that is, none is equal to any of the others), then V is invertible, implying the decomposition A=VDV^{-1}.[2]
  • Comment: One can always normalize the eigenvectors to have length one (see definition of the eigenvalue equation). If A is real-symmetric, V is always invertible and can be made to have normalized columns. Then the equation VV^T=I holds, because each eigenvector is orthogonal to the other. Therefore the decomposition (which always exists if A is real-symmetric) reads as: A=VDV^T
  • Comment: The condition of having n distinct eigenvalues is sufficient but not necessary. The necessary and sufficient condition is for each eigenvalue to have geometric multiplicity equal to its algebraic multiplicity.
  • Comment: The eigendecomposition is useful for understanding the solution of a system of linear ordinary differential equations or linear difference equations. For example, the difference equation x_{t+1}=Ax_t starting from the initial condition x_0=c is solved by x_t = A^tc, which is equivalent to x_t = VD^tV^{-1}c, where V and D are the matrices formed from the eigenvectors and eigenvalues of A. Since D is diagonal, raising it to power D^t, just involves raising each element on the diagonal to the power t. This is much easier to do and to understand than raising A to power t, since A is usually not diagonal.

Jordan decomposition[edit]

The Jordan normal form and the Jordan–Chevalley decomposition

  • Applicable to: square matrix A
  • Comment: the Jordan normal form generalizes the eigendecomposition to cases where there are repeated eigenvalues and cannot be diagonalized, the Jordan–Chevalley decomposition does this without choosing a basis.

Schur decomposition[edit]

Main article: Schur decomposition
  • Applicable to: square matrix A
  • Comment: there are two versions of this decomposition: the complex Schur decomposition and the real Schur decomposition. A complex matrix always has a complex Schur decomposition.
  • Decomposition (complex version): A=UTU^H, where U is a unitary matrix, U^H is the conjugate transpose of U, and T is an upper triangular matrix called the complex Schur form which has the eigenvalues of A along its diagonal.
  • Decomposition (real version): A=VSV^T, where A, V, S and V^T are matrices that contain real numbers only. In this case, V is an orthogonal matrix, V^T is the transpose of V, and S is a block upper triangular matrix called the real Schur form. The blocks on the diagonal of S are of size 1×1 (in which case they represent real eigenvalues) or 2×2 (in which case they are derived from complex conjugate eigenvalue pairs).

QZ decomposition[edit]

Main article: QZ decomposition
  • Also called: generalized Schur decomposition
  • Applicable to: square matrices A and B
  • Comment: there are two versions of this decomposition: complex and real.
  • Decomposition (complex version): A=QSZ^H and B=QTZ^H where Q and Z are unitary matrices, the H superscript represents conjugate transpose, and S and T are upper triangular matrices.
  • Comment: in the complex QZ decomposition, the ratios of the diagonal elements of S to the corresponding diagonal elements of T, \lambda_i = S_{ii}/T_{ii}, are the generalized eigenvalues that solve the generalized eigenvalue problem Av=\lambda Bv (where \lambda is an unknown scalar and v is an unknown nonzero vector).
  • Decomposition (real version): A=QSZ^T and B=QTZ^T where A, B, Q, Z, S, and T are matrices containing real numbers only. In this case Q and Z are orthogonal matrices, the T superscript represents transposition, and S and T are block upper triangular matrices. The blocks on the diagonal of S and T are of size 1×1 or 2×2.

Takagi's factorization[edit]

  • Applicable to: square, complex, symmetric matrix A.
  • Decomposition: A=VDV^T, where D is a real nonnegative diagonal matrix, and V is unitary. V^T denotes the matrix transpose of V.
  • Comment: The diagonal elements of D are the nonnegative square roots of the eigenvalues of AA^H.
  • Comment: V may be complex even if A is real.
  • Comment: This is not a special case of the eigendecomposition (see above).

Singular value decomposition[edit]

  • Applicable to: m-by-n matrix A.
  • Decomposition: A=UDV^H, where D is a nonnegative diagonal matrix, and U and V are unitary matrices, and V^H denotes the conjugate transpose of V (or simply the transpose, if V contains real numbers only).
  • Comment: The diagonal elements of D are called the singular values of A.
  • Comment: Like the eigendecomposition below, the singular value decomposition involves finding basis directions along which matrix multiplication is equivalent to scalar multiplication, but it has greater generality since the matrix under consideration need not be square.

Other decompositions[edit]

Polar decomposition[edit]

Main article: Polar decomposition

Algebraic polar decomposition[edit]

  • Applicable to: square, complex, non-singular matrix A.[3]
  • Decomposition: A=QS, where Q is a complex orthogonal matrix and S is complex symmetric matrix.
  • Comment: The existence of this decomposition is equivalent to AA^{T} being similar to A^{T}A. [4]

Sinkhorn normal form[edit]

Main article: Sinkhorn's theorem
  • Applicable to: square real matrix A with strictly positive elements.
  • Decomposition: A=D_{1}SD_{2}, where S is doubly stochastic and D1 and D2 are real diagonal matrices with strictly positive elements.

Sectoral decomposition[5][edit]

  • Applicable to: square, complex matrix A with numerical range contained in the sector S_{\alpha}=\{r e^{i \theta} \in \mathbb{C} \mid r> 0, |\theta| \le \alpha \}.
  • Decomposition: A=CZC^{H}, where C is an invertible complex matrix and Z = diag(e^{i\theta_1},\ldots,e^{i\theta_n}) with all |\theta_{j}| \le \alpha .[5][6]


There exist analogues of the SVD, QR, LU and Cholesky factorizations for quasimatrices and cmatrices or continuous matrices.[7] A ‘quasimatrix’ is, like a matrix, a rectangular scheme whose elements are indexed, but one discrete index is replaced by a continuous index. Likewise, a ‘cmatrix’, is continuous in both indices. As an example of a cmatrix, one can think of the kernel of an integral operator.

These factorizations are based on early work by Fredholm (1903), Hilbert (1904) and Schmidt (1907). For an account, and a translation to English of the seminal papers, see Stewart (2011).

See also[edit]


  1. ^ Simon & Blume 1994 Chapter 7.
  2. ^ Meyer 2000, p. 514
  3. ^ Choudhury & Horn 1987, pp. 219-225
  4. ^ Horn & merino 1995, pp. 43-92
  5. ^ a b Zhang, Fuzhen (30 June 2014). "A matrix decomposition and its applications". Linear and Multilinear Algebra: 1–10. doi:10.1080/03081087.2014.933219. 
  6. ^ Drury, S.W. (November 2013). "Fischer determinantal inequalities and Highamʼs Conjecture". Linear Algebra and its Applications 439 (10): 3129–3133. doi:10.1016/j.laa.2013.08.031. 
  7. ^ Townsend & Trefethen 2015


External links[edit]