[SciPy-user] dot behaviour with sparse matrix
Robin
robince@gmail....
Wed Oct 1 11:20:19 CDT 2008
Not sure if this is a bug or not but it was certainly unexpected
behaviour for me.
I found that dot(dense,dense) works as expected
(ie dimensions (8,255),(255,8) -> (8,8))
and that dot(sparse,sparse) also works that way, producing a sparse result.
But dot(dense,sparse) gives an output with the same dimensions as the
dense input. Not sure why this is happening and I found it a bit
confusing. Is this a bug or inteded behaviour?
Actually I was just going through an example and I notice that
dot(csc_matrix, dense_matrix) raises a NotImplemented type - so
perhaps the other cases should also:
With A, B arrays:
In [29]: A.shape
Out[29]: (3, 5)
In [30]: B.shape
Out[30]: (5, 3)
In [31]: dot(A,B).shape
Out[31]: (3, 3)
In [32]: dot(sparse.csc_matrix(A),sparse.csc_matrix(B)).shape
Out[32]: (3, 3)
In [33]: dot(A,sparse.csc_matrix(B)).shape
Out[33]: (3, 5)
In [34]: dot(sparse.csc_matrix(A),B).shape
Out[34]: (5, 3)
with A,B dense matrices:
In [42]: A.shape
Out[42]: (3, 5)
In [43]: B.shape
Out[43]: (5, 3)
In [44]: dot(A,B).shape
Out[44]: (3, 3)
In [45]: dot(sparse.csc_matrix(A),sparse.csc_matrix(B)).shape
Out[45]: (3, 3)
In [46]: dot(A,sparse.csc_matrix(B)).shape
Out[46]: (3, 5)
In [47]: dot(sparse.csc_matrix(A),B).shape
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/Users/robince/<ipython console> in <module>()
AttributeError: 'NotImplementedType' object has no attribute 'shape'
Cheers
Robin
More information about the SciPy-user
mailing list