This is because matrix windows are not matrices--just views into an
attached matrix. There is a matrix_from_rows_and_columns command that
you might be able to use.
sage: M = matrix(QQ, 4, 4, range(16))
sage: M.matrix_from_rows_and_columns([1,2,0],[0,3])
[ 4 7]
[ 8 11]
[ 0 3]
I don't think
The sort of slicing operation your describing isn't well supported in
sage's matrices as far as I know. However numpy can do this well
but it doesn't use abitrary precision arithmetic.
import numpy
m=numpy.matrix([[1,2,3],[4,5,6],[7,8,9]],dtype=float)
n=m[0:3,0:2]
m*n
Not sure if that helps.
Yeah, that's not quite what I was looking for since I'd like to be
able to keep the fast dense matrix multiplication within the blocks.
I'm not too familiar with the matrix codebase so I don't know how easy
it'd be to do. I was thinking of basically storing a list of blocks
as well as a list of t
I am implementing a sparse matrix class for real doubles (finite
precision real numbers.)
The storage format I am using is called compressed sparse column. This
is the standard format
used by all sparse matrix libraries as well as matlab
http://www.netlib.org/linalg/html_templates/node92.html
It
Hi,
Something related. A while ago I was using sparse matrices
to compute the page ranks of a small web. The computation
was *much* too slow. So I implemented my own method
for "matrix" x "vector" as a simple loop through the non-zero entries
of "martrix" which was *much* faster.
So: question: c