Computation of Eigenvalues and Eigenvectors
In this section we show you some of Axiom's facilities for computing and
manipulating eigenvalues and eigenvectors, also called characteristic
values and characteristic vectors, respectively.
Let's first create a matrix with integer entries.
To get a list of the rational eigenvalues, use the operation
eigenvalues.
Given an explicit eigenvalue,
eigenvector computes the eigenvectors
corresponding to it.
The operation eigenvectors returns a
list of pairs of values and vectors. When an eigenvalue is rational, Axiom
gives you the value explicitly; otherwise, its minimal polynomial is given,
(the polynomial of lowest degree with the eigenvalues as roots), together
with a parametric representation of the eigenvector using the eigenvalue.
This means that if you ask Axiom to solve
the minimal polynomial, then you can substitute these roots into the
parametric form of the corresponding eigenvectors.
You must be aware that unless an exact eigenvalue has been computed,
the eigenvector may be badly in error.
Another possibility is to use the operation
radicalEigenvectors tries to
compute explicitly the eignevectors in terms of radicals.
Alternatively, Axiom can compute real or complex approximations to the
eigenvectors and eigenvalues using the operations
realEigenvectors or
complexEigenvectors. They
each take an additional argument epsilon to specify the "precision"
required. In the real case, this means that each approximation will be
within plus or minus epsilon of the actual result. In the complex case, this
means that each approximation will be within plus or minus epsilon of the
actual result in each of the real and imaginary parts.
The precision can be specified as a Float if
the results are desired in floating-point notation, or as
Fraction Integer if the results are
to be expressed using rational (or complex rational) numbers.
If an n by n matrix has n distinct eigenvalues (and therefore n eigenvectors)
the operation eigenMatrix gives you a
matrix of the eigenvectors.
If a symmetric matrix has a basis of orthonormal eigenvectors, then
orthonormalBasis computes a list
of these vectors.