## NRPyPN: Validated Post-Newtonian Expressions for Input into
Wolfram Mathematica, SymPy, or Highly-Optimized C Codes.
Also provides low-eccentricity binary black hole initial data
parameters for Bowen-York initial data (e.g., TwoPunctures)

Zachariah B. Etienne <zachetie *at* gmail *dot* com>

December 22, 2020

Post-Newtonian theory results in some of the longest and most complex mathematical expressions ever derived
by humanity.

These expressions form the core of most gravitational wave data analysis codes, as well as codes used to
construct low-eccentricity initial data for numerical relativity simulations of compact binary systems (e.g., using
TwoPunctures), but generally the expressions are written in a format that is either inaccessible by others (i.e.,
closed-source) or written directly in e.g., C code and thus incompatible with symbolic algebra packages like
Wolfram Mathematica or the Python-based SymPy.

Once in a symbolic algebra package, these expressions could be manipulated, extended, and output as more
optimized C codes (e.g., using SymPy/NRPy+, thus speeding up gravitational wave data analysis and making it
easier to quickly get needed low-eccentricity parameters for setting up binary black hole initial
data).

NRPyPN aims to provide a trusted source for validated Post-Newtonian expressions useful for
gravitational wave astronomy, using the open-source SymPy computer algebra system, so that expressions
can be output into Wolfram Mathematica or highly optimized C codes using the SymPy-based
NRPy+.

In particular, NRPyPN exists within the Einstein Toolkit to provide a convenient interface for computing
parameters for low-eccentricity binary black hole initial data, as computed by the TwoPunctures thorn. The
interface for accomplishing this is provided by at the bottom of the well-documented, interactive Jupyter
notebook located at NRPyPN.ipynb in the Einstein Toolkit. Instructions for getting the Jupyter notebook up and
running are provided in the README file.

If you do not have Jupyter installed the online version at [1] may be used instead.

### References

### 1 Parameters

### 2 Schedule

This section lists all the variables which are assigned storage by thorn EinsteinInitialData/NRPyPN. Storage
can either last for the duration of the run (Always means that if this thorn is activated storage will
be assigned, Conditional means that if this thorn is activated storage will be assigned for the
duration of the run if some condition is met), or can be turned on for the duration of a schedule
function.

#### Storage

NONE