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

available, since the integers are not a field.<br />

sage: A = matrix(ZZ, [[8, 0, 7, 1, 3, 4, 6],<br />

... [4, 0, 3, 4, 2, 7, 7],<br />

... [1, 4, 6, 1, 2, 8, 5],<br />

... [0, 3, 1, 2, 3, 6, 2]])<br />

sage: X = A.right_kernel_matrix(algorithm=’default’, basis=’echelon’); X<br />

[ 1 12 3 14 -3 -10 1]<br />

[ 0 35 0 25 -1 -31 17]<br />

[ 0 0 7 12 -3 -1 -8]<br />

sage: A*X.transpose() == zero_matrix(ZZ, 4, 3)<br />

True<br />

sage: X = A.right_kernel_matrix(algorithm=’padic’, basis=’LLL’); X<br />

[ -3 -1 5 7 2 -3 -2]<br />

[ 3 1 2 5 -5 2 -6]<br />

[ -4 -13 2 -7 5 7 -3]<br />

sage: A*X.transpose() == zero_matrix(ZZ, 4, 3)<br />

True<br />

sage: X = A.right_kernel_matrix(algorithm=’pari’, basis=’computed’); X<br />

[ 3 1 -5 -7 -2 3 2]<br />

[ 3 1 2 5 -5 2 -6]<br />

[ 4 13 -2 7 -5 -7 3]<br />

sage: A*X.transpose() == zero_matrix(ZZ, 4, 3)<br />

True<br />

sage: X = A.right_kernel_matrix(algorithm=’padic’, basis=’computed’); X<br />

[ 265 345 -178 17 -297 0 0]<br />

[-242 -314 163 -14 271 -1 0]<br />

[ -36 -47 25 -1 40 0 -1]<br />

sage: A*X.transpose() == zero_matrix(ZZ, 4, 3)<br />

True<br />

We test that the code for integer matrices is called for matrices defined over the integers, both dense <strong>and</strong><br />

sparse, with equal result.<br />

sage: A = matrix(ZZ, [[8, 0, 7, 1, 3, 4, 6],<br />

... [4, 0, 3, 4, 2, 7, 7],<br />

... [1, 4, 6, 1, 2, 8, 5],<br />

... [0, 3, 1, 2, 3, 6, 2]],<br />

... sparse=False)<br />

sage: B = copy(A).sparse_matrix()<br />

sage: set_verbose(1)<br />

sage: D = A.right_kernel(); D<br />

verbose ...<br />

verbose 1 () computing right kernel matrix over the integers for 4x7 matrix<br />

verbose 1 () done computing right kernel matrix over the integers for 4x7 matrix<br />

...<br />

Free module <strong>of</strong> degree 7 <strong>and</strong> rank 3 over Integer Ring<br />

Echelon basis matrix:<br />

[ 1 12 3 14 -3 -10 1]<br />

[ 0 35 0 25 -1 -31 17]<br />

[ 0 0 7 12 -3 -1 -8]<br />

sage: S = B.right_kernel(); S<br />

verbose ...<br />

verbose 1 () computing right kernel matrix over the integers for 4x7 matrix<br />

verbose 1 () done computing right kernel matrix over the integers for 4x7 matrix<br />

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