Eigensystem
✖
Eigensystem

gives a list {values,vectors} of the eigenvalues and eigenvectors of the square matrix m.
Details and Options



- Eigensystem finds numerical eigenvalues and eigenvectors if m contains approximate real or complex numbers.
- For approximate numerical matrices m, the eigenvectors are normalized. »
- For exact or symbolic matrices m, the eigenvectors are not normalized. »
- All the nonzero eigenvectors given are independent. If the number of eigenvectors is equal to the number of nonzero eigenvalues, then corresponding eigenvalues and eigenvectors are given in corresponding positions in their respective lists. The eigenvalues correspond to rows in the eigenvector matrix.
- If there are more eigenvalues than independent eigenvectors, then each extra eigenvalue is paired with a vector of zeros. »
- If they are numeric, eigenvalues are sorted in order of decreasing absolute value.
- The eigenvalues and eigenvectors satisfy the matrix equation m.Transpose[vectors]==Transpose[vectors].DiagonalMatrix[values]. »
- The generalized finite eigenvalues and eigenvectors satisfy m.Transpose[vectors]==a.Transpose[vectors].DiagonalMatrix[values]. »
- Ordinary eigenvalues are always finite; generalized eigenvalues can be infinite. Infinite generalized eigenvalues correspond to those
for which
. »
- When matrices m and a have a dimension‐
shared null space, then
of their generalized eigenvalues will be Indeterminate and will be paired with zero vectors in the generalized eigenvector list. »
- {vals,vecs}=Eigensystem[m] can be used to set vals and vecs to be the eigenvalues and eigenvectors, respectively. »
- For numeric eigenvalues, Eigensystem[m,k] gives the k eigenvalues that are largest in absolute value and corresponding eigenvectors.
- Eigensystem[m,-k] gives the k eigenvalues that are smallest in absolute value and corresponding eigenvectors.
- Eigensystem[m,spec] is equivalent to applying Take[…,spec] to each element of Eigensystem[m].
- Eigensystem[m,UpTo[k]] gives k eigenvalues and corresponding eigenvectors, or as many as are available.
- SparseArray objects and structured arrays can be used in Eigensystem.
- Eigensystem has the following options and settings:
-
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 - The ZeroTest option only applies to exact and symbolic matrices.
- Explicit Method settings for approximate numeric matrices include:
-
"Arnoldi" Arnoldi iterative method for finding a few eigenvalues "Banded" direct banded matrix solver for Hermitian matrices "Direct" direct method for finding all eigenvalues "FEAST" FEAST iterative method for finding eigenvalues in an interval (applies to Hermitian matrices only) - The "Arnoldi" method is also known as a Lanczos method when applied to symmetric or Hermitian matrices.
- The "Arnoldi" and "FEAST" methods take suboptions Method->{"name",opt1->val1,…}, which can be found in the Method subsection.
Examples
open allclose allBasic Examples (5)Summary of the most common use cases
Eigenvalues and eigenvectors computed with machine precision:

https://wolfram.com/xid/0b8db0tp1u-84c3h5

Eigenvalues and vectors of an arbitrary-precision matrix:

https://wolfram.com/xid/0b8db0tp1u-4nldhq


https://wolfram.com/xid/0b8db0tp1u-who9gg

Exact eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-pi1

Symbolic eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-ohs

Set vals and vecs to be the eigenvalues and eigenvectors, respectively:

https://wolfram.com/xid/0b8db0tp1u-c6x8pi

https://wolfram.com/xid/0b8db0tp1u-cve2


https://wolfram.com/xid/0b8db0tp1u-rvp5b

Scope (19)Survey of the scope of standard use cases
Basic Uses (6)
Find the eigensystem of a machine-precision matrix:

https://wolfram.com/xid/0b8db0tp1u-yelclc

Approximate 18-digit precision eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-7q6lcn

Eigensystem of a complex matrix:

https://wolfram.com/xid/0b8db0tp1u-zrmlpw


https://wolfram.com/xid/0b8db0tp1u-bdjkkw

The eigenvalues and eigenvectors of large numerical matrices are computed efficiently:

https://wolfram.com/xid/0b8db0tp1u-madl2m

