08.02.2015 Views

Sage Reference Manual: Matrices and Spaces of Matrices - Mirrors

Sage Reference Manual: Matrices and Spaces of Matrices - Mirrors

Sage Reference Manual: Matrices and Spaces of Matrices - Mirrors

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Sage</strong> <strong>Reference</strong> <strong>Manual</strong>: <strong>Matrices</strong> <strong>and</strong> <strong>Spaces</strong> <strong>of</strong> <strong>Matrices</strong>, Release 6.1.1<br />

This computation is performed in a naive way using the ranks <strong>of</strong> powers <strong>of</strong> A−xI, where x is an eigenvalue<br />

<strong>of</strong> the matrix A. If desired, a transformation matrix P can be returned, which is such that the Jordan<br />

canonical form is given by P −1 AP .<br />

INPUT:<br />

•base_ring - Ring in which to compute the Jordan form.<br />

•sparse - (default False) If sparse=True, return a sparse matrix.<br />

•subdivide - (default True) If subdivide=True, the subdivisions for the Jordan blocks in the<br />

matrix are shown.<br />

•transformation - (default False) If transformation=True, computes also the transformation<br />

matrix.<br />

•eigenvalues - (default None) A complete set <strong>of</strong> roots, with multiplicity, <strong>of</strong> the characteristic<br />

polynomial <strong>of</strong> A, encoded as a list <strong>of</strong> pairs, each having the form (r, m) with r a root <strong>and</strong> m its<br />

multiplicity. If this is None, then <strong>Sage</strong> computes this list itself, but this is only possible over base<br />

rings in whose quotient fields polynomial factorization is implemented. Over all other rings, providing<br />

this list manually is the only way to compute Jordan normal forms.<br />

•check_input - (default True) A Boolean specifying whether the list eigenvalues (if provided)<br />

has to be checked for correctness. Set this to False for a speedup if the eigenvalues are known to be<br />

correct.<br />

NOTES:<br />

Currently, the Jordan normal form is not computed over inexact rings in any but the trivial cases when the<br />

matrix is either 0 × 0 or 1 × 1.<br />

In the case <strong>of</strong> exact rings, this method does not compute any generalized form <strong>of</strong> the Jordan normal form,<br />

but is only able to compute the result if the characteristic polynomial <strong>of</strong> the matrix splits over the specific<br />

base ring.<br />

Note that the base ring must be a field or a ring with an implemented fraction field.<br />

EXAMPLES:<br />

sage: a = matrix(ZZ,4,[1, 0, 0, 0, 0, 1, 0, 0, 1, \<br />

-1, 1, 0, 1, -1, 1, 2]); a<br />

[ 1 0 0 0]<br />

[ 0 1 0 0]<br />

[ 1 -1 1 0]<br />

[ 1 -1 1 2]<br />

sage: a.jordan_form()<br />

[2|0 0|0]<br />

[-+---+-]<br />

[0|1 1|0]<br />

[0|0 1|0]<br />

[-+---+-]<br />

[0|0 0|1]<br />

sage: a.jordan_form(subdivide=False)<br />

[2 0 0 0]<br />

[0 1 1 0]<br />

[0 0 1 0]<br />

[0 0 0 1]<br />

sage: b = matrix(ZZ,3,range(9)); b<br />

[0 1 2]<br />

[3 4 5]<br />

[6 7 8]<br />

sage: b.jordan_form()<br />

196 Chapter 7. Base class for matrices, part 2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!