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 />

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

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

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

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

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

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

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

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

sage: F. = QQ[]<br />

sage: polys = A.rational_form(format=’invariants’)<br />

sage: [F(p).factor() for p in polys]<br />

[x^2 + 2*x + 5, (x^2 - 2) * (x^2 + 2*x + 5), (x^2 - 2) * (x^2 + 2*x + 5)^2]<br />

Rational form may be computed over any field. The matrix below is an example where the eigenvalues lie<br />

outside the field.<br />

[[6*a + 5, 1], [6*a + 1, a + 3, a + 3, 1], [5*a, a + 4, a + 6, 6*a + 5, 6*a + 1, 5*a + 6, 5*<br />

NotImplementedError: eigenvalues() is not implemented for matrices with eigenvalues that are<br />

sage: F. = FiniteField(7^2)<br />

sage: A = matrix(F,<br />

... [[5*a + 3, 4*a + 1, 6*a + 2, 2*a + 5, 6, 4*a + 5, 4*a + 5, 5, a + 6,<br />

... [6*a + 3, 2*a + 4, 0, 6, 5*a + 5, 2*a, 5*a + 1, 1, 5*a + 2,<br />

... [3*a + 1, 6*a + 6, a + 6, 2, 0, 3*a + 6, 5*a + 4, 5*a + 6, 5*a + 2,<br />

... [ 3*a, 6*a, 3*a, 4*a, 4*a + 4, 3*a + 6, 6*a, 4, 3*a + 4, 6*a<br />

... [4*a + 5, a + 1, 4*a + 3, 6*a + 5, 5*a + 2, 5*a + 2, 6*a, 4*a + 6, 6*a + 4, 5*a<br />

... [ 3*a, 6*a, 4*a + 1, 6*a + 2, 2*a + 5, 4*a + 6, 2, a + 5, 2*a + 4, 2*a<br />

... [4*a + 5, 3*a + 3, 6, 4*a + 1, 4*a + 3, 6*a + 3, 6, 3*a + 3, 3, a<br />

... [6*a + 6, a + 4, 2*a + 6, 3*a + 5, 4*a + 3, 2, a, 3*a + 4, 5*a, 2*a<br />

... [3*a + 5, 6*a + 2, 4*a, a + 5, 0, 5*a, 6*a + 5, 2*a + 1, 3*a + 1, 3*a<br />

... [3*a + 2, a + 3, 3*a + 6, a, 3*a + 5, 5*a + 1, 3*a + 2, a + 3, a + 2, 6*a<br />

... [6*a + 6, 5*a + 1, 4*a, 2, 5*a + 5, 3*a + 5, 3*a + 1, 2*a, 2*a, 2*a<br />

sage: A.rational_form()<br />

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

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

[ 0| 0 0 a + 6| 0 0 0 0 0 0 0]<br />

[ 0| 1 0 6*a + 4| 0 0 0 0 0 0 0]<br />

[ 0| 0 1 6*a + 4| 0 0 0 0 0 0 0]<br />

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

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

[ 0| 0 0 0| 1 0 0 0 0 0 6*a + 3]<br />

[ 0| 0 0 0| 0 1 0 0 0 0 6*a + 1]<br />

[ 0| 0 0 0| 0 0 1 0 0 0 a + 2]<br />

[ 0| 0 0 0| 0 0 0 1 0 0 a + 6]<br />

[ 0| 0 0 0| 0 0 0 0 1 0 2*a + 1]<br />

[ 0| 0 0 0| 0 0 0 0 0 1 2*a + 1]<br />

sage: invariants = A.rational_form(format=’invariants’)<br />

sage: invariants<br />

sage: R. = F[]<br />

sage: polys = [R(p) for p in invariants]<br />

sage: [p.factor() for p in polys]<br />

[x + 6*a + 5, (x + 6*a + 5) * (x^2 + (2*a + 5)*x + 5*a), (x + 6*a + 5) * (x^2 + (2*a + 5)*x<br />

sage: polys[-1] == A.minimal_polynomial()<br />

True<br />

sage: prod(polys) == A.characteristic_polynomial()<br />

True<br />

sage: A.eigenvalues()<br />

Traceback (most recent call last):<br />

...<br />

228 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!