https://wolfram.com/xid/0b8db0tp1u-0ipkhx

Eigensystem of a CenteredInterval matrix:

https://wolfram.com/xid/0b8db0tp1u-kzui0z


https://wolfram.com/xid/0b8db0tp1u-3yenu

Find an eigensystem for a random representative mrep of m:

https://wolfram.com/xid/0b8db0tp1u-kte9zj


https://wolfram.com/xid/0b8db0tp1u-chewj6

Verify that, after reordering and scaling of vectors, vals contain rvals and vecs contain rvecs:

https://wolfram.com/xid/0b8db0tp1u-fxghe1


https://wolfram.com/xid/0b8db0tp1u-chbxeq

Subsets of Eigenvalues (5)
Compute the three largest eigenvalues and their corresponding eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-l338d7
Visualize the three vectors, using the eigenvalue as a label:

https://wolfram.com/xid/0b8db0tp1u-6978yt

Eigensystem corresponding to the three smallest eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-6p6esk

Find the eigensystem corresponding to the four largest eigenvalues, or as many as there are if fewer:

https://wolfram.com/xid/0b8db0tp1u-tv3jc0

Repeated eigenvalues are considered when extracting a subset of the eigensystem:

https://wolfram.com/xid/0b8db0tp1u-lsl81w

https://wolfram.com/xid/0b8db0tp1u-y21ack


https://wolfram.com/xid/0b8db0tp1u-tdm7i1


https://wolfram.com/xid/0b8db0tp1u-81yr12

Zero vectors are used when there are more eigenvalues than independent eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-fo4c4d

Generalized Eigenvalues (4)
Compute machine-precision generalized eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-fb69gx

https://wolfram.com/xid/0b8db0tp1u-hu5y7f

https://wolfram.com/xid/0b8db0tp1u-dkndlg

Generalized exact eigensystem:

https://wolfram.com/xid/0b8db0tp1u-cj9v7a

https://wolfram.com/xid/0b8db0tp1u-uv6fxb

https://wolfram.com/xid/0b8db0tp1u-oorvy9

Compute the result at finite precision:

https://wolfram.com/xid/0b8db0tp1u-z50pmi

Compute a symbolic generalized eigensystem:

https://wolfram.com/xid/0b8db0tp1u-q2st6d

https://wolfram.com/xid/0b8db0tp1u-7cmepy

https://wolfram.com/xid/0b8db0tp1u-lxfyot

Find the two smallest generalized eigenvalues and corresponding generalized eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-p4hxbw

Special Matrices (4)
Eigensystems of sparse matrices:

https://wolfram.com/xid/0b8db0tp1u-jlwdfz


https://wolfram.com/xid/0b8db0tp1u-zy8cgx


https://wolfram.com/xid/0b8db0tp1u-kdyxe2


https://wolfram.com/xid/0b8db0tp1u-30cyz3

Eigensystems of structured matrices:

https://wolfram.com/xid/0b8db0tp1u-my2f5z


https://wolfram.com/xid/0b8db0tp1u-pthoj7


https://wolfram.com/xid/0b8db0tp1u-ebpduc

The units of a QuantityArray object are in the eigenvalues, leaving the eigenvectors dimensionless:

https://wolfram.com/xid/0b8db0tp1u-dhkxvx

The eigenvectors of IdentityMatrix form the standard basis for a vector space:

https://wolfram.com/xid/0b8db0tp1u-4x01lt

Eigenvectors of HilbertMatrix:

https://wolfram.com/xid/0b8db0tp1u-cujd42

If the matrix is first numericized, the eigenvectors (but not eigenvalues) change significantly:

https://wolfram.com/xid/0b8db0tp1u-c6qevj

Options (10)Common values & functionality for each option
Cubics (1)

https://wolfram.com/xid/0b8db0tp1u-ly890

In general, for exact 3×3 matrices the result will be given in terms of Root objects:

https://wolfram.com/xid/0b8db0tp1u-ji8zjc

To get the result in terms of radicals, use the Cubics option:

https://wolfram.com/xid/0b8db0tp1u-g4dgw4

Note that the result with Root objects is better suited to subsequent numerical evaluation:

