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

NotImplementedError: eigenspaces cannot be computed reliably for inexact rings such as Real<br />

consult numerical or symbolic matrix classes for other options<br />

sage: em = A.change_ring(RDF).eigenmatrix_left()<br />

sage: eigenvalues = em[0]; eigenvalues.dense_matrix().zero_at(2e-15)<br />

[ 13.3484692283 0.0 0.0]<br />

[ 0.0 -1.34846922835 0.0]<br />

[ 0.0 0.0 0.0]<br />

sage: eigenvectors = em[1]; eigenvectors # not tested<br />

[ 0.440242867... 0.567868371... 0.695493875...]<br />

[ 0.897878732... 0.278434036... -0.341010658...]<br />

[ 0.408248290... -0.816496580... 0.408248290...]<br />

sage: x, y = var(’x y’)<br />

sage: S = matrix([[x, y], [y, 3*x^2]])<br />

sage: em = S.eigenmatrix_left()<br />

sage: eigenvalues = em[0]; eigenvalues<br />

[3/2*x^2 + 1/2*x - 1/2*sqrt(9*x^4 - 6*x^3 + x^2 + 4*y^2)<br />

[ 0 3/2*x^2 + 1/2*x + 1/2*sqrt(9*x^4 -<br />

sage: eigenvectors = em[1]; eigenvectors<br />

[ 1 1/2*(3*x^2 - x - sqrt(9*x^4 - 6*x^3 +<br />

[ 1 1/2*(3*x^2 - x + sqrt(9*x^4 - 6*x^3 +<br />

A request for ’all’ the eigenvalues, when it is not possible, will raise an error. Using the ’galois’<br />

format option is more likely to be successful.<br />

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

sage: A = matrix(F, [[b + 1, b + 1], [10*b + 4, 5*b + 4]])<br />

sage: A.eigenspaces_left(format=’all’)<br />

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

...<br />

NotImplementedError: unable to construct eigenspaces for eigenvalues outside the base field,<br />

try the keyword option: format=’galois’<br />

sage: A.eigenspaces_left(format=’galois’)<br />

[<br />

(a0, Vector space <strong>of</strong> degree 2 <strong>and</strong> dimension 1 over Univariate Quotient Polynomial Ring in a0<br />

User basis matrix:<br />

[ 1 6*b*a0 + 3*b + 1])<br />

]<br />

TESTS:<br />

We make sure that trac ticket #13308 is fixed.<br />

sage: M = ModularSymbols(Gamma1(23), sign=1)<br />

sage: m = M.cuspidal_subspace().hecke_matrix(2)<br />

sage: [j*m==i[0]*j for i in m.eigenspaces_left(format=’all’) for j in i[1].basis()] # long t<br />

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

sage: B = matrix(QQ, 2, 3, range(6))<br />

sage: B.eigenspaces_left()<br />

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

...<br />

TypeError: matrix must be square, not 2 x 3<br />

sage: B = matrix(QQ, 4, 4, range(16))<br />

sage: B.eigenspaces_left(format=’junk’)<br />

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

161

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

Saved successfully!

Ooh no, something went wrong!