Make arbitrarily structured, arbitrary-dimension boxes and log-normal mocks.
powerbox
is a pure-python code for creating density grids (or boxes) that have an arbitrary two-point distribution
(i.e. power spectrum). Primary motivations for creating the code were the simple creation of log-normal mock galaxy
distributions, but the methodology can be used for other applications.
- Works in any number of dimensions.
- Really simple.
- Arbitrary isotropic power-spectra.
- Create Gaussian or Log-Normal fields
- Create discrete samples following the field, assuming it describes an over-density.
- Measure power spectra of output fields to ensure consistency.
- Seamlessly uses pyFFTW if available for ~double the speed.
powerbox
only depends on numpy >= 1.6.2
, which will be installed automatically if powerbox
is installed
using pip
(see below). Furthermore, it has the optional dependency of pyfftw
, which if installed will offer
~2x performance increase in large fourier transforms. This will be seamlessly used if installed.
To install pyfftw
, simply do:
pip install pyfftw
To install powerbox
, do:
pip install powerbox
Alternatively, the bleeding-edge version from git can be installed with:
pip install git+git://github.com/steven-murray/powerbox.git
Finally, for a development installation, download the source code and then run (in the top-level directory):
pip install -e .
If you find powerbox
useful in your research, please cite the Journal of Open Source Software paper at
https://doi.org/10.21105/joss.00850.