Static condensation for hybrid discontinuous Galerkin methods

There are a lot of PETSc things to help you out. You could also use a fieldsplit preconditioner, and approximate the Schur complement, see this documentation page.