  Symplectic methods, in particular the Wisdom-Holman map, have revolutionized
our ability to model the long-term, conservative dynamics of planetary systems.
However, many astrophysically important effects are dissipative. The
consequences of incorporating such forces into otherwise symplectic schemes is
not always clear. We show that moving to a general framework of non-commutative
operators (dissipative or not) clarifies many of these questions, and that
several important properties of symplectic schemes carry over to the general
case. In particular, we show that explicit splitting schemes generically
exploit symmetries in the applied external forces which often strongly suppress
integration errors. Furthermore, we demonstrate that so-called `symplectic
correctors' (which reduce energy errors by orders of magnitude at fixed
computational cost) apply equally well to weakly dissipative systems and can
thus be more generally thought of as `weak splitting correctors.' Finally, we
show that previously advocated approaches of incorporating additional forces
into symplectic methods work well for dissipative forces, but give
qualitatively wrong answers for conservative but velocity-dependent forces like
post-Newtonian corrections. We release REBOUNDx, an open-source C library for
incorporating additional effects into REBOUND N-body integrations, together
with a convenient Python wrapper. All effects are machine-independent and we
provide a binary format that interfaces with the SimulationArchive class in
REBOUND to enable the sharing and reproducibility of results. Users can add
effects from a list of pre-implemented astrophysical forces, or contribute new
ones.
