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.