I am trying to re-order a tensor of eigenvalues and eigenvectors in numpy in descending order. I have partially used this answer to do so.
I am now trying to do the ordering on an array of eigenvalues of shape (32448,3) and eigenvectors of shape (32448,3,3) respectively. Here is the code that I am currently using:
# compute eigenvalues and eigenvectors using numpy
eigenvalues, eigenvectors = eigh(struct)
# sort eigenvalues and eigenvectors in descending order of eigenvalues
idx = np.argsort(eigenvalues, axis=1)[:,::-1]
print(idx.shape)
# (32448, 3)
eigenvalues = eigenvalues[:,idx]
eigenvectors = eigenvectors[:,:,idx]
Computing the indexes goes fine, however as soon as the line eigenvalues = eigenvalues[:,idx] executes, my program pretty much breaks; it hangs up and I have to terminate it.