https://wolfram.com/xid/0b8db0tp1u-con2se


https://wolfram.com/xid/0b8db0tp1u-iyl0qd

Method (8)
"Arnoldi" (5)
The Arnoldi method can be used for machine- and arbitrary-precision matrices. The implementation of the Arnoldi method is based on the "ARPACK" library. It is most useful for large sparse matrices.
The following suboptions can be specified for the method "Arnoldi":
"BasisSize" | the size of the Arnoldi basis | |
"Criteria" | which criteria to use | |
"MaxIterations" | the maximum number of iterations | |
"Shift" | the Arnoldi shift | |
"StartingVector" | the initial vector to start iterations | |
"Tolerance" | the tolerance used to terminate iterations |
Possible settings for "Criteria" include:
"Magnitude" | based on Abs | |
"RealPart" | based on Re | |
"ImaginaryPart" | based on Im | |
"BothEnds" | a few eigenvalues from both ends of the symmetric real matrix spectrum |
Compute the largest eigenpair using different "Criteria" settings. The matrix m has eigenvalues :

https://wolfram.com/xid/0b8db0tp1u-k3moig
By default, "Criteria"->"Magnitude" selects a largest-magnitude eigenpair:

https://wolfram.com/xid/0b8db0tp1u-bmmn04

Find the largest real-part eigenpair:

https://wolfram.com/xid/0b8db0tp1u-lfldny

Find the largest imaginary-part eigenpair:

https://wolfram.com/xid/0b8db0tp1u-btol5e

Find two eigenpairs from both ends of the symmetric matrix spectrum:

https://wolfram.com/xid/0b8db0tp1u-yt34wy

https://wolfram.com/xid/0b8db0tp1u-jvfvj0

Use "StartingVector" to avoid randomness:

https://wolfram.com/xid/0b8db0tp1u-hpjssd
Different starting vectors may converge to different eigenpairs:

https://wolfram.com/xid/0b8db0tp1u-kexmr


https://wolfram.com/xid/0b8db0tp1u-dkk3ut

Use "Shift"->μ to shift the eigenvalues by transforming the matrix to
. This preserves the eigenvectors but changes the eigenvalues by -μ. The method compensates for the changed eigenvalues. "Shift" is typically used to find eigenpairs when there are no criteria such as largest or smallest magnitude that can select them:

https://wolfram.com/xid/0b8db0tp1u-g4qua2

https://wolfram.com/xid/0b8db0tp1u-feao9
Manually shift the matrix and adjust the resulting eigenvalue:

https://wolfram.com/xid/0b8db0tp1u-i7drb


https://wolfram.com/xid/0b8db0tp1u-cygds2

Automatically shift and adjust the eigenvalue:

https://wolfram.com/xid/0b8db0tp1u-jruiik

"Banded" (1)
The banded method can be used for real symmetric or complex Hermitian machine-precision matrices. The method is most useful for finding all eigenpairs.
Compute the two largest eigenpairs for a banded matrix:

https://wolfram.com/xid/0b8db0tp1u-wscqas

https://wolfram.com/xid/0b8db0tp1u-2cfct


https://wolfram.com/xid/0b8db0tp1u-e75c5a


https://wolfram.com/xid/0b8db0tp1u-21cgd0

"FEAST" (2)
The FEAST method can be used for real symmetric or complex Hermitian machine-precision matrices. The method is most useful for finding eigenvalues in a given interval.
The following suboptions can be specified for the method "FEAST":
"ContourPoints" | select the number of contour points | |
"Interval" | an interval for finding eigenvalues | |
"MaxIterations" | the maximum number of refinement loops | |
"NumberOfRestarts" | the maximum number of restarts | |
"SubspaceSize" | the initial size of subspace | |
"Tolerance" | the tolerance to terminate refinement | |
"UseBandedSolver" | whether to use a banded solver |
Compute eigenpairs in the interval :

https://wolfram.com/xid/0b8db0tp1u-r92ce
Use "Interval" to specify the interval:

https://wolfram.com/xid/0b8db0tp1u-fuw0y9

The interval end points are not included in the interval FEAST finds eigenvalues in.

