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

sage: A = matrix(QQ, [[1, 0, 1, 1, -1],<br />

... [0, 1, 0, 4, 8],<br />

... [2, 1, 3, 5, 1],<br />

... [2, -1, 1, 0, -2],<br />

... [0, -1, -1, -5, -8]])<br />

sage: [e in QQ for e in A.eigenvalues()]<br />

[False, False, False, False, False]<br />

sage: A.is_diagonalizable()<br />

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

...<br />

RuntimeError: an eigenvalue <strong>of</strong> the matrix is not contained in Rational Field<br />

sage: [e in QQbar for e in A.eigenvalues()]<br />

[True, True, True, True, True]<br />

sage: A.is_diagonalizable(base_field=QQbar)<br />

True<br />

Other exact fields may be employed, though it will not always be possible to exp<strong>and</strong> their base fields to<br />

contain all the eigenvalues.<br />

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

sage: A = matrix(F, [[ 4, 3*b + 2, 3*b + 1, 3*b + 4],<br />

... [2*b + 1, 4*b, 0, 2],<br />

... [ 4*b, b + 2, 2*b + 3, 3],<br />

... [ 2*b, 3*b, 4*b + 4, 3*b + 3]])<br />

sage: A.jordan_form()<br />

[ 4 1| 0 0]<br />

[ 0 4| 0 0]<br />

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

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

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

sage: A.is_diagonalizable()<br />

False<br />

sage: F. = QuadraticField(-7)<br />

sage: A = matrix(F, [[ c + 3, 2*c - 2, -2*c + 2, c - 1],<br />

... [2*c + 10, 13*c + 15, -13*c - 17, 11*c + 31],<br />

... [2*c + 10, 14*c + 10, -14*c - 12, 12*c + 30],<br />

... [ 0, 2*c - 2, -2*c + 2, 2*c + 2]])<br />

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

[ 4 0 0 0]<br />

[ 0 -2 0 0]<br />

[ 0 0 c + 3 0]<br />

[ 0 0 0 c + 3]<br />

sage: A.is_diagonalizable()<br />

True<br />

A trivial matrix is diagonalizable, trivially.<br />

sage: A = matrix(QQ, 0, 0)<br />

sage: A.is_diagonalizable()<br />

True<br />

A matrix must be square to be diagonalizable.<br />

sage: A = matrix(QQ, 3, 4)<br />

sage: A.is_diagonalizable()<br />

False<br />

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