Other methods for integer matrices are elementary_divisors,
smith_form (for the Smith normal form), echelon_form
for the Hermite normal form, frobenius for the
Frobenius normal form (rational canonical form).

There are many methods for matrices over a field such as
\(\QQ\) or a finite field: row_span, nullity,
transpose, swap_rows, matrix_from_columns,
matrix_from_rows, among many others.

Sage has a full range of functions for computing eigenvalues and both
left and right eigenvectors and eigenspaces. If our matrix is \(A\),
then the eigenmatrix_right (resp. eightmatrix_left) command also
gives matrices \(D\) and \(P\) such that \(AP=PD\) (resp.
\(PA=PD\).)

For eigenvalues outside the fraction field of the base ring of the matrix,
you can choose to have all the eigenspaces output when the algebraic closure
of the field is implemented, such as the algebraic numbers, QQbar. Or you
may request just a single eigenspace for each irreducible factor of the
characteristic polynomial, since the others may be formed through Galois
conjugation. The eigenvalues of the matrix below are $pmsqrt{3}$ and
we exhibit each possible output.

Also, currently Sage does not implement multiprecision numerical eigenvalues
and eigenvectors, so calling the eigen functions on a matrix from
CC or RR will probably give inaccurate and nonsensical results
(a warning is also printed). Eigenvalues and eigenvectors of matrices with
floating point entries (over CDF and RDF) can be obtained with the
“eigenmatrix” commands.