rayXpanda¶
Schwarzschild null geodesic expansion to high-order¶
The rayXpanda
extension modules supply compiled functions for fast
approximation of several null geodesic properties in the Schwarzschild
spacetime, without need for numerical integration or interpolation or any
external numerical libraries for that matter. These routines can thus be used
to verify numerical integration due to the orthogonality. Alternatively, these
routines can be called directly by a given application in place of calls to
other library functions for null geodesic computation.
Install¶
Run the setup.py
script:
CC=<compiler> python setup.py install [--user]
You require Cython to compile to C, and then the extensions will be compiled.
For example, set CC=gcc
for GNU or CC=icc
for Intel, depending on
your preferences and system.
If you wish to call the C functions from another Cython module, use:
from rayXpanda.deflection cimport c_deflect
from rayXpanda.inversion cimport c_invert
If you wish to call the C functions from a C program, use:
#include "deflection.h"
#include "inversion.h"
and add the rayXpanda
source directory to the include path for compilation
of your C program. When linking, point to the directory containing the shared
objects that were compiled when rayXpanda
was installed.
To compile the documentation you require a Sphinx installation:
cd rayXpanda/docs; make html
You may then view the documentation in a browser. The files may be found in:
rayXpanda/docs/build/html