== General N-body systems == The Hermite integration scheme (by far the most commonly used scheme for dense clusters' dynamical evolution) is described here: http://adsabs.harvard.edu/abs/1992PASJ...44..141M This paper also describes a common technique for handling density differences in a cluster efficiently. Various schemes for determining the timestep is here: http://adsabs.harvard.edu/abs/1991ApJ...369..200M A generalization of the Hermite scheme to 6th and 8th orders is in: http://adsabs.harvard.edu/abs/2008NewA...13..498N It may look like adaptive timesteps are not good for long term integrations, but some of the long term properties of symplectic integrators are recovered by time symmetrization, i.e., letting the length of the timestep depend on the values of the variables at the beginning and at the end of the step: http://adsabs.harvard.edu/abs/2006NewA...12..124M An example of mixing two ways of calculating forces via splitting methods is in http://adsabs.harvard.edu/abs/2007PASJ...59.1095F Finally most of these are explained in a more pedagogical manner at http://www.artcompsci.org/ This site also has a discussion of initial conditions. == Near-Keplerian N-body systems == The most commonly used code, Mercury, is described in the paper: http://adsabs.harvard.edu/abs/1999MNRAS.304..793C This paper discusses the 3-way splitting I mentioned. This splitting was discovered by http://adsabs.harvard.edu/abs/1998AJ....116.2067D but their treatment of close encounters is too complicated for my taste. The problem arising from the close encounters with the central object (nearly parabolic orbits, or orbits with eccentricity nearly unity, or orbits with almost zero energy in the Keplerian part of the Hamiltonian) is described and to some extent solved in http://adsabs.harvard.edu/abs/2000AJ....120.2117L An interesting integrator that uses splitting, but is not symplectic is given in http://adsabs.harvard.edu/abs/2008MNRAS.384..323L == Further Thoughts == A common bottleneck in near-Keplerian integrators is solving Kepler's equation for arbitrary epoch. The ``standard'' approach is described in Danby's book: http://adsabs.harvard.edu/abs/1992fcm..book.....D He also has a series of three papers: http://adsabs.harvard.edu/abs/1983CeMec..31...95D http://adsabs.harvard.edu/abs/1983CeMec..31..317B http://adsabs.harvard.edu/abs/1987CeMec..40..303D I have the feeling that there is room for improvement here. I implemented a Kepler solver in C. The code and the ideas I used can be found in http://www.strw.leidenuniv.nl/~gurkan/kepler/sol_kep/sol_kep.html The implementation of Kepler solver used by Mercury is part of the SWIFT package: http://www.boulder.swri.edu/~hal/swift.html Even though I did not mention in my talk, an important technique in few body problems used in connection to splitting methods is the time transformation, in particular "algorithmic regularization". This is of course well known in applied mathematics community as well (e.g., Blanes & Budd's EASY integrators). Here are a few references by astronomers: http://adsabs.harvard.edu/abs/1997CeMDA..67..145M http://adsabs.harvard.edu/abs/1999CeMDA..74..287M http://adsabs.harvard.edu/abs/1999AJ....118.2532P Seppo Mikkola has done a lot of work related to few-body integrations: http://adsabs.harvard.edu/abs/2002CeMDA..82..375M http://adsabs.harvard.edu/abs/2009NewA...14..607H The first paper (and references therein) discusses transforming back and forth, and hence sidestepping solving Kepler's equation by iteration. The second one demonstrates that an important perturbation (1/r^2) can be integrated analytically. I have yet to implement either of these.