Closed
Description
As pointed out by @pmli in #27, the current implementation involves unnecessarily computing the characteristic polynomial, and then finding its roots. This is inefficient and numerically unstable. Much better to use np.linalg.eigvals
.