sprs icon indicating copy to clipboard operation
sprs copied to clipboard

Add CSR/CSC product subroutine

Open vbarrielle opened this issue 7 years ago • 4 comments

Requiring conversion before the product can be really slow. This requires setting up some benchmarks to measure the concrete effect.

vbarrielle avatar Oct 19 '16 14:10 vbarrielle

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?

maboesanman avatar Sep 23 '20 15:09 maboesanman

PRs are accpepted. Would be nice to start with some basic benchmarks to see how we compare against scipy and the likes.

mulimoen avatar Sep 23 '20 16:09 mulimoen

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?

vbarrielle avatar Sep 23 '20 19:09 vbarrielle

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

maboesanman avatar Sep 23 '20 19:09 maboesanman