hamiltonian-learning