modified the general eigensolver.