This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)
 Documentation / Mathematica / Built-in Functions / Lists and Matrices / Matrix Operations  /
Eigensystem

  • Eigensystem[ m ] gives a list values , vectors of the eigenvalues and eigenvectors of the square matrix m.
  • Eigensystem finds numerical eigenvalues and eigenvectors if m contains approximate real numbers.
  • The elements of m can be complex.
  • All the non-zero eigenvectors given are independent. If the number of eigenvectors is equal to the number of non-zero 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.
  • Eigensystem[ m , ZeroTest -> test ] applies test to determine whether expressions should be assumed to be zero. The default setting is ZeroTest -> Automatic.
  • The eigenvalues and eigenvectors satisfy the matrix equation m.Transpose[ vectors ] == Transpose[ vectors ].DiagonalMatrix[ values ].
  • See the Mathematica book: Section 3.7.9.
  • See also: NullSpace, JordanDecomposition, SchurDecomposition, QRDecomposition.
  • Related packages: LinearAlgebra`Orthogonalization`, LinearAlgebra`Cholesky`.

    Further Examples

    These are the eigenvalues of a 2 x 2 matrix.

    In[1]:=

    Out[1]=

    These are the eigenvectors of the matrix.

    In[2]:=

    Out[2]=

    This lists the eigenvalues and the eigenvectors for the matrix. The eigenvalues are listed first.

    In[3]:=

    Out[3]=

    This verifies the result for the first eigenvalue and its corresponding eigenvector.

    In[4]:=

    Out[4]=

    Using Eigensystem to diagonalize a matrix
    Matrices with non-repeated eigenvalues can be diagonalized using Eigensystem. The eigenvalues give the diagonalized form. The columns of the change of basis matrix b are the eigenvectors.

    In[5]:=

    Out[5]//MatrixForm=

    We check the diagonalization.

    In[6]:=

    Out[6]=