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


gives the generalized eigenvalues and eigenvectors of m with respect to a.


gives the eigenvalues and eigenvectors for the first k eigenvalues of m.


gives the first k generalized eigenvalues and eigenvectors.

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.
  • 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].
  • {vals,vecs}=Eigensystem[m] can be used to set vals and vecs to be the eigenvalues and eigenvectors, respectively. »
  • 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 can be used in Eigensystem. »
  • Eigensystem has the following options and settings:
  • CubicsFalsewhether to use radicals to solve cubics
    MethodAutomaticselect a method to use
    QuarticsFalsewhether to use radicals to solve quartics
    ZeroTestAutomatictest 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
    "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.


open all close all

Basic Examples  (4)

Eigenvalues and eigenvectors computed with machine precision:

Click for copyable input

Eigenvalues and eigenvectors computed with 20-digit arbitrary precision:

Click for copyable input

Exact eigenvalues and eigenvectors:

Click for copyable input

Symbolic eigenvalues and eigenvectors:

Click for copyable input

Scope  (10)

Options  (10)

Applications  (2)

Properties & Relations  (4)

Possible Issues  (5)

Introduced in 1988
Updated in 2015