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.


[1]   MyBinder online NRPyPN notebook,

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.