A reference implementation of box least squares in Python
An efficient reference implementation of the box least squares algorithm for transiting exoplanet search in Python. This will eventually be submitted as a pull request to the core AstroPy package, but we’re making it available here for now to make it easy to use right away.
To install and run this package, you will need to have NumPy, Cython, and AstroPy installed. The recommended installation method is:
conda install numpy cython astropy
To install, clone this repository and build the extension as follows:
git clone https://github.com/dfm/bls.py.git cd bls.py python setup.py install
or, install using pip:
pip install bls.py
OpenMP support: This algorithm can optionally be parallelized using OpenMP. To enable this feature, you must compile with a compiler that supports OpenMP and the relevant flags. On macOS, this can be achieved by installing a recent llvm:
brew install llvm
and then building using the following flags:
CC=/usr/local/opt/llvm/bin/clang \ LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib -liomp5" \ CFLAGS="-I/usr/local/opt/llvm/include -fopenmp" \ python setup.py install
On other platforms, a command like the following might be sufficient:
CFLAGS="-lgomp -fopenmp" python setup.py install
See tutorial.ipynb for a demonstration of how to use the code.