refactor EigenSolver<> as ParallelObject