title: ValueError taking dot product of two sparse matrices in SciPy
body: <p>I'm trying to take the dot product of two lil_matrix sparse matrices that are approx. 100,000 x 50,000 and 50,000 x 100,000 respectively.</p>
  
  <pre><code>from scipy import sparse
  a = sparse.lil_matrix((100000, 50000))
  b = sparse.lil_matrix((50000, 100000))
  
  c = a.dot(b)
  </code></pre>
  
  <p>and getting this error:</p>
  
  <pre><code> File "/usr/lib64/python2.6/site-packages/scipy/sparse/base.py", line 211, in dot
   return self * other
   File "/usr/lib64/python2.6/site-packages/scipy/sparse/base.py", line 247, in __mul__
   return self._mul_sparse_matrix(other)
   File "/usr/lib64/python2.6/site-packages/scipy/sparse/base.py", line 300, in      _mul_sparse_matrix
   return self.tocsr()._mul_sparse_matrix(other)
   File "/usr/lib64/python2.6/site-packages/scipy/sparse/compressed.py", line 290, in _mul_sparse_matrix
   indices = np.empty(nnz, dtype=np.intc)
   ValueError: negative dimensions are not allowed
  </code></pre>
  
  <p>Any ideas on what might be happening - running this on a machine with about 64GB of ram, and using about 13GB when executing the dot.</p>