Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

answered 2011-05-15 03:26:16 -0500

DSM gravatar image

Sage matrices aren't the same as numpy matrices.

sage: A = matrix([[1,2,3],[4,5,6],[7,8,9]])
sage: type(A)
<type 'sage.matrix.matrix_integer_dense.Matrix_integer_dense'>
sage: parent(A)
Full MatrixSpace of 3 by 3 dense matrices over Integer Ring
sage: import numpy
sage: B = numpy.matrix([[1,2,3],[4,5,6],[7,8,9]])
sage: type(B)
<class 'numpy.matrixlib.defmatrix.matrix'>

In this case, though, it's easy enough to convert the Sage matrix into something that numpy will like (an array, not a matrix, but that shouldn't matter here):

sage: A.numpy()
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
sage: type(A.numpy())
<type 'numpy.ndarray'>
sage: plt.matshow(A.numpy())
<matplotlib.image.AxesImage object at 0x10dad0090>