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

•Rob Beezer (2011-05-20)<br />

decomposition(algorithm=’spin’, is_diagonalizable=False, dual=False)<br />

Returns the decomposition <strong>of</strong> the free module on which this matrix A acts from the right (i.e., the action is<br />

x goes to x A), along with whether this matrix acts irreducibly on each factor. The factors are guaranteed<br />

to be sorted in the same way as the corresponding factors <strong>of</strong> the characteristic polynomial.<br />

Let A be the matrix acting from the on the vector space V <strong>of</strong> column vectors. Assume that A is square.<br />

This function computes maximal subspaces W_1, ..., W_n corresponding to Galois conjugacy classes <strong>of</strong><br />

eigenvalues <strong>of</strong> A. More precisely, let f(X) be the characteristic polynomial <strong>of</strong> A. This function computes<br />

the subspace W i = ker(g ( A) n ), where g i (X) is an irreducible factor <strong>of</strong> f(X) <strong>and</strong> g i (X) exactly divides<br />

f(X). If the optional parameter is_diagonalizable is True, then we let W i = ker(g(A)), since then we<br />

know that ker(g(A)) = ker(g(A) n ).<br />

INPUT:<br />

•self - a matrix<br />

•algorithm - ‘spin’ (default): algorithm involves iterating the action <strong>of</strong> self on a vector. ‘kernel’:<br />

naively just compute ker(f i (A)) for each factor f i .<br />

•dual - bool (default: False): If True, also returns the corresponding decomposition <strong>of</strong> V under the<br />

action <strong>of</strong> the transpose <strong>of</strong> A. The factors are guaranteed to correspond.<br />

•is_diagonalizable - if the matrix is known to be diagonalizable, set this to True, which might<br />

speed up the algorithm in some cases.<br />

Note: If the base ring is not a field, the kernel algorithm is used.<br />

OUTPUT:<br />

•Sequence - list <strong>of</strong> pairs (V,t), where V is a vector spaces <strong>and</strong> t is a bool, <strong>and</strong> t is True exactly when<br />

the charpoly <strong>of</strong> self on V is irreducible.<br />

•(optional) list - list <strong>of</strong> pairs (W,t), where W is a vector space <strong>and</strong> t is a bool, <strong>and</strong> t is True exactly when<br />

the charpoly <strong>of</strong> the transpose <strong>of</strong> self on W is irreducible.<br />

EXAMPLES:<br />

sage: A = matrix(ZZ, 4, [3,4,5,6,7,3,8,10,14,5,6,7,2,2,10,9])<br />

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

sage: B*11<br />

[ 0 11 22 33 44 55]<br />

[ 66 77 88 99 110 121]<br />

[132 143 154 165 176 187]<br />

[198 209 220 231 242 253]<br />

[264 275 286 297 308 319]<br />

[330 341 352 363 374 385]<br />

sage: A.decomposition()<br />

[<br />

(Ambient free module <strong>of</strong> rank 4 over the principal ideal domain Integer Ring, True)<br />

]<br />

sage: B.decomposition()<br />

[<br />

(Vector space <strong>of</strong> degree 6 <strong>and</strong> dimension 2 over Rational Field<br />

Basis matrix:<br />

[ 1 0 -1 -2 -3 -4]<br />

[ 0 1 2 3 4 5], True),<br />

(Vector space <strong>of</strong> degree 6 <strong>and</strong> dimension 4 over Rational Field<br />

Basis matrix:<br />

147

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

Saved successfully!

Ooh no, something went wrong!