Solved by KFrank in post #2 
              
              
                Hi Qiyao! 

Your matrix, a, is not symmetric, but torch.symeig() expects a 
symmetric matrix to be passed in.  Use torch.eig() for a general, 
square, non-symmetric matrix. 
(In practice, I believe that symeig() just uses the upper triangle of 
the matrix you pass in.) 
Best. 
K. Frank