[SciPy-User] "Zero"-shape sparse matrices

Jaakko Luttinen jaakko.luttinen at aalto.fi
Tue Feb 21 08:15:06 EST 2012


On 02/17/2012 05:32 PM, eat wrote:
> Hi,
> 
> Perhaps a slightly OT (and I'm not really answering to your question), but
> 
> On Thu, Feb 16, 2012 at 5:44 PM, Jaakko Luttinen
> <jaakko.luttinen at aalto.fi <mailto:jaakko.luttinen at aalto.fi>> wrote:
> 
>     Hi!
> 
>     To make a long story short, Scipy doesn't seem to allow sparse matrices
>     that have length zero on any of the axes. For instance:
>     C = numpy.ones((0,0))
>     K = scipy.sparse.csc_matrix(C)
>     ValueError: invalid shape
> 
>     It is possible to create a "zero"-shape dense matrix but not sparse.
>     Why? To me, this seems like a bug.. Is it so?
> 
> what would you expect a  "zero"-shape sparse (or dense)
> matrix actually represent?

"Zero"-shape matrix would represent an empty matrix which has a correct
shape for some operations. This is very convenient for generic code
because I don't need to check if some dimension has zero length.

For instance:
- horizontal concatenation of (10,3), (10,2) and (10,0) shaped matrices
would work and produce a (10,5) shaped matrix.
- forming a block matrix from four matrices having shapes (0,0), (0,20),
(10,0) and (10,20) would produce a (10,20) matrix using numpy.bmat.

Regards,
Jaakko



More information about the SciPy-User mailing list