- l, U = beta.eig(eigenvectors = True)
- Q = U @ torch.diag(l[:, 0].clamp(min = 0) ** 0.5) # clamp deals with ~0 negative values
+ W = torch.linalg.eig(beta)
+ l, U = W.eigenvalues.real, W.eigenvectors.real
+ Q = U @ torch.diag(l.clamp(min = 0) ** 0.5) # clamp deals with ~0 negative values