Open vbarrielle opened 8 years ago
I'm interested in working on this! In particular it seems CSC * CSR is actually broken at the moment, and this seems like a good place to fix that issue, as well as improve performance. Will you accept a PR?
PRs are accpepted. Would be nice to start with some basic benchmarks to see how we compare against scipy
and the likes.
Beware though, this issue is quite old, and since then matrix products has seen several changes, mostly the SMMP implementation #187 so I think the first thing to do would be to enhance the existing product benchmarks to see precisely the impact of storage conversion.
You mentionned CSC*CSR being broken, do you have an example?
I don't have a functional code example handy, but if you take two CsVec
, call them a
and b
, and you do a.col_view() * b.row_view()
you get a panic, instead of a len(b) x len(a) matrix
Requiring conversion before the product can be really slow. This requires setting up some benchmarks to measure the concrete effect.