  One of the main applications of future quantum computers will be the
simulation of quantum models. While the evolution of a quantum state under a
Hamiltonian is straightforward (if sometimes expensive), using quantum
computers to determine the ground state phase diagram of a quantum model and
the properties of its phases is more involved. Using the Hubbard model as a
prototypical example, we here show all the steps necessary to determine its
phase diagram and ground state properties on a quantum computer. In particular,
we discuss strategies for efficiently determining and preparing the ground
state of the Hubbard model starting from various mean-field states with broken
symmetry. We present an efficient procedure to prepare arbitrary Slater
determinants as initial states and present the complete set of quantum circuits
needed to evolve from these to the ground state of the Hubbard model. We show
that, using efficient nesting of the various terms each time step in the
evolution can be performed with just $\mathcal{O}(N)$ gates and
$\mathcal{O}(\log N)$ circuit depth. We give explicit circuits to measure
arbitrary local observables and static and dynamic correlation functions, both
in the time and frequency domain. We further present efficient non-destructive
approaches to measurement that avoid the need to re-prepare the ground state
after each measurement and that quadratically reduce the measurement error.
