[sage-devel] Re: Sparse Block Diagonal Matrices

2007-06-04 Thread Robert Bradshaw
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

[sage-devel] Re: Sparse Block Diagonal Matrices

2007-06-03 Thread Joshua Kantor
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.

[sage-devel] Re: Sparse Block Diagonal Matrices

2007-06-02 Thread Mike Hansen
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

[sage-devel] Re: Sparse Block Diagonal Matrices

2007-06-02 Thread Joshua Kantor
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

[sage-devel] Re: Sparse Block Diagonal Matrices

2007-06-01 Thread Michel
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