Geometric Numerical Integration Structure-Preserving Algorithms for Ordinary Differential Equations - Hairer, E. (Ernst) (Springer, 2006)