Skip to main content

Schur Decomposition Calculator

Calculate schur decomposition instantly with our math tool. Shows detailed work, formulas used, and multiple solution methods.

Skip to calculator
Mathematics

Schur Decomposition Calculator

Compute the Schur decomposition of 2x2 matrices. Find eigenvalues, unitary matrix Q, upper triangular matrix T, and analyze matrix properties.

Last updated: December 2025Reviewed by NovaCalculator Mathematics Team

Calculator

Adjust values & calculate
Eigenvalues
5, 2
Real eigenvalues
Trace
7
Determinant
10
Orthogonal Matrix Q
0.7071
-0.7071
0.7071
0.7071
Upper Triangular Matrix T
5
-1
0
2
Spectral Radius
5
Frobenius Norm
5.4772
Discriminant
9
Matrix Properties
SymmetricNo
NormalNo
Your Result
Eigenvalues: 5, 2 | Spectral Radius: 5
Share Your Result
Understand the Math

Formula

A = Q * T * Q^T

Where A is the original matrix, Q is an orthogonal (unitary) matrix, T is upper triangular with eigenvalues on its diagonal, and Q^T is the transpose of Q. For real matrices with complex eigenvalues, the real Schur form uses a quasi-upper-triangular T with 2x2 blocks.

Last reviewed: December 2025

Worked Examples

Example 1: 2x2 Real Eigenvalue Schur Decomposition

Find the Schur decomposition of A = [[4, 1], [2, 3]].
Solution:
Eigenvalues: trace = 7, det = 10, discriminant = 49 - 40 = 9 lambda1 = (7 + 3)/2 = 5, lambda2 = (7 - 3)/2 = 2 Eigenvector for lambda1=5: (5-3, 2) = (2, 2), normalized: (1/sqrt2, 1/sqrt2) Q = [[1/sqrt2, -1/sqrt2], [1/sqrt2, 1/sqrt2]] T = Q^T * A * Q = [[5, -1], [0, 2]]
Result: Eigenvalues: 5, 2 | T is upper triangular | Spectral radius: 5

Example 2: 2x2 Complex Eigenvalue Case

Find the Schur decomposition of A = [[0, -1], [1, 0]] (rotation matrix).
Solution:
Eigenvalues: trace = 0, det = 1, discriminant = 0 - 4 = -4 lambda = 0 +/- i (complex conjugate pair) Real Schur form: T is a 2x2 block [[0, -1], [1, 0]] (already in real Schur form) Q = identity matrix (A is already in quasi-triangular form) Spectral radius = 1
Result: Eigenvalues: 0+i, 0-i | Real Schur form = A itself | Spectral radius: 1
Expert Insights

Background & Theory

The Schur Decomposition Calculator applies the following established principles and formulas. Mathematics rests on a hierarchy of number systems, each extending the previous. The natural numbers (1, 2, 3, ...) support counting and ordering. The integers add negative values and zero, enabling subtraction without restriction. The rational numbers, expressible as p/q where p and q are integers and q is nonzero, close the system under division. The real numbers fill the gaps left by irrationals such as the square root of 2 or pi, forming a complete ordered field. The complex numbers, written as a + bi where i is the square root of negative one, complete the algebraic closure of the reals and allow every polynomial to have a root. Prime factorization states that every integer greater than one is uniquely expressible as a product of primes, a result known as the Fundamental Theorem of Arithmetic. Computing the greatest common divisor (GCD) of two integers relies most efficiently on the Euclidean algorithm: repeatedly replace the larger number with the remainder when it is divided by the smaller, until the remainder is zero. The last nonzero remainder is the GCD. The least common multiple (LCM) follows from the identity LCM(a, b) = |a * b| / GCD(a, b). Modular arithmetic defines equivalence classes of integers that share the same remainder under division by a modulus n. Fermat's Little Theorem and Euler's Theorem arise from this structure and underpin modern cryptography. Logarithms are the inverses of exponential functions. If b raised to the power x equals y, then the logarithm base b of y equals x. The natural logarithm uses base e, approximately 2.71828. Combinatorics counts arrangements and selections. The number of ordered arrangements (permutations) of r objects from n distinct objects is nPr = n! / (n - r)!. The number of unordered selections (combinations) is nCr = n! / (r! * (n - r)!). Pascal's triangle arranges these binomial coefficients so that each entry equals the sum of the two entries directly above it. The Fibonacci sequence, defined by F(1) = 1, F(2) = 1, and F(n) = F(n-1) + F(n-2), appears throughout nature and connects deeply to the golden ratio via Binet's formula.

