Schur decomposition

In the mathematical discipline of linear algebra, the Schur decomposition or Schur triangulation, named after Issai Schur, is a matrix decomposition. It allows one to write an arbitrary complex square matrix as unitarily equivalent to an upper triangular matrix whose diagonal elements are the eigenvalues of the original matrix.
Statement.
The Schur decomposition reads as follows: if "A" is a square matrix with complex entries, then "A" can be expressed as
where "Q" is a unitary matrix (so that its inverse "Q"−1 is also the conjugate transpose "Q"* of "Q"), and "U" is an upper triangular matrix, which is called a Schur form of "A". Since "U" is similar to "A", it has the same spectrum, and since it is triangular, its eigenvalues are the diagonal entries of "U".
The Schur decomposition implies that there exists a nested sequence of "A"-invariant subspaces , and that there exists an ordered orthonormal basis (for the standard Hermitian form of ) such that the first "i" basis vectors span for each "i" occurring in the nested sequence. Phrased somewhat differently, the first part says that a linear operator "J" on a complex finite-dimensional vector space stabilizes a complete flag .
Proof.
A constructive proof for the Schur decomposition is as follows: every operator "A" on a complex finite-dimensional vector space has an eigenvalue "λ", corresponding to some eigenspace "Vλ". Let "Vλ"⊥ be its orthogonal complement. It is clear that, with respect to this orthogonal decomposition, "A" has matrix representation (one can pick here any orthonormal bases "Z1" and "Z2" spanning "Vλ" and "Vλ"⊥ respectively)
where "Iλ" is the identity operator on "Vλ". The above matrix would be upper-triangular except for the "A"22 block. But exactly the same procedure can be applied to the sub-matrix "A"22, viewed as an operator on "Vλ"⊥, and its submatrices. Continue this way until the resulting matrix is upper triangular. Since each conjugation increases the dimension of the upper-triangular block by at least one, this process takes at most "n" steps. Thus the space C"n" will be exhausted and the procedure has yielded the desired result.
The above argument can be slightly restated as follows: let "λ" be an eigenvalue of "A", corresponding to some eigenspace "Vλ". "A" induces an operator "T" on the quotient space C"n"/"Vλ". This operator is precisely the "A"22 submatrix from above. As before, "T" would have an eigenspace, say "Wμ" ⊂ C"n" modulo "Vλ". Notice the preimage of "Wμ" under the quotient map is an invariant subspace of "A" that contains "Vλ". Continue this way until the resulting quotient space has dimension 0. Then the successive preimages of the eigenspaces found at each step form a flag that "A" stabilizes.
Notes.
Although every square matrix has a Schur decomposition, in general this decomposition is not unique. For example, the eigenspace "Vλ" can have dimension > 1, in which case any orthonormal basis for "Vλ" would lead to the desired result.
Write the triangular matrix "U" as "U" = "D" + "N", where "D" is diagonal and "N" is strictly upper triangular (and thus a nilpotent matrix). The diagonal matrix "D" contains the eigenvalues of "A" in arbitrary order (hence its Frobenius norm, squared, is the sum of the squared moduli of the eigenvalues of "A", while 
the Frobenius norm of "A", squared, is the sum of the squared singular values of "A"). The nilpotent part "N" is generally not unique either, but its Frobenius norm is uniquely determined by "A" (just because the Frobenius norm of A is equal to the Frobenius norm of "U" = "D" + "N").
It is clear that if "A" is a normal matrix, then "U" from its Schur decomposition must be a diagonal matrix and the column vectors of "Q" are the eigenvectors of "A". Therefore, the Schur decomposition extends the spectral decomposition. In particular, if "A" is positive definite, the Schur decomposition of "A", its spectral decomposition, and its singular value decomposition coincide.
A commuting family {"Ai"} of matrices can be simultaneously triangularized, i.e. there exists a unitary matrix "Q" such that, for every "Ai" in the given family, "Q Ai Q*" is upper triangular. This can be readily deduced from the above proof. Take element "A" from {"Ai"} and again consider an eigenspace "VA". Then "VA" is invariant under all matrices in {"Ai"}. Therefore, all matrices in {"Ai"} must share one common eigenvector in "VA". Induction then proves the claim. As a corollary, we have that every commuting family of normal matrices can be simultaneously diagonalized.
In the infinite dimensional setting, not every bounded operator on a Banach space has an invariant subspace. However, the upper-triangularization of an arbitrary square matrix does generalize to compact operators. Every compact operator on a complex Banach space has a nest of closed invariant subspaces.
Computation.
The Schur decomposition of a given matrix is numerically computed by the QR algorithm or its variants. In other words, the roots of the characteristic polynomial corresponding to the matrix are not necessarily computed ahead in order to obtain its Schur decomposition. Conversely, the QR algorithm can be used to compute the roots of any given characteristic polynomial by finding the Schur decomposition of its companion matrix. Similarly, the QR algorithm is used to compute the eigenvalues of any given matrix, which are the diagonal entries of the upper triangular matrix of the Schur decomposition. Although the QR algorithm is formally an infinite sequence of operations convergence to machine precision is practically achieved in formula_3 operations.
See the Nonsymmetric Eigenproblems section in LAPACK Users' Guide.
Applications.
Lie theory applications include:
Generalized Schur decomposition.
Given square matrices "A" and "B", the generalized Schur decomposition factorizes both matrices as formula_4 and formula_5, where "Q" and "Z" are unitary, and "S" and "T" are upper triangular. The generalized Schur decomposition is also sometimes called the QZ decomposition.
The generalized eigenvalues formula_6 that solve the generalized eigenvalue problem formula_7 (where x is an unknown nonzero vector) can be calculated as the ratio of the diagonal elements of "S" to those of "T". That is, using subscripts to denote matrix elements, the "i"th generalized eigenvalue formula_8 satisfies formula_9.