https://wolfram.com/xid/0b8db0tp1u-qd7lnj

Quartics (1)

https://wolfram.com/xid/0b8db0tp1u-kj6lus

In general, for a 4×4 matrix, the result will be given in terms of Root objects:

https://wolfram.com/xid/0b8db0tp1u-efugz2

You can get the result in terms of radicals using the Cubics and Quartics options:

https://wolfram.com/xid/0b8db0tp1u-b0ni6u

Applications (16)Sample problems that can be solved with this function
The Geometry of Eigensystem (3)
Eigenvectors with positive eigenvalues point in the same direction when acted on by the matrix:

https://wolfram.com/xid/0b8db0tp1u-fyuawl


https://wolfram.com/xid/0b8db0tp1u-bfjugm

Eigenvectors with negative eigenvalues point in the opposite direction when acted on by the matrix:

https://wolfram.com/xid/0b8db0tp1u-tqrrhy

Consider the following matrix and its associated quadratic form
:

https://wolfram.com/xid/0b8db0tp1u-pna4su

https://wolfram.com/xid/0b8db0tp1u-28jvsr

The eigenvectors are the axes of the hyperbolas defined by :

https://wolfram.com/xid/0b8db0tp1u-4j4jah

The sign of the eigenvalue corresponds to the sign of the right-hand side of the hyperbola equation:

https://wolfram.com/xid/0b8db0tp1u-48jx6a

Here is a positive-definite quadratic form in 3 dimensions:

https://wolfram.com/xid/0b8db0tp1u-4ifyy

https://wolfram.com/xid/0b8db0tp1u-fl8jqc

Get the symmetric matrix for the quadratic form, using CoefficientArrays:

https://wolfram.com/xid/0b8db0tp1u-he73l

Numerically compute its eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-yz7pa

Show the principal axes of the ellipsoid:

https://wolfram.com/xid/0b8db0tp1u-kz881q

Diagonalization (5)
Diagonalize the following matrix as . First, compute
's eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-vvom6e

https://wolfram.com/xid/0b8db0tp1u-mx4bj3

Construct a diagonal matrix from the eigenvalues and a matrix
whose columns are the eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-x8o7sh


https://wolfram.com/xid/0b8db0tp1u-3st5sx

Any function of the matrix can now be computed as . For example, MatrixPower:

https://wolfram.com/xid/0b8db0tp1u-eaox9p

Similarly, MatrixExp becomes trivial, requiring only exponentiating the diagonal elements of :

https://wolfram.com/xid/0b8db0tp1u-o1zndn


https://wolfram.com/xid/0b8db0tp1u-e3ab7t

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:

https://wolfram.com/xid/0b8db0tp1u-m0uhe1
Find the eigenvalues and eigenvectors of :

https://wolfram.com/xid/0b8db0tp1u-happ4v

Let consist of the eigenvectors, and let
be the matrix whose columns are the elements of
:

https://wolfram.com/xid/0b8db0tp1u-qh439t

converts from
-coordinates to standard coordinates. Its inverse converts in the reverse direction:

https://wolfram.com/xid/0b8db0tp1u-wl23vk

Thus is given by
, which is diagonal:

https://wolfram.com/xid/0b8db0tp1u-qknag4

Note that this is simply the diagonal matrix whose entries are the eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-dq22m9

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:

https://wolfram.com/xid/0b8db0tp1u-f7taoa


https://wolfram.com/xid/0b8db0tp1u-tcctdb

Compute the eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-ccktl0

The matrix has the eigenvalues on the diagonal:

https://wolfram.com/xid/0b8db0tp1u-dfmnfg

For an orthogonal matrix, it is necessary to normalize the eigenvectors before placing them in columns:

https://wolfram.com/xid/0b8db0tp1u-3qxvbq


https://wolfram.com/xid/0b8db0tp1u-uh3v2b

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
:

https://wolfram.com/xid/0b8db0tp1u-308r90

Show that the following matrix is normal, then diagonalize it:

https://wolfram.com/xid/0b8db0tp1u-1z1cmi


https://wolfram.com/xid/0b8db0tp1u-djw0no

Confirm using NormalMatrixQ:

https://wolfram.com/xid/0b8db0tp1u-bwszq4

