title: Add scipy sparse row matrix to another sparse matrix
body: <p>I have a <code>csr_matrix</code> <code>A</code> of shape <code>(70000, 80000)</code> and another <code>csr_matrix</code> <code>B</code>of shape <code>(1, 80000)</code>. How can I efficiently add B to every row of A? One idea is to somehow create a sparse matrix <code>B'</code> which is rows of <code>B</code> repeated, but <code>numpy.repeat</code> does not work and using a matrix of ones to create <code>B'</code> is very memory inefficient. </p>
  
  <p>I also tried iterating through every row of <code>A</code> and adding <code>B</code> to it, but that again is very time inefficient.</p>
  
  <p><strong>Update:</strong>
  I tried something very simple which seems to be very efficient than the ideas I mentioned above. The idea is to use <code>scipy.sparse.vstack</code>:</p>
  
  <pre><code>C = sparse.vstack([B for x in range(A.shape[0])])
  A + C
  </code></pre>
  
  <p>This performs well for my task! Few more realizations: I initially tried an iterative approach where I called <code>vstack</code>multiple times, this approach is slower than calling it just once.</p>