= Solution
For an efficient <QR algorithm>, first reduce a general real <matrix> to <upper Hessenberg matrix> by <orthogonal> similarities. For a real <symmetric matrix>, use <Householder tridiagonalization>; the resulting symmetric <tridiagonal matrix> is the usual input in this setting. These structures are preserved by suitable <QR algorithm> implementations and greatly reduce the work per iteration.
The output is the <eigenvalues>, together with an <orthogonal> reduction when the factors are accumulated. In the symmetric case the target is a diagonal <matrix>, whose diagonal entries are the real <eigenvalues>; the accumulated orthogonal columns are <eigenvectors>. For a general real <matrix>, the target is the real form in a <Schur decomposition>: an upper block triangular <matrix> with diagonal blocks of size one or two. The two-by-two blocks represent complex conjugate <eigenvalue> pairs. An arbitrary unshifted iteration need not converge, so these describe the intended converged output, with appropriate shifts and <block deflation in the QR algorithm>.
Back to article page