This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.

# Eigensystem

 Eigensystem[m]gives a list of the eigenvalues and eigenvectors of the square matrix m. Eigensystemgives the generalized eigenvalues and eigenvectors of m with respect to a. Eigensystemgives the eigenvalues and eigenvectors for the first k eigenvalues of m. Eigensystemgives the first k generalized eigenvalues and eigenvectors.
• Eigensystem finds numerical eigenvalues and eigenvectors if m contains approximate real or complex numbers.
• For approximate numerical matrices m, the eigenvectors are normalized.
• 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.
• can be used to set vals and vecs to be the eigenvalues and eigenvectors respectively. »
• The option settings Cubics->True and Quartics->True can be used to specify that explicit radicals should be generated for all cubics and quartics.
Symbolic eigenvalues and eigenvectors:
Exact eigenvalues and eigenvectors:
Numerical value:
Eigenvalues and eigenvectors computed with numerical methods:
Symbolic eigenvalues and eigenvectors:
 Out[1]=

Exact eigenvalues and eigenvectors:
 Out[1]=
Numerical value:
 Out[2]=

Eigenvalues and eigenvectors computed with numerical methods:
 Out[1]=
 Scope   (6)
Eigenvalues and eigenvectors computed with numerical methods using 20-digit precision:
Set vals and vecs to be the eigenvalues and eigenvectors respectively:
Smallest two eigenvalues and eigenvectors:
Eigenvalues are listed according to multiplicity along with independent eigenvectors:
Zero vectors are used when there are more eigenvalues than independent eigenvectors:
Compute generalized eigenvalues and eigenvectors:
A block diagonal matrix:
Its eigenvalues and eigenvectors:
A tridiagonal matrix:
The three eigenvalues with largest magnitude and a plot of the corresponding eigenvectors:
 Options   (2)
A 3×3 Vandermonde matrix:
In general for exact 3×3 matrices the result will be given in terms of Root objects:
If you want the result in terms of radicals, you can use the Cubics option:
Note that the result with Root objects is better suited to subsequent numerical evaluation:
A 4×4 matrix:
In general, for a 4×4 matrix, the result will be given in terms of Root objects:
You can get the result in terms of radicals using the Cubics and Quartics options:
 Applications   (2)
Here is a quadratic form in 3 dimensions:
Plot the surface :
Get the symmetric matrix for the quadratic form, using CoefficientArrays:
Numerically compute its eigenvalues and eigenvectors:
Show the principal axes of the ellipsoid:
The Lorenz equations:
Find the Jacobian for the right-hand side of the equations:
Find the equilibrium points:
Find the eigenvalues and eigenvectors of the Jacobian at one 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:
Any square matrix satisfies its similarity relation:
Any pair of square matrices satisfies the generalized similarity relation:
The eigensystem for a circulant matrix:
Compute the matrix exponential using diagonalization:
Compute the matrix exponential using MatrixExp:
The eigenvalues and eigenvectors of a random symmetric matrix:
The eigenvectors are all real:
The numerical eigenvectors are orthonormal to the precision of the computation:
Not all matrices have a complete set of eigenvectors:
Use JordanDecomposition for exact computation:
Use SchurDecomposition for numeric computation:
The general symbolic case very quickly gets very complicated:
The expression sizes increase faster than exponentially:
Construct a 10,000×10,000 sparse matrix:
The eigenvector matrix is a dense matrix and too large to represent:
Computing the few largest or smallest eigenvalues is usually possible:
When eigenvalues are closely grouped the iterative method for sparse matrices may not converge:
The iteration has not converged well after 1000 iterations:
You can give the algorithm a shift near the expected value to speed up convergence: