Hey all,
   I'm digging through the (sparse) matrix code right now as I have some 
~67000 x 67000 square sparse matrices over QQ(q) (given as the fraction 
field of ZZ[q]) and the bottleneck in my computations are solving kernels 
(which isn't too bad, takes about half a day) and taking an inverse. I 
haven't gotten yet to multiplying matrices, but the memory usage is much 
larger than I was expecting. However, that isn't such a big issue, but did 
lead me to #24122 <https://trac.sagemath.org/ticket/24122> (a review would 
be appreciated). There will also be a number of other small improvement 
tickets forthcoming.

My first question is that the method _strassen_default_echelon_cutoff seems 
to return -1 and never be overwritten. This means that by default, the 
echelonize will always use the classical in-place, making having a default 
algorithm that automatically chosen a la XKCD. Does anyone use this? Should 
we keep it, actually make it work, or get rid of the entire thing?

Onto some paraellization questions, as I can take advantage of multiple 
cores. Does anyone know of a good parallel linear algebra library we could 
include in Sage (hopefully it would work with my field)? How difficult is 
it to parallelize Cython code? At least in the classical echelonize 
algorithm, we can parallelize setting the entries below the pivot to 0 
since each row can be handled independently (once we set the pivot).

Best,
Travis


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to