  The discontinuous Petrov-Galerkin (DPG) methodology of Demkowicz and
Gopalakrishnan [15,17] guarantees the optimality of the solution in an energy
norm, and provides several features facilitating adaptive schemes. A key
question that has not yet been answered in general - though there are some
results for Poisson, e.g. - is how best to precondition the DPG system matrix,
so that iterative solvers may be used to allow solution of large-scale
problems.
  In this paper, we detail a strategy for preconditioning the DPG system matrix
using geometric multigrid which we have implemented as part of Camellia [26],
and demonstrate through numerical experiments its effectiveness in the context
of several variational formulations. We observe that in some of our
experiments, the behavior of the preconditioner is closely tied to the discrete
test space enrichment.
  We include experiments involving adaptive meshes with hanging nodes for
lid-driven cavity flow, demonstrating that the preconditioners can be applied
in the context of challenging problems. We also include a scalability study
demonstrating that the approach - and our implementation - scales well to many
MPI ranks.
