yields the eigenvalue decomposition of the diagonalizable square matrix a.


EigenvalueDecomposition
yields the eigenvalue decomposition of the diagonalizable square matrix a.
Details

- EigenvalueDecomposition is also known as eigendecomposition.
- EigenvalueDecomposition is typically used to analyze and solve systems of linear differential equations or linear difference equations.
- EigenvalueDecomposition decomposes a diagonalizable matrix into a canonical form, in terms of its eigenvalues and eigenvectors. »
- A square matrix is diagonalizable if it has as many linearly independent eigenvectors as rows. »
- A square matrix of dimension n having n distinct eigenvalues is always diagonalizable.
- EigenvalueDecomposition[a] gives a pair of matrices {s,d}, where d is a diagonal matrix whose diagonal elements
belong to Eigenvalues[a] and s is a similarity matrix with s=Transpose[Eigenvectors[a]] and
. »
- EigenvalueDecomposition does not exist for all square matrices. However, JordanDecomposition, FrobeniusDecomposition and SchurDecomposition always do. The first two give block diagonal matrices, and the last triangular matrices.
- The following options can be used:
-
Cubics False whether to use radicals to solve cubics Method Automatic select a method to use Quartics False whether to use radicals to solve quartics ZeroTest Automatic test for when expressions are zero Tolerance Automatic tolerance to use for numeric matrices - EigenvalueDecomposition works by calling Eigensystem. When an eigenvalue decomposition exists, the diagonal matrix and the transformation matrix are ordered the same as from the result of Eigensystem.
- When the input is a numeric matrix of finite precision, the Tolerance setting is used in a post-processing step to decide whether the eigenvectors are linearly dependent.
- The ZeroTest option only applies to exact and symbolic matrices.
Examples
open all close allBasic Examples (5)
Compute the eigenvalue decomposition of a two-dimensional matrix:
The result is two matrices, the second of which is diagonal:
Set t and d to be the transformation matrix and diagonal matrix, respectively:
Verify that m, t and d satisfy the identity:
The eigenvalue decomposition of a three-dimensional matrix:
Compute a decomposition at machine precision:
Scope (11)
Basic Uses (6)
Machine-precision eigenvalue decomposition:
Approximate 18-digit-precision eigenvalue decomposition:
Compute a decomposition of a complex matrix:
Check the result in machine arithmetic:
A real, exact eigendecomposition:
A complex, exact eigendecomposition:
Eigenvalue decomposition of a symbolic matrix:
The eigenvalue decomposition of large numerical matrices is computed efficiently:
Special Matrices (5)
Eigenvalue decomposition of sparse matrices:
Eigendecompositions of structured matrices:
The units of a QuantityArray object in the diagonal matrix, leaving the transformation matrix dimensionless:
IdentityMatrix[n] has a trivial eigendecomposition, up to the ordering of the eigenvectors:
Eigenvectors of HilbertMatrix:
If the matrix is first numericized, the matrix (but not the
matrix) changes significantly:
This is because the eigenvectors are normalized for numeric input:
Eigenvalue decomposition of a CenteredInterval matrix:
Check that the relation gives small intervals containing zero for all components:
Options (3)
Cubics (1)
Tolerance (1)
A matrix with a repeated eigenvalue that does not have a full set of eigenvectors:
At machine precision and automatic tolerance, this does not have an eigenvalue decomposition:

Add random noise to the matrix:
At default tolerance, this will give an eigenvalue decomposition:
Set a tolerance somewhat lower than the level of the added noise:

