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.