Find the eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-4dicrg

Unlike a real symmetric matrix, the diagonal matrix is complex valued:

https://wolfram.com/xid/0b8db0tp1u-9o36nv

Normalizing the eigenvectors and putting them in columns gives a unitary matrix:

https://wolfram.com/xid/0b8db0tp1u-3e7oay


https://wolfram.com/xid/0b8db0tp1u-yo7dmh

The eigensystem of a nondiagonalizable matrix:

https://wolfram.com/xid/0b8db0tp1u-n5s60

The dimension of the span of all the eigenvectors is less than the number of eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-95p1q

Estimate the probability that a random 4×4 matrix of ones and zeros is not diagonalizable:

https://wolfram.com/xid/0b8db0tp1u-wp0xu

Differential Equations and Dynamical Systems (4)
Solve the system of ODEs ,
,
. First, construct the coefficient matrix
for the right-hand side:

https://wolfram.com/xid/0b8db0tp1u-pg4cx5
Find the eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-8onntg

Construct a diagonal matrix whose entries are the exponential of :

https://wolfram.com/xid/0b8db0tp1u-r7vslf

Construct the matrix whose columns are the corresponding eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-q8i130

The general solution is , for three arbitrary starting values:

https://wolfram.com/xid/0b8db0tp1u-gwkeld

Verify the solution using DSolveValue:

https://wolfram.com/xid/0b8db0tp1u-gwqjda

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
:

https://wolfram.com/xid/0b8db0tp1u-mibhtz

https://wolfram.com/xid/0b8db0tp1u-3s1c45
First, compute the eigenvalues and corresponding eigenvectors of :

https://wolfram.com/xid/0b8db0tp1u-iml319

The general solution of the system is . Use LinearSolve to determine the coefficients:

https://wolfram.com/xid/0b8db0tp1u-d3q0n5

Construct the appropriate linear combination of the eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-9bj0oa

Verify the solution using DSolveValue:

https://wolfram.com/xid/0b8db0tp1u-x59jyn

Produce the general solution of the dynamical system when
is the following stochastic matrix:

https://wolfram.com/xid/0b8db0tp1u-2upsby
Find the eigenvalues and eigenvectors, using Chop to discard small numerical errors:

https://wolfram.com/xid/0b8db0tp1u-0mrxk2

The general solution is an arbitrary linear combination of terms of the form :

https://wolfram.com/xid/0b8db0tp1u-luc5bv

Verify that satisfies the dynamical equation up to numerical rounding:

https://wolfram.com/xid/0b8db0tp1u-guwjyn


https://wolfram.com/xid/0b8db0tp1u-bclel7
Find the Jacobian for the right-hand side of the equations:

https://wolfram.com/xid/0b8db0tp1u-c36ru4


https://wolfram.com/xid/0b8db0tp1u-db9jy

Find the eigenvalues and eigenvectors of the Jacobian at one in the first octant:

https://wolfram.com/xid/0b8db0tp1u-yg6th

A function that integrates backward from a small perturbation of pt in the direction dir:

https://wolfram.com/xid/0b8db0tp1u-c1q9eg
Show the stable curve for the equilibrium point on the right:

https://wolfram.com/xid/0b8db0tp1u-kux74p

Find the stable curve for the equilibrium point on the left:

https://wolfram.com/xid/0b8db0tp1u-yyfb0
Show the stable curves along with a solution of the Lorenz equations:

https://wolfram.com/xid/0b8db0tp1u-bspjrl

Physics (4)
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:

https://wolfram.com/xid/0b8db0tp1u-g2odzx
Computing the eigensystem, the possible observations are :

https://wolfram.com/xid/0b8db0tp1u-evxncl

Normalize the eigenvectors in order to compute proper projections:

https://wolfram.com/xid/0b8db0tp1u-wzsgv9

The relative probabilities are for
and
for
:

https://wolfram.com/xid/0b8db0tp1u-nabjdf

In quantum mechanics, the energy operator is called the Hamiltonian , and a state with energy
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
:

https://wolfram.com/xid/0b8db0tp1u-f62azb
Computing the eigensystem, the energy levels are and
:

