  Efficiently learning an unknown Hamiltonian given access to its dynamics is a
problem of interest for quantum metrology, many-body physics and machine
learning. A fundamental question is whether learning can be performed at the
Heisenberg limit, where the Hamiltonian evolution time scales inversely with
the error, $\varepsilon$, in the reconstructed parameters. The Heisenberg limit
has previously been shown to be achievable for certain classes of qubit and
bosonic Hamiltonians. Most recently, a Heisenberg-limited learning algorithm
was proposed for a simplified class of fermionic Hubbard Hamiltonians
restricted to real hopping amplitudes and zero chemical potential at all sites,
along with on-site interactions. In this work, we provide an algorithm to learn
a more general class of fermionic Hubbard Hamiltonians at the Heisenberg limit,
allowing complex hopping amplitudes and nonzero chemical potentials in addition
to the on-site interactions, thereby including several models of physical
interest. The required evolution time across all experiments in our protocol is
$\mathcal{O}(1/\varepsilon)$ and the number of experiments required to learn
all the Hamiltonian parameters is $\mathcal{O}(\text{polylog}(1/\varepsilon))$,
independent of system size as long as each fermionic mode interacts with
$\mathcal{O}(1)$ other modes. Unlike prior algorithms for bosonic and fermionic
Hamiltonians, to obey fermionic parity superselection constraints in our more
general setting, our protocol utilizes $\mathcal{O}(N)$ ancillary fermionic
modes, where $N$ is the system size. Each experiment involves preparing
fermionic Gaussian states, interleaving time evolution with fermionic linear
optics unitaries, and performing local occupation number measurements on the
fermionic modes. The protocol is robust to a constant amount of state
preparation and measurement error.
