title: Add dimensions to a tensor and duplicate values along the new axes
body: <p>Suppose I have a 2D ndarray X with </p>
  
  <pre><code>X.shape == (m, n)
  </code></pre>
  
  <p>I'd like to add two more dimensions to X, while copying the values along these new axes. i.e. I want </p>
  
  <pre><code>new_X.shape == (m, n, k, l) 
  </code></pre>
  
  <p>and for all i,j </p>
  
  <pre><code>new_X[i, j, :, :] = X[i, j]
  </code></pre>
  
  <p>What's the best way to achieve this?</p>