https://wolfram.com/xid/0b8db0tp1u-u0xcpc


https://wolfram.com/xid/0b8db0tp1u-4e2p0g

The state at time is the sum of each eigenstate evolving according to the Schrödinger equation:

https://wolfram.com/xid/0b8db0tp1u-21l38w

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 axis for the following tetrahedron:

https://wolfram.com/xid/0b8db0tp1u-jq07f7

First compute the moment of inertia:

https://wolfram.com/xid/0b8db0tp1u-hmwdo5

Compute the principal moments and axes:

https://wolfram.com/xid/0b8db0tp1u-dn4kcv

Verify that the axes are orthogonal:

https://wolfram.com/xid/0b8db0tp1u-rl5wo1

The center of mass of the tetrahedron is at the origin:

https://wolfram.com/xid/0b8db0tp1u-30m2ny

Visualize the tetrahedron and its principal axes:

https://wolfram.com/xid/0b8db0tp1u-k8mfxs

A generalized eigensystem can be used to find normal modes of coupled oscillations that decouple the terms. Consider the system shown in the diagram:

By Hooke's law it obeys ,
. Substituting in the generic solution
gives rise to the matrix equation
, with the stiffness matrix
and mass matrix
as follows:

https://wolfram.com/xid/0b8db0tp1u-z39e8y
Find the eigenfrequencies and normal modes if ,
,
and
:

https://wolfram.com/xid/0b8db0tp1u-flwe3b
Solve the generalized eigenvalue value problem:

https://wolfram.com/xid/0b8db0tp1u-zk7h0

The eigenfrequencies are the square roots of the eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-rymkk1

Construct the normal mode solutions as a generalized eigenvector times the corresponding exponential:

https://wolfram.com/xid/0b8db0tp1u-w8jfzp

https://wolfram.com/xid/0b8db0tp1u-y9qjd5
Verify that both satisfy the differential equation for the system:

https://wolfram.com/xid/0b8db0tp1u-8q7gy8

Properties & Relations (17)Properties of the function, and connections to other functions
The eigenvectors returned for a numerical matrix are unit vectors:

https://wolfram.com/xid/0b8db0tp1u-fci0rh


https://wolfram.com/xid/0b8db0tp1u-inudh

The eigenvectors returned for exact and symbolic matrices are typically not unit vectors:

https://wolfram.com/xid/0b8db0tp1u-uzalk9


https://wolfram.com/xid/0b8db0tp1u-omt0l1

Eigensystem[m] is effectively equivalent to {Eigenvalues[m],Eigenvectors[m]}:

https://wolfram.com/xid/0b8db0tp1u-7m9md9

If both eigenvectors and eigenvalues are needed, it is generally more efficient to just call Eigensystem:

https://wolfram.com/xid/0b8db0tp1u-todivh

https://wolfram.com/xid/0b8db0tp1u-okzibj


https://wolfram.com/xid/0b8db0tp1u-603o9g

Any square matrix satisfies its similarity relation:

https://wolfram.com/xid/0b8db0tp1u-d1uk3k

https://wolfram.com/xid/0b8db0tp1u-l8etr

Any pair of square matrices satisfies the generalized similarity relation for finite eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-cuefo

https://wolfram.com/xid/0b8db0tp1u-9hdnw

An infinite generalized eigenvalue of corresponds to an eigenvector of
that is in the kernel of
:

https://wolfram.com/xid/0b8db0tp1u-8bayvr

The vector is an eigenvector of
with eigenvalue
:

https://wolfram.com/xid/0b8db0tp1u-53on0q

It is also in the null space of :

https://wolfram.com/xid/0b8db0tp1u-rm558s

A matrix m has a complete set of eigenvectors iff DiagonalizableMatrixQ[m] is True:

https://wolfram.com/xid/0b8db0tp1u-venk85

The following matrix is missing an eigenvector for the space , symbolized by
:

https://wolfram.com/xid/0b8db0tp1u-t6gace

For a diagonalizable matrix, Eigensystem reduces function application to application to eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-cw086v
Compute the matrix exponential using diagonalization:

https://wolfram.com/xid/0b8db0tp1u-n51kb8

