  In this paper we define an efficient implementation for the family of
low-rank energy-conserving Runge-Kutta methods named Hamiltonian Boundary Value
Methods (HBVMs), recently defined in the last years. The proposed
implementation relies on the particular structure of the Butcher matrix
defining such methods, for which we can derive an efficient splitting
procedure. The very same procedure turns out to be automatically suited for the
efficient implementation of Gauss-Legendre collocation methods, since these
methods are a special instance of HBVMs. The linear convergence analysis of the
splitting procedure exhibits excellent properties, which are confirmed by a few
numerical tests.
