Eigenvalues and Eigenvectors Calculator
This page contains a routine that numerically finds the eigenvalues and eigenvectors of an N X N matrix, where N may be up to 12 and the variables are real. The algorithm is from the EISPACK collection of subroutines.
Smith, B.T.; J.M. Boyle; J.J. Dongarra; B.S. Garbow; Y. Ikebe; V.C. Klema; and C.B. Moler.
"Matrix Eigensystem Routines--(EISPACK) Guide"
Garbow, B.S.; J.M. Boyle; J.J. Dongarra; and C.B. Moler.
"Matrix Eigensystem Routines--(EISPACK) Guide Extension"
λ is an eigenvalue (a scalar) of the Matrix [A] if there is a non-zero vector (v) such that the following relationship is satisfied:
[A](v) = λ (v)
Every vector (v) satisfying this equation is called an eigenvector of [A] belonging to the eigenvalue λ.
As an example, in the case of a 3 X 3 Matrix and a 3-entry column vector,
and each eigenvector v1, v2, v3, etc. takes the form
HOW TO USE THIS UTILITY
(i) The first entry should be the dimension of the system, N (remember, N should not be greater than 12).
(ii) The next NxN entries should be the coefficients of the A Matrix.
The coefficients should be entered in the following order:
a11, a12, a13, . . .
a21, a22, a23, . . .
Do not enter commas, periods, brackets, etc. Also note that numbers in scientific notation are NOT recognized.
For example, say we want to compute the eigenvalues and eigenvectors of a 3 x 3 matrix. Data should be input to the box as follows:
Once all the data has been entered, click the Solve button, and the eigenvalues and associated eigenvectors of [A] will be computed. Note that the a values are assumed to be real; however, the solutions may be complex. In other words, this utility calculates solutions that may have imaginary components (indicated by the "i"); however, it assumes the inputs are all real (it does not accept complex inputs).
IMPORTANT! How to use the output.
If the i-th eigenvalue is real, the i-th COLUMN of the eigenvector Matrix contains the corresponding eigenvector.
If the i-th eigenvalue is complex with positive imaginary part, COLUMNS i and (i + 1) contain the real and imaginary parts of the corresponding eigenvector. The conjugate of this vector is the eigenvector for the conjugate eigenvalue.
Note the Error Code. If it does not equal -1, some eigenvalues and all eigenvectors are meaningless.
Error Code = -1: Normal completion.
Error Code > 0: If more than 30 iterations are required to determine an eigenvalue, the subroutine terminates. The Error Code gives the index of the eigenvalue for which the failure occurred.
Eigenvalues λ ErCode + 1 , λ ErCode + 2 , . . . λ N should be correct, but no eigenvectors are computed.