Applications (14)
The Geometry of EigenvalueDecomposition (3)
In {t,v}=EigenvalueDecomposition[m], the columns of t are eigenvectors of m:
This means the columns of m.t will equal the columns of t multiplied by the corresponding eigenvectors:
Let v1 and v2 be the eigenvectors
Eigenvectors with positive eigenvalues point in the same direction when acted on by the matrix:
Eigenvectors with negative eigenvalues point in the opposite direction when acted on by the matrix:
Consider the following matrix and its associated quadratic form
:
The eigenvectors are the axes of the hyperbolas defined by :
The sign of the eigenvalue corresponds to the sign of the right-hand side of the hyperbola equation:
Here is a positive-definite quadratic form in three dimensions:
Get the symmetric matrix for the quadratic form, using CoefficientArrays:
Numerically compute its eigendecomposition:
Show the principal axes of the ellipsoid:
Consider now the quadratic form defined by d:
It has level sets of the same dimensions as q:
However, the level sets are rotated to align with the coordinate axes:
Diagonalization (4)
Diagonalize the following matrix as :
This is given directly by EigenvalueDecomposition[m]:
Any function of the matrix can now be computed as . For example, MatrixPower:
Similarly, MatrixExp becomes trivial, requiring only exponentiating the diagonal elements of :
Let be the linear transformation whose standard matrix is given by the matrix
. Find a basis
for
with the property that the representation of
in that basis
is diagonal:
Compute the eigenvalue decomposition of :
Let consist of the columns of
:
converts from
-coordinates to standard coordinates, and its inverse converts in the reverse direction:
Thus is given by
, which is diagonal:
Note that this is simply the matrix :
A real-valued symmetric matrix is orthogonally diagonalizable as , with
diagonal and real valued and
orthogonal. Verify that the following matrix is symmetric and then diagonalize it:
Compute the eigenvalue decomposition, which directly gives :
To ensure an orthogonal transformation matrix, it is necessary to normalize the columns in :
A matrix is called normal if . Normal matrices are the most general kind of matrix that can be diagonalized by a unitary transformation. All real symmetric matrices
are normal because both sides of the equality are simply
:
Show that the following matrix is normal, then diagonalize it:
Confirm using NormalMatrixQ:
Unlike a real symmetric matrix, the diagonal matrix for this matrix is complex valued:
Differential Equations and Dynamical Systems (4)
Produce the general solution of the dynamical system when
is the following stochastic matrix:
The general solution is then , where
is an arbitrary starting point:
Note that since is diagonal, elementwise powers and MatrixPower are the same operation:
Verify that satisfies the dynamical equation up to numerical rounding:
Solve the system of ODEs ,
,
. First, construct the coefficient matrix
for the right-hand side:
Let be the matrix where the diagonal elements of
are multiplied by
and exponentiated:
The general solution is , for three arbitrary starting values:
Verify the solution using DSolveValue:
Suppose a particle is moving in a planar force field and its position vector satisfies
and
, where
and
are as follows. Solve this initial problem for
:
First, compute the eigenvalues and corresponding eigenvectors of :
The general solution is . Use LinearSolve to determine the coefficient vector
:
Construct the appropriate linear combination of the eigenvectors:
Note that can be computed by exponentiating the diagonal elements of
:
Verify the solution using DSolveValue:
Find the Jacobian for the right-hand side of the equations:
Find the eigendecomposition of the Jacobian at the equilibrium point in the first octant:
A function that integrates backward from a small perturbation of pt in the direction dir:
Show the stable curve for the equilibrium point on the right:
Find the stable curve for the equilibrium point on the left:
Show the stable curves along with a solution of the Lorenz equations:
Physics (3)
In quantum mechanics, states are represented by complex unit vectors and physical quantities by Hermitian linear operators. The eigenvalues represent possible observations and the squared modulus of the components with respect to eigenvectors the probabilities of those observations. For the spin operator and state
given, find the possible observations and their probabilities:
Computing the eigendecomposition, the possible observations are :
Normalize the eigenvectors in order to compute a proper rotation matrix:
The adjoint of projects onto the eigenvectors, giving relative probabilities of
for
and
for
:
In quantum mechanics, the energy operator is called the Hamiltonian , and a state evolves according to the Schrödinger equation
. Given the Hamiltonian for a spin-1 particle in constant magnetic field in the
direction, find the state at time
of a particle that is initially in the state
representing
:
Computing the eigensystem, the energy levels are and
:
As , the state at time
is given by:
The moment of inertia is a real symmetric matrix that describes the resistance of a rigid body to rotating in different directions. The eigenvalues of this matrix are called the principal moments of inertia, and the corresponding eigenvectors (which are necessarily orthogonal) the principal axes. Find the principal moments of inertia and principal axes for the following tetrahedron:
First compute the moment of inertia:
Compute the principal moments and axes:
Verify that the axes are orthogonal:
Properties & Relations (13)
EigenvalueDecomposition decomposes a matrix as
:
Equally, the decomposition diagonalizes as
:
This can be expressed without an inverse—avoiding a potentially expensive computation—as :
EigenvalueDecomposition[m] is effectively equivalent to {Transpose[Eigenvectors[m]],DiagonalMatrix[Eigenvalues[m]]}:
EigenvalueDecomposition[m] can be constructed from Eigensystem[m] using Transpose and DiagonalMatrix:
EigenvalueDecomposition[m] exists if and only if DiagonalizableMatrixQ[m] yields True:
The matrix d has an eigenvalue decomposition:
The matrix nd is not diagonalizable:
Therefore, it does not have an eigenvalue decomposition:

While it has the same eigenvalues as d, the matrix does not have a complete set of eigenvectors:
EigenvalueDecomposition[m] exists if and only if m's Jordan matrix is diagonal:

The Jordan matrix of nd has a 1 above the diagonal:
When the decomposition exists, it agrees with JordanDecomposition:
As expected, the Jordan matrix is diagonal in this case:
For an invertible matrix ,
and
have reciprocal entries in the
matrix:
Because eigenvalues are sorted by absolute value, this gives the same values but in the opposite order:
The columns of the matrices are the same but in reverse order to match the eigenvalue ordering:
For an analytic function ,
has the same
matrix as
and diagonal matrix
, up to ordering:
For example, the has the same eigenvectors with squared eigenvalues:
Similarly, the eigenvalues of are
:
SingularValueDecomposition[m] is built from the eigenvalue decompositions of and
:
Compute the eigenvalue decomposition of :
Then is
up to phase in each column:
Compute the eigenvalue decomposition of :
Then is is
up to phase in each column:
Since has fewer rows than columns, the
is
(as opposed to
):
The eigenvalues of a real symmetric matrix are real, and its eigenvectors are orthogonal:
By inspection, the eigenvalues in the matrix are real:
Confirm the eigenvectors—the columns of —are orthogonal to each other:
The eigenvalues of a real antisymmetric matrix are imaginary, and its eigenvectors are orthogonal:
By inspection, the eigenvalues in the matrix are imaginary:
Confirm the eigenvectors—the columns of —are orthogonal to each other:
The eigenvalues of a unitary matrix lie on the unit circle, and its eigenvectors are orthogonal:
Compute the eigendecomposition:
Confirm that the eigenvalues lie on the unit circle:
Confirm the eigenvectors—the columns of —are orthogonal to each other:
The eigenvectors of any normal matrix are orthogonal:
The eigenvalues in the matrix can be arbitrary:
But the eigenvectors—the columns of —are orthogonal:
Schur decomposition {q,r} and eigendecomposition {t,d} essentially coincide for a normal matrix:
Compute SchurDecomposition[n,RealBlockDiagonalFormFalse]:
The option ensures the right triangular matrix r will be diagonal:
equals
up to ordering, and
equals
up to ordering and phase:
For this particular matrix, the ordering is the same:
To verify the equality of and
, set the first entry of each column to 1. to eliminate phase differences:
Possible Issues (1)
Any normal matrix is unitarily diagonalizable, but the returned by EigenvalueDecomposition may not be unitary:
The issue is that the columns may not each be normalized. Normalize each column in :
Related Guides
History
Text
Wolfram Research (2025), EigenvalueDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/EigenvalueDecomposition.html.
CMS
Wolfram Language. 2025. "EigenvalueDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/EigenvalueDecomposition.html.
APA
Wolfram Language. (2025). EigenvalueDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/EigenvalueDecomposition.html
BibTeX
@misc{reference.wolfram_2025_eigenvaluedecomposition, author="Wolfram Research", title="{EigenvalueDecomposition}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/EigenvalueDecomposition.html}", note=[Accessed: 04-August-2025]}
BibLaTeX
@online{reference.wolfram_2025_eigenvaluedecomposition, organization={Wolfram Research}, title={EigenvalueDecomposition}, year={2025}, url={https://reference.wolfram.com/language/ref/EigenvalueDecomposition.html}, note=[Accessed: 04-August-2025]}