Compute the matrix exponential using MatrixExp:

https://wolfram.com/xid/0b8db0tp1u-k9qqy1

Note that this is not simply the exponential of each entry:

https://wolfram.com/xid/0b8db0tp1u-0mhmc2

For an invertible matrix ,
and
have the same eigenvectors and reciprocal eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-3fpft2

Because eigenvalues are sorted by absolute value, this gives the same values but in the opposite order:

https://wolfram.com/xid/0b8db0tp1u-hvs5nt

For an analytic function , the eigenvectors of
are also eigenvectors of
with eigenvalue
:

https://wolfram.com/xid/0b8db0tp1u-vv32dj

For example, the has the same eigenvectors with squared eigenvalues:

https://wolfram.com/xid/0b8db0tp1u-rri26s

Similarly, the eigenvalues of are
:

https://wolfram.com/xid/0b8db0tp1u-51i8ym

The eigenvalues of a real symmetric matrix are real and its eigenvectors are orthogonal:

https://wolfram.com/xid/0b8db0tp1u-vm2f6h


https://wolfram.com/xid/0b8db0tp1u-1l20dp

By inspection, the eigenvalues are real:

https://wolfram.com/xid/0b8db0tp1u-pynkpo

Confirm the eigenvectors are orthogonal to each other:

https://wolfram.com/xid/0b8db0tp1u-q1tquf

The eigenvalues of a real antisymmetric matrix are imaginary and its eigenvectors are orthogonal:

https://wolfram.com/xid/0b8db0tp1u-8xd97r


https://wolfram.com/xid/0b8db0tp1u-byjxd4

By inspection, the eigenvalues are imaginary:

https://wolfram.com/xid/0b8db0tp1u-0c91wu

Confirm the eigenvectors are orthogonal to each other:

https://wolfram.com/xid/0b8db0tp1u-lsw1n1

The eigenvalues of a unitary matrix lie on the unit circle and its eigenvectors are orthogonal:

https://wolfram.com/xid/0b8db0tp1u-nmtoj8

https://wolfram.com/xid/0b8db0tp1u-fj5cl6

Compute the eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-1ibw88

Confirm that the eigenvalues lie on the unit circle:

https://wolfram.com/xid/0b8db0tp1u-7bercl

Confirm the eigenvectors are orthogonal to each other:

https://wolfram.com/xid/0b8db0tp1u-5ohhux

The eigenvectors of any normal matrix are orthogonal:

https://wolfram.com/xid/0b8db0tp1u-4u86y6

https://wolfram.com/xid/0b8db0tp1u-5uyrr6

The eigenvalues can be arbitrary:

https://wolfram.com/xid/0b8db0tp1u-u8d7si

But the eigenvectors are orthogonal:

https://wolfram.com/xid/0b8db0tp1u-nnb8rh

SingularValueDecomposition[m] is built from the eigensystems of and
:

https://wolfram.com/xid/0b8db0tp1u-ktswjk

https://wolfram.com/xid/0b8db0tp1u-7rv7me

https://wolfram.com/xid/0b8db0tp1u-v6p3j
The columns of are the eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-wa4brw


https://wolfram.com/xid/0b8db0tp1u-2u489f
The columns of are the eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-s736xq

Since has fewer rows than columns, the diagonal entries of
are
:

https://wolfram.com/xid/0b8db0tp1u-ref71

Consider a matrix with a complete set of eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-6kci4g

JordanDecomposition[m] returns matrices built from eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-r4fxc2

The matrix is diagonal with eigenvalue entries, possibly in a different order than from Eigensystem:

https://wolfram.com/xid/0b8db0tp1u-uy53y4

The matrix has the corresponding eigenvectors as its columns:

https://wolfram.com/xid/0b8db0tp1u-lq5ybb

SchurDecomposition[n,RealBlockDiagonalFormFalse] for a numerical normal matrix :

https://wolfram.com/xid/0b8db0tp1u-runsfx


https://wolfram.com/xid/0b8db0tp1u-d13162

The matrices {q,t} are built from eigenvalues and eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-ijlgqh

The t matrix is diagonal and with eigenvalue entries, possibly in a different order from Eigensystem:

