Eigensystem

Eigensystem[m]

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

Eigensystem[{m,a}]

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

Eigensystem[m,k]

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

Eigensystem[{m,a},k]

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.

Examples

open allclose all

Basic Examples  (4)

Eigenvalues and eigenvectors computed with machine precision:

In[1]:=
Click for copyable input
Out[1]=

Eigenvalues and eigenvectors computed with 20-digit arbitrary precision:

In[1]:=
Click for copyable input
Out[1]=

Exact eigenvalues and eigenvectors:

In[1]:=
Click for copyable input
Out[1]=

Symbolic eigenvalues and eigenvectors:

In[1]:=
Click for copyable input
Out[1]=

Scope  (10)

Options  (10)

Applications  (2)

Properties & Relations  (4)

Possible Issues  (5)

See Also

Eigenvalues  Eigenvectors  NDEigensystem  DEigensystem  NullSpace  JordanDecomposition  SchurDecomposition  SingularValueDecomposition  QRDecomposition  MatrixFunction

Tutorials

Introduced in 1988
(1.0)
| Updated in 2015
(10.3)