title: Finding euclidean distance given an index array and a pytorch tensor
body: <p>I got a pytorch tensor: </p>
  
  <pre><code>Z = np.random.rand(100,2)
  tZ = autograd.Variable(torch.cuda.FloatTensor(Z), requires_grad=True)
  </code></pre>
  
  <p>and an index array: </p>
  
  <pre><code>idx = (np.array([0, 0, 0, 4, 3, 8], dtype="int64"),
         np.array([0, 1, 2, 3, 7, 4], dtype="int64"))
  </code></pre>
  
  <p>I need to find the distances of all the pairs of points in my tZ tensor using the idx array as indexes. </p>
  
  <p>Right now I am doing it using numpy, but it would be nice if it could all be done using torch</p>
  
  <pre><code>dist = np.linalg.norm(tZ.cpu().data.numpy()[idx[0]]-tZ.cpu().data.numpy()[idx[1]], axis=1)
  </code></pre>
  
  <p>If anyone knows a way of doing it utilizing pytorch, to speed it up, it would be a great help!</p>