hamiltonian_solver