June 9, 1996
The XStar program started out as a simple screen saver, but it evolved into a fairly
large N-body problem solver. Likewise, this document started out as just the theory behind
the XStar program, but it has evolved into a fairly complete overview of the N-body
problem. While this document still emphasizes the aspects of the N-body problem that are
relevant to XStar, it now covers enough of the N-body problem that the reader should have
most of the background needed in order to understand the current research level papers on
the N-body problem. Yet another way of viewing this document is as a case study in
numerical analysis, as the N-body problem covers many of the important topics in this
This document concentrates on the "why" more than the "how", and the options
and trade-offs instead of the details and implementation. Derivations of formulas are only
done in order to make it clear how areas are related, proofs are almost always skipped.
These details can be obtained by using the referenced material. A background in integral
and differential calculus and a college level physics course will be assumed, although
someone without that background may well be able to follow most of the discussion.
Knowledge of differential equations and basic numerical analysis would be a helpful,
although not required.
1.0 covers the issues involved with the N-body problem, from the mathe-
matical foundations, to the important characteristics that a good solution should have. Sec-
tions 2.0, 3.0, and 4.0 each cover one of the three major areas where a N-body program
can gain or lose efficiency. Sections 5.0 and 6.0 cover the conclusions that were found for
the XStar program. For other programs, these conclusions may not apply, but they give an
idea of what needs to be considered.
As far as the books and papers that are referenced by this document, the physics
and calculus books can be replaced by any good college level text book without any loss
in coverage. If you can't get the required background of physics and math from a college
text book picked out at random, then that text book isn't any good.
None of the numerical analysis books seem to cover all of the details that need to
be covered, and yet many of them contain in-depth proofs that are often beyond the scope
of what needs to be covered. It appears that you will often need to reference a fairly large
number of numerical analysis books in order to get adequate coverage (and explanations).
The two numerical analysis books that stand out are
Numerical Recipes in C
, and the
1968 Schaum's Outline Series',
Theory and Problems of Numerical Analysis
. I find it
This document is best viewed as n-body.pdf because the translation to html was buggy.