Installing Mathematica Packages

If you are a regular user we recommend that you install the Toolkit Mathematica packages via the Paclet server. The instructions for doing this are given immediately below. If you are a developer see the Mathematica developer instructions.

Currently the following packages can be installed from the Paclet server and have no dependencies: SpinWeightedSpheroidalHarmonics, KerrGeodesics, PostNewtonianSelfForce, GeneralRelativityTensors. The following packages depend on SpinWeightedSpheroidalHarmonics and KerrGeodesics so you must install these for them to work: ReggeWheeler and Teukolsky.

Add the Black Hole Perturbation Toolkit Paclet Server

This step only needs to be done once and persists even if you quit and restart Mathematica.

Mathematica 12.1 or newer

Add the Black Hole Perturbation Toolkit paclet server to Mathematica’s list of paclet servers.

PacletSiteRegister["https://pacletserver.bhptoolkit.org", "Black Hole Perturbation Toolkit Paclet Server"]

Get an updated list of packages available on the server.

PacletSiteUpdate["https://pacletserver.bhptoolkit.org"]

To see which paclets are available:

PacletFindRemote["*", <|"Location" -> "https://pacletserver.bhptoolkit.org"|>]

Mathematica 12.0 or older

Add the Black Hole Perturbation Toolkit paclet server to Mathematica’s list of paclet servers.

PacletSiteAdd["http://pacletserver.bhptoolkit.org", "Black Hole Perturbation Toolkit Paclet Server"]

Get an updated list of packages available on the server.

PacletSiteUpdate["http://pacletserver.bhptoolkit.org"]

To see which paclets are available:

PacletFindRemote["*", "Location" -> "http://pacletserver.bhptoolkit.org"]

Install packages

To install all of the packages currently available in the toolkit:

PacletInstall["GeneralRelativityTensors"];
PacletInstall["KerrGeodesics"];
PacletInstall["PostNewtonianSelfForce"];
PacletInstall["ReggeWheeler"];
PacletInstall["SpinWeightedSpheroidalHarmonics"];
PacletInstall["Teukolsky"];
PacletInstall["PerturbationEquations"];

Updating to latest version of a package

If a new version of a package becomes available, you can easily upgrade to the latest version by first running the PacletSiteUpdate command as above, and then running PacletInstall for the chosen package.

Loading a package

Once installed, each package can be loaded via, e.g.,

<< ReggeWheeler`