Computing eigenvectors and eigenvalues
The function to obtain both the eigenvalues and the eigenvectors is Eigensystem
. Use it as {eigVals,eigVecs} = Eigensystem[matrix]
.
If the matrix is symbolic, then the output (if you wait long enough for it to churn out an answer!) will only be as a list of general solutions for the roots of a 9th order polynomial with unknown coefficients, and there are no closed form solutions for polynomials with orders greater than 4. The results will not have any particular ordering.
On the other hand, a 9x9
numerical matrix is a piece of cake (even if you were to solve the characteristic polynomial), so you should have no problems.
To obtain the largest (first) eigenvalue and the corresponding eigenvector, use the optional second argument as Eigensystem[matrix, 1]
. Here's an example (with a smaller matrix to keep the output small):
mat = RandomInteger[{0, 10}, {3, 3}];
{eigVals, eigVecs} = Eigensystem[mat] // N
(* Out[1]= {{21.4725, 6.39644, 0.131054}, {{1.3448, 0.904702, 1.},
{0.547971, -1.99577, 1.}, {-0.935874, -0.127319, 1.}}} *)
{eigVal1, eigVec1} = Eigensystem[mat, 1] // N
(* Out[2]= {{21.4725}, {{1.3448, 0.904702, 1.}}} *)
If the matrix is completely numerical (not symbolic), then Eigenvalues
will return eigenvalues by descending magnitude. Therefore Eigenvalues[matrix, 1]
will always give the largest eigenvalue and Eigenvector[matrix, 1]
will give the corresponding eigenvector. As R.M. said, both can be obtained at the same time using Eigensystem
.
There are different numerical methods for obtaining the eigenvector that corresponds to the largest eigenvalue (by magnitude), the most common being power iteration.
If the matrix is symbolic, the eigenvalues/vectors are not ordered (as far as I know).
Re the question as to how Mathematica finds eigenvalues: in the Documentation Center look up "implementation"; you'll find a link to the page tutorial/SomeNotesOnInternalImplementation
. And there, in the section Exact Numerical Linear Algebra you'll find the explanation, "Eigenvalues
works by interpolating the characteristic polynomial."