Sunday, October 2, 2022
HomeMatlabWhat Is a Schur Decomposition? – Nick Higham

# What Is a Schur Decomposition? – Nick Higham

A Schur decomposition of a matrix $Ainmathbb{C}^{ntimes n}$ is a factorization $A = QTQ^*$, the place $Q$ is unitary and $T$ is higher triangular. The diagonal entries of $T$ are the eigenvalues of $A$, and they are often made to look in any order by selecting $Q$ appropriately. The columns of $Q$ are known as Schur vectors.

A subspace $mathcal{X}$ of $mathbb{C}^{ntimes n}$ is an invariant subspace of $A$ if $Axinmathcal{X}$ for all $xinmathcal{X}$. If we partition $Q$ and $T$ conformably we are able to write

$notag A [Q_1,~Q_2] = [Q_1,~Q_2] begin{bmatrix} T_{11} & T_{12} 0 & T_{22} end{bmatrix},$

which provides $A Q_1 = Q_1 T_{11}$, exhibiting that the columns of $Q_1$ span an invariant subspace of $A$. Moreover, $Q_1^*AQ_1 = T_{11}$. The primary column of $Q$ is an eigenvector of $A$ comparable to the eigenvalue $lambda_1 = t_{11}$, however the different columns usually are not eigenvectors, normally. Eigenvectors will be computed by fixing higher triangular methods involving $T - lambda I$, the place $lambda$ is an eigenvalue.

Write $T = D+N$, the place $D = mathrm{diag}(lambda_i)$ and $N$ is strictly higher triangular. Taking Frobenius norms provides $|A|_F^2 = |D|_F^2 + |N|_F^2$, or

$notag |N|_F^2 = |A|_F^2 - displaystylesum_{i=1}^n |lambda_i|^2.$

Therefore $|N|_F$ is impartial of the actual Schur decomposition and it supplies a measure of the departure from normality. The matrix $A$ is regular (that’s, $A^*A = AA^*$) if and provided that $N = 0$. So a standard matrix is unitarily diagonalizable: $A = QDQ^*$.

An necessary utility of the Schur decomposition is to compute matrix features. The relation $f(A) = Qf(T)Q^*$ reveals that computing $f(A)$ reduces to computing a perform of a triangular matrix. Matrix features illustrate what Van Mortgage (1975) describes as “probably the most fundamental tenets of numerical algebra”, particularly “something that the Jordan decomposition can do, the Schur decomposition can do higher!”. Certainly the Jordan canonical kind is constructed on a probably sick conditioned similarity transformation whereas the Schur decomposition employs a superbly conditioned unitary similarity, and the complete higher triangular issue of the Schur kind can do most of what the Jordan kind’s bidiagonal issue can do.

An higher quasi-triangular matrix is a block higher triangular matrix

$notag R = begin{bmatrix} R_{11} & R_{12} & dots & R_{1m} & R_{22} & dots & R_{2m} & & ddots& vdots & & & R_{mm} end{bmatrix}$

whose diagonal blocks $R_{ii}$ are both $1times1$ or $2times2$. An actual matrix $Ainmathbb{R}^{n times n}$ has a actual Schur decomposition $A = QRQ^T$ through which through which all of the elements are actual, $Q$ is orthogonal, and $R$ is higher quasi-triangular with any $2times2$ diagonal blocks having advanced conjugate eigenvalues. If $A$ is regular then the $2times 2$ blocks $R_{ii}$ have the shape

$R_{ii} = left[begin{array}{@{}rr@{mskip2mu}} a & b -b & a end{array}right], quad b ne 0,$

which has eigenvalues $a pm mathrm{i}b$.

The Schur decomposition will be computed by the QR algorithm at a value of about $25n^3$ flops for $Q$ and $T$, or $10n^3$ flops for $T$ solely.

In MATLAB, the Schur decomposition is computed with the `schur` perform: the command `[Q,T] = schur(A)` returns the true Schur kind if $A$ is actual and in any other case the advanced Schur kind. The advanced Schur kind for an actual matrix will be obtained with `[Q,T] = schur(A,'advanced')`. The `rsf2csf` perform converts the true Schur kind to the advanced Schur kind. The= `ordschur` perform takes a Schur decomposition and modifies it in order that the eigenvalues seem in a specified order alongside the diagonal of $T$.

RELATED ARTICLES