Eigenvalues
Eigenvalues[m]
gives a list of the eigenvalues of the square matrix m.
Eigenvalues[{m,a}]
gives the generalized eigenvalues of m with respect to a.
Eigenvalues[m,k]
gives the first k eigenvalues of m.
Eigenvalues[{m,a},k]
gives the first k generalized eigenvalues.
Details and Options


- Eigenvalues finds numerical eigenvalues if m contains approximate real or complex numbers.
- Repeated eigenvalues appear with their appropriate multiplicity.
- An
×
matrix gives a list of exactly
eigenvalues, not necessarily distinct.
- If they are numeric, eigenvalues are sorted in order of decreasing absolute value.
- The eigenvalues of a matrix m are those
for which
for some nonzero eigenvector
.
- The generalized eigenvalues of m with respect to a are those
for which
.
- When matrices m and a have a dimension‐
shared null space, then
of their generalized eigenvalues will be Indeterminate.
- Ordinary eigenvalues are always finite; generalized eigenvalues can be infinite.
- For numeric eigenvalues, Eigenvalues[m,k] gives the k that are largest in absolute value.
- Eigenvalues[m,-k] gives the k that are smallest in absolute value.
- Eigenvalues[m,spec] is always equivalent to Take[Eigenvalues[m],spec].
- Eigenvalues[m,UpTo[k]] gives k eigenvalues, or as many as are available.
- SparseArray objects and structured arrays can be used in Eigenvalues.
- Eigenvectors has the following options and settings:
-
Cubics False whether to use radicals to solve cubics Method Automatic method to use Quartics False whether to use radicals to solve quartics - 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 (4)
Scope (18)
Basic Uses (5)
Subsets of Eigenvalues (5)
Generalized Eigenvalues (4)
Special Matrices (4)
Eigenvalues of sparse matrices:
Eigenvalues of structured matrices:
IdentityMatrix always has all-one eigenvalues:
Eigenvalues of HilbertMatrix:
Options (10)
Cubics (1)
Eigenvalues uses Root to compute exact eigenvalues:
Explicitly use the cubic formula to get the result in terms of radicals:
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 options can be specified for the method "Arnoldi":
"BasisSize" | the size of the Arnoldi basis | |
"Criteria" | which criteria to use | |
"MaxIterations" | ||
"Shift" | ||
"StartingVector" | ||
"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 eigenvalue using different "Criteria" settings. The matrix m has eigenvalues :
By default, "Criteria"->"Magnitude" selects a largest-magnitude eigenvalue:
Find the largest real-part eigenvalues:
Find the largest imaginary-part eigenvalue:
Find two eigenvalues from both ends of the matrix spectrum:
Use "StartingVector" to avoid randomness:
Different starting vectors may converge to different eigenvalues:
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 where there is no criteria such as largest or smallest magnitude that can select them:
Manually shift the matrix and adjust the resulting eigenvalue:
"Banded" (1)
"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" | 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 eigenvalues in the interval :
Use "Interval" to specify the interval:
The interval endpoints are not included in the interval in which FEAST finds eigenvalues.
Properties & Relations (3)
Possible Issues (5)
The general symbolic case very quickly gets very complicated:
The expression sizes increase faster than exponentially:
Here is a 20×20 Hilbert matrix:
Compute the smallest eigenvalue exactly and give its numerical value:
Compute the smallest eigenvalue with machine-number arithmetic:
The smallest eigenvalue is not significant compared to the largest:
Use sufficient precision for the numerical computation:
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:
Eigenvalues and Eigenvectors are not absolutely guaranteed to give results in corresponding order:
The sixth and seventh eigenvalues are essentially equal and opposite:
In this particular case, the seventh eigenvector does not correspond to the seventh eigenvalue:
Instead it corresponds to the sixth eigenvalue:
Use Eigensystem[mat] to ensure corresponding results always match:
The endpoints given to an interval as specified for the FEAST method are not included. Set up a matrix with eigenvalues at 3 and 9:
Computing the eigenvalues in the interval does not return the values at the endpoints:
Enlarge the interval to so that FEAST finds the eigenvalues 3 and 9:
Text
Wolfram Research (1988), Eigenvalues, Wolfram Language function, https://reference.wolfram.com/language/ref/Eigenvalues.html (updated 2015).
BibTeX
BibLaTeX
CMS
Wolfram Language. 1988. "Eigenvalues." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/Eigenvalues.html.
APA
Wolfram Language. (1988). Eigenvalues. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Eigenvalues.html