History

The history behind the Schur Decomposition Calculator traces back through the following developments. Mathematics as a systematic discipline traces to ancient Mesopotamia. Babylonian clay tablets dating to around 1800 BCE demonstrate knowledge of quadratic equations, Pythagorean triples, and base-60 arithmetic, suggesting a practical mathematical tradition far preceding Greek formalism. Euclid of Alexandria compiled the Elements around 300 BCE, establishing the axiomatic method that would define rigorous mathematics for over two thousand years. His work organized plane geometry, number theory, and proportion into logically chained propositions derived from a small set of postulates. The algorithm bearing his name for computing GCDs appears in Book VII and remains in use today. In the 9th century, the Persian scholar Muhammad ibn Musa Al-Khwarizmi wrote Al-Kitab al-mukhtasar fi hisab al-jabr wal-muqabala, the treatise whose title gave algebra its name. He systematized the solution of linear and quadratic equations and described procedures that operated on unknowns as objects, a conceptual leap away from purely numerical calculation. Rene Descartes introduced coordinate geometry in 1637 by uniting algebra and Euclidean geometry, allowing curves to be studied through equations. This synthesis set the stage for calculus. Isaac Newton and Gottfried Wilhelm Leibniz independently developed calculus during the 1660s and 1670s, triggering a priority dispute that lasted decades and divided British and Continental mathematicians. Carl Friedrich Gauss proved the Fundamental Theorem of Algebra in 1799, showing that every nonconstant polynomial has at least one complex root. His Disquisitiones Arithmeticae of 1801 established modern number theory. David Hilbert's formalist program at the turn of the 20th century sought to place all of mathematics on an explicit axiomatic foundation, a project that Kurt Godel's incompleteness theorems of 1931 showed to be fundamentally limited. Alan Turing's work in the 1930s on computability introduced the theoretical model of the stored-program computer and linked mathematical logic directly to the limits of algorithmic calculation. His proof that no algorithm can decide in general whether an arbitrary program will halt or run forever placed fundamental boundaries on what mathematics can mechanically determine, and it opened the discipline now known as theoretical computer science.

Share this calculator

Explore More

Frequently Asked Questions

The Schur decomposition factors any square matrix A into the product Q * T * Q-conjugate-transpose, where Q is a unitary (or orthogonal for real matrices) matrix and T is an upper triangular matrix. The diagonal entries of T are the eigenvalues of A. This decomposition always exists for any square matrix, unlike eigendecomposition which requires a full set of linearly independent eigenvectors. The Schur form is computationally stable and is the basis for most practical eigenvalue algorithms. It reveals the eigenvalues without requiring explicit eigenvector computation, making it a fundamental tool in numerical linear algebra.
Eigendecomposition writes A = P * D * P-inverse where D is diagonal with eigenvalues, but it only works when A has n linearly independent eigenvectors (is diagonalizable). Many matrices, like defective matrices with repeated eigenvalues, cannot be eigendecomposed. Schur decomposition always exists for any square matrix. The tradeoff is that T is upper triangular rather than diagonal, so the off-diagonal entries are generally non-zero. For normal matrices (where A commutes with its conjugate transpose), the Schur form T is actually diagonal, making the Schur decomposition equivalent to eigendecomposition.
When working with real matrices that have complex eigenvalues, the real Schur form avoids complex arithmetic by using a quasi-upper-triangular matrix. Instead of complex diagonal entries, pairs of complex conjugate eigenvalues appear as 2x2 blocks on the diagonal. Each 2x2 block has the form [[a, b], [-c, a]] representing eigenvalues a plus or minus sqrt(bc) times i. The orthogonal matrix Q and the quasi-triangular T are both real. This real Schur form is preferred in numerical computations because it avoids the overhead and potential instability of complex floating-point arithmetic while still capturing all eigenvalue information.
The QR algorithm is the standard iterative method for computing the Schur decomposition. It repeatedly factors the matrix as A = QR (QR decomposition) and then forms the next iterate as RQ. Under suitable conditions, this sequence converges to the upper triangular Schur form T, and the accumulated product of the Q matrices gives the unitary factor. In practice, the matrix is first reduced to upper Hessenberg form (which preserves eigenvalues) to speed up each QR step. With shifts (using the Wilkinson or Francis shift strategies), convergence is typically cubic, making the algorithm both reliable and efficient.
Schur decomposition is widely used in control theory for analyzing stability of dynamical systems, since the eigenvalues on the diagonal of T determine system behavior. It is used to compute matrix functions like the matrix exponential, logarithm, and square root by applying the scalar function to the triangular factor. In solving Sylvester and Lyapunov equations, both matrices are first Schur-decomposed to reduce the problem to triangular form. Signal processing uses it for subspace-based methods like MUSIC and ESPRIT. It also appears in multivariate statistics for principal component analysis and canonical correlation analysis.
To verify, compute Q * T * Q-conjugate-transpose and check that it equals the original matrix A (up to numerical precision). Also verify that Q is unitary by checking that Q-conjugate-transpose times Q equals the identity matrix. The diagonal elements of T should match the eigenvalues of A. For real Schur form, check that T is quasi-upper-triangular with at most 2x2 blocks on the diagonal. The Frobenius norm of the residual (A minus Q*T*Q-transpose) should be close to machine epsilon times the norm of A. These checks are standard in numerical software testing.
Educational Note: This calculator is provided for educational and informational purposes. Results are based on the formulas and inputs provided. Always verify important calculations independently. NovaCalculator processes calculator inputs client-side; optional analytics follow visitor consent settings.Reviewed by: NovaCalculator Mathematics Team โ€” Verified against standard mathematical and scientific references. Last reviewed: December 2025. ยฉ 2024โ€“2026 NovaCalculator.

Share this calculator

Formula

A = Q * T * Q^T

Where A is the original matrix, Q is an orthogonal (unitary) matrix, T is upper triangular with eigenvalues on its diagonal, and Q^T is the transpose of Q. For real matrices with complex eigenvalues, the real Schur form uses a quasi-upper-triangular T with 2x2 blocks.

Worked Examples

Example 1: 2x2 Real Eigenvalue Schur Decomposition

Problem: Find the Schur decomposition of A = [[4, 1], [2, 3]].

Solution: Eigenvalues: trace = 7, det = 10, discriminant = 49 - 40 = 9\nlambda1 = (7 + 3)/2 = 5, lambda2 = (7 - 3)/2 = 2\nEigenvector for lambda1=5: (5-3, 2) = (2, 2), normalized: (1/sqrt2, 1/sqrt2)\nQ = [[1/sqrt2, -1/sqrt2], [1/sqrt2, 1/sqrt2]]\nT = Q^T * A * Q = [[5, -1], [0, 2]]

Result: Eigenvalues: 5, 2 | T is upper triangular | Spectral radius: 5

Example 2: 2x2 Complex Eigenvalue Case

Problem: Find the Schur decomposition of A = [[0, -1], [1, 0]] (rotation matrix).

Solution: Eigenvalues: trace = 0, det = 1, discriminant = 0 - 4 = -4\nlambda = 0 +/- i (complex conjugate pair)\nReal Schur form: T is a 2x2 block [[0, -1], [1, 0]] (already in real Schur form)\nQ = identity matrix (A is already in quasi-triangular form)\nSpectral radius = 1

Result: Eigenvalues: 0+i, 0-i | Real Schur form = A itself | Spectral radius: 1

Frequently Asked Questions

What is the Schur decomposition of a matrix?

The Schur decomposition factors any square matrix A into the product Q * T * Q-conjugate-transpose, where Q is a unitary (or orthogonal for real matrices) matrix and T is an upper triangular matrix. The diagonal entries of T are the eigenvalues of A. This decomposition always exists for any square matrix, unlike eigendecomposition which requires a full set of linearly independent eigenvectors. The Schur form is computationally stable and is the basis for most practical eigenvalue algorithms. It reveals the eigenvalues without requiring explicit eigenvector computation, making it a fundamental tool in numerical linear algebra.

How does Schur decomposition differ from eigendecomposition?

Eigendecomposition writes A = P * D * P-inverse where D is diagonal with eigenvalues, but it only works when A has n linearly independent eigenvectors (is diagonalizable). Many matrices, like defective matrices with repeated eigenvalues, cannot be eigendecomposed. Schur decomposition always exists for any square matrix. The tradeoff is that T is upper triangular rather than diagonal, so the off-diagonal entries are generally non-zero. For normal matrices (where A commutes with its conjugate transpose), the Schur form T is actually diagonal, making the Schur decomposition equivalent to eigendecomposition.

What is the real Schur form?

When working with real matrices that have complex eigenvalues, the real Schur form avoids complex arithmetic by using a quasi-upper-triangular matrix. Instead of complex diagonal entries, pairs of complex conjugate eigenvalues appear as 2x2 blocks on the diagonal. Each 2x2 block has the form [[a, b], [-c, a]] representing eigenvalues a plus or minus sqrt(bc) times i. The orthogonal matrix Q and the quasi-triangular T are both real. This real Schur form is preferred in numerical computations because it avoids the overhead and potential instability of complex floating-point arithmetic while still capturing all eigenvalue information.

What is the QR algorithm and how does it compute Schur decomposition?

The QR algorithm is the standard iterative method for computing the Schur decomposition. It repeatedly factors the matrix as A = QR (QR decomposition) and then forms the next iterate as RQ. Under suitable conditions, this sequence converges to the upper triangular Schur form T, and the accumulated product of the Q matrices gives the unitary factor. In practice, the matrix is first reduced to upper Hessenberg form (which preserves eigenvalues) to speed up each QR step. With shifts (using the Wilkinson or Francis shift strategies), convergence is typically cubic, making the algorithm both reliable and efficient.

What are the applications of Schur decomposition?

Schur decomposition is widely used in control theory for analyzing stability of dynamical systems, since the eigenvalues on the diagonal of T determine system behavior. It is used to compute matrix functions like the matrix exponential, logarithm, and square root by applying the scalar function to the triangular factor. In solving Sylvester and Lyapunov equations, both matrices are first Schur-decomposed to reduce the problem to triangular form. Signal processing uses it for subspace-based methods like MUSIC and ESPRIT. It also appears in multivariate statistics for principal component analysis and canonical correlation analysis.

How do you verify a Schur decomposition is correct?

To verify, compute Q * T * Q-conjugate-transpose and check that it equals the original matrix A (up to numerical precision). Also verify that Q is unitary by checking that Q-conjugate-transpose times Q equals the identity matrix. The diagonal elements of T should match the eigenvalues of A. For real Schur form, check that T is quasi-upper-triangular with at most 2x2 blocks on the diagonal. The Frobenius norm of the residual (A minus Q*T*Q-transpose) should be close to machine epsilon times the norm of A. These checks are standard in numerical software testing.

References

Reviewed by Manoj Kumar, Mathematics Educator ยท Editorial policy