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.