In all the examples that I&#39;ve tried with a sparse csc_matrix `a`, `sign(a)` always returns 1.  I expect it to return the matrix of element-wise signs of a.  For example:<br><br style="font-family:courier new,monospace">

<span style="font-family:courier new,monospace">In [1]: from scipy.sparse import csc_matrix</span><br style="font-family:courier new,monospace"><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">In [2]: a = csc_matrix([[0.0, 1.0, 2.0], [0.0, 0.0, -3.0], [0.0, 0.0, 0.0]])</span><br style="font-family:courier new,monospace">

<br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">In [3]: a.todense()</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">Out[3]: </span><br style="font-family:courier new,monospace">

<span style="font-family:courier new,monospace">matrix([[ 0.,  1.,  2.],</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">        [ 0.,  0., -3.],</span><br style="font-family:courier new,monospace">

<span style="font-family:courier new,monospace">        [ 0.,  0.,  0.]])</span><br style="font-family:courier new,monospace"><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">In [4]: np.sign(a.todense())</span><br style="font-family:courier new,monospace">

<span style="font-family:courier new,monospace">Out[4]: </span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">matrix([[ 0.,  1.,  1.],</span><br style="font-family:courier new,monospace">

<span style="font-family:courier new,monospace">        [ 0.,  0., -1.],</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">        [ 0.,  0.,  0.]])</span><br style="font-family:courier new,monospace">

<br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace;color:rgb(255,0,0)">In [5]: np.sign(a)   # Incorrect result?</span><br style="font-family:courier new,monospace;color:rgb(255,0,0)">

<span style="font-family:courier new,monospace;color:rgb(255,0,0)">Out[5]: 1</span><br style="font-family:courier new,monospace"><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">In [6]: import scipy</span><br style="font-family:courier new,monospace">

<br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">In [7]: scipy.__version__</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">Out[7]: &#39;0.11.0.dev-81dc505&#39;</span><br style="font-family:courier new,monospace">

<br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">In [8]: np.__version__</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">Out[8]: &#39;1.6.1&#39;</span><br>

<br><br>I think that&#39;s a bug, but if someone knows better, let me know!<br><br>Warren<br><br>