https://wolfram.com/xid/0b8db0tp1u-j73003

To verify that q has eigenvectors as columns, set the first entry of each vector to 1. to eliminate phase differences between q and v:

https://wolfram.com/xid/0b8db0tp1u-d6hlr3

If matrices share a dimension‐ null space,
of their generalized eigenvalues will be Indeterminate and the eigenvector list will be padded with zeros:

https://wolfram.com/xid/0b8db0tp1u-6rw1m1

https://wolfram.com/xid/0b8db0tp1u-gixjry

Two generalized eigenvalues of are Indeterminate and produce zero vectors:

https://wolfram.com/xid/0b8db0tp1u-fzlefy


The matrix has a one-dimensional null space:

https://wolfram.com/xid/0b8db0tp1u-1uj9t6

It lies in the null space of :

https://wolfram.com/xid/0b8db0tp1u-d20z8n

Thus, one generalized eigenvalue of is Indeterminate and produces a zero vector:

https://wolfram.com/xid/0b8db0tp1u-39p870


Possible Issues (5)Common pitfalls and unexpected behavior
The general symbolic case very quickly gets very complicated:

https://wolfram.com/xid/0b8db0tp1u-1t


https://wolfram.com/xid/0b8db0tp1u-t6r

The expression sizes increase faster than exponentially:

https://wolfram.com/xid/0b8db0tp1u-l4l

Not all matrices have a complete set of eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-0unfu

Use JordanDecomposition for exact computation:

https://wolfram.com/xid/0b8db0tp1u-kjftj

Use SchurDecomposition for numeric computation:

https://wolfram.com/xid/0b8db0tp1u-dodku5

Construct a 10,000×10,000 sparse matrix:

https://wolfram.com/xid/0b8db0tp1u-g55jw4

https://wolfram.com/xid/0b8db0tp1u-cqydn0

The eigenvector matrix is a dense matrix and too large to represent:

https://wolfram.com/xid/0b8db0tp1u-c9xu2q


Computing the few largest or smallest eigenvalues is usually possible:

https://wolfram.com/xid/0b8db0tp1u-g4inez

When eigenvalues are closely grouped the iterative method for sparse matrices may not converge:

https://wolfram.com/xid/0b8db0tp1u-1g3ky
The iteration has not converged well after 1000 iterations:

https://wolfram.com/xid/0b8db0tp1u-m68j2z


You can give the algorithm a shift near the expected value to speed up convergence:

https://wolfram.com/xid/0b8db0tp1u-p4pvd9

The end points given to an interval as specified for the FEAST method are not included.
Set up a matrix with eigenvalues at 3 and 9 and find the eigenvalues and eigenvectors in the interval :

https://wolfram.com/xid/0b8db0tp1u-x9uasq

Enlarge the to interval such that FEAST finds the eigenvalues 3 and 9 and their corresponding eigenvectors:

https://wolfram.com/xid/0b8db0tp1u-h8f0q4

Wolfram Research (1988), Eigensystem, Wolfram Language function, https://reference.wolfram.com/language/ref/Eigensystem.html (updated 2024).
Text
Wolfram Research (1988), Eigensystem, Wolfram Language function, https://reference.wolfram.com/language/ref/Eigensystem.html (updated 2024).
Wolfram Research (1988), Eigensystem, Wolfram Language function, https://reference.wolfram.com/language/ref/Eigensystem.html (updated 2024).
CMS
Wolfram Language. 1988. "Eigensystem." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Eigensystem.html.
Wolfram Language. 1988. "Eigensystem." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Eigensystem.html.
APA
Wolfram Language. (1988). Eigensystem. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Eigensystem.html
Wolfram Language. (1988). Eigensystem. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Eigensystem.html
BibTeX
@misc{reference.wolfram_2025_eigensystem, author="Wolfram Research", title="{Eigensystem}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Eigensystem.html}", note=[Accessed: 10-July-2025
]}
BibLaTeX
@online{reference.wolfram_2025_eigensystem, organization={Wolfram Research}, title={Eigensystem}, year={2024}, url={https://reference.wolfram.com/language/ref/Eigensystem.html}, note=[Accessed: 10-July-2025
]}