title: Substitute for numpy broadcasting using scipy.sparse.csc_matrix
body: <p>I have in my code the following expression:</p>
  
  <pre><code>a = (b / x[:, np.newaxis]).sum(axis=1)
  </code></pre>
  
  <p>where <code>b</code> is an ndarray of shape <code>(M, N)</code>, and <code>x</code> is an ndarray of shape <code>(M,)</code>. Now, <code>b</code> is actually sparse, so for memory efficiency I would like to substitute in a <code>scipy.sparse.csc_matrix</code> or <code>csr_matrix</code>. However, broadcasting in this way is not implemented (even though division or multiplication is guaranteed to maintain sparsity) (the entries of <code>x</code> are non-zero), and raises a <code>NotImplementedError</code>. Is there a <code>sparse</code> function I'm not aware of that would do what I want? (<code>dot()</code> would sum along the wrong axis.)</p>