Given an `NxN`

matrix `Mat`

, I would like to have a vector of upper diagonal elements `Vec`

of the matrix. Are there anyways, without using a nested loop, to do this? With a nested loop

```
Vec = None
for i in range(N):
for j in range(N):
if i>j:
if Vec is None:
Vec = adjacency[:, i, j].unsqueeze(1)
else:
Vec = torch.cat((Vec, adjacency[:, i, j].unsqueeze(1)), dim=1)
```

where Vec is an `N(N-1)/2`

-dimensional vector.