David Koch wrote:
Ok,
I did and the results are: csc * csc: 372.601957083 csc * csc: 3.90811300278
a typo here? which one is csr?
csr * csc: 15.3202679157 csr * csr: 3.84498214722
Mhm, quite insightful. Note, that in an operation X.transpose() * X, where X is csc_matrix, then X.tranpose() is automatically cast to csr_matrix. A re-cast to csc make the whole operation faster. It's still about 1000 times slower than Matlab but 4 times faster than before.
ok. now which version of scipy (scipy.__version__) do you use (you may have posted it, but I missed it)? Not so long ago, there was an effort by Nathan Bell and others reimplementing sparsetools + scipy.sparse to get better usability and performance. My (almost latest) version is 0.5.3.dev2860. r.