suave

The Continuous-Function Estimator for 2-point statistics (trash the bins!)

https://github.com/kstoreyf/suave

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    8 of 19 committers (42.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords from Contributors

astronomy astrophysics astropy mcmc mcmc-sampler probabilistic-data-analysis reproducible-science physics jwst
Last synced: 10 months ago · JSON representation

Repository

The Continuous-Function Estimator for 2-point statistics (trash the bins!)

Basic Info
  • Host: GitHub
  • Owner: kstoreyf
  • License: mit
  • Language: C
  • Default Branch: master
  • Homepage:
  • Size: 161 MB
Statistics
  • Stars: 12
  • Watchers: 2
  • Forks: 2
  • Open Issues: 2
  • Releases: 0
Fork of manodeep/Corrfunc
Created over 7 years ago · Last pushed about 5 years ago
Metadata Files
Readme Changelog License Code of conduct

README.rst

``suave``: The Continuous-Function Estimator
============================================

|PyPI| |MIT licensed| |RTD| |Continuous-Function Estimator Paper| |Corrfunc Paper I| |Corrfunc Paper II|

This is an implementation of the Continuous-Function Estimator, a generalization of the standard (Landy-Szalay) estimator for the two-point correlation function. 
We call this tool ``suave`` which means *smooth* in Spanish (pronounced **swah**-beh), as it can produce smooth (continuous) correlation functions. 
It is built within the `Corrfunc `_  package, by Manodeep Sinha and Lehman Garrison; check out the full Corrfunc README at the original repo.

The 2-point correlation function measures the clustering of galaxies (or other tracers) as a function of scale. 
Traditionally, this is done by counting the pairs of galaxies in a given separation bin, and normalizing by the pairs in a uniform random catalog. 

The Continuous-Function Estimator eliminates the need for binning, in separation or any other quantity. 
Rather, it projects the pairs onto any user-defined set of basis functions.
It replaces the pair counts with vectors, and the random normalization vector term with a matrix, that describe the contribution of the pairs to each basis function.
The correlation function can then be directly evaluated at any separation, resulting in a continuous estimation.

An example script for using the estimator is in `example_theory.ipynb `_.
The Continuous-Function Estimator is currently implemented in the DD(s, mu) pair counting statistic for both mock and theory data.
Currently implemented bases are tophat and piecewise.
General r-dependent basis functions can be read in from a file; helper routines for these include spline basis functions of any order and a baryon acoustic oscillation fitting function.

The paper presenting this method can be found at https://arxiv.org/abs/2011.01836 (Storey-Fisher \& Hogg, Accepted to ApJ). 
Feel free to email `k.sf@nyu.edu `_ with any comments or questions, or `submit an issue `_.

Installation
============

Pre-requisites
--------------

Suave has most of the same pre-reqs as Corrfunc, as well as a couple more:

- ``make >= 3.80``
- OpenMP capable compiler like ``icc``, ``gcc>=4.6`` or ``clang >= 3.7``. You should already have a system install, but on mac/linux you can install gcc with ``conda install gcc``.
- ``gsl >= 2.4``. Use either ``conda install -c conda-forge gsl`` (MAC/linux) or ``(sudo) port install gsl`` (MAC) to install ``gsl`` if necessary.
- ``python >= 2.7`` or ``python>=3.4`` for compiling the C extensions.
- ``numpy >= 1.7`` for compiling the C extensions.
- ``scipy >= 1.6`` for the spline basis functions for ``suave`` (lower versions may work but untested) 
- ``colossus >= 1.2`` for the BAO basis functions for ``suave`` (lower versions may work but untested)  
- ``six >= 1.15`` (colossus dependency, lower versions may work but untested)

Install with pip
----------------

You can install ``suave`` via pip. We recommend doing this into a clean conda environment. You can do this and install the dependencies with the following set of commands:

::

   $ conda create -c conda-forge -n suaveenv python gsl
   $ conda activate suaveenv
   $ pip install suave

Install from source
-------------------

You should also be able to install from source. Once again you can do this in a clean conda environment:

::

   $ conda create -c conda-forge -n suaveenv python gsl
   $ conda activate suaveenv
   $ git clone https://github.com/kstoreyf/suave/
   $ cd suave
   $ make
   $ make install
   $ pip install . (--user)

Author & Maintainers
====================

The ``suave`` package was implemented by `Kate Storey-Fisher `_.
It is built within Corrfunc, which was designed by Manodeep Sinha and is currently maintained by
`Lehman Garrison `_ and `Manodeep Sinha `_.

Citing
======

If you use or reference ``suave``, please cite the ApJ paper with this bibtex entry (this will be updated once the accepted paper is published):

::

   @misc{storeyfisher2020twopoint,
      title={Two-point statistics without bins: A continuous-function generalization of the correlation function estimator for large-scale structure}, 
      author={Kate Storey-Fisher and David W. Hogg},
      year={2020},
      eprint={2011.01836},
      archivePrefix={arXiv},
      primaryClass={astro-ph.CO}
   }


If you use the code, please additionally cite the original MNRAS ``Corrfunc`` code paper with the following
bibtex entry:

::

   @ARTICLE{2020MNRAS.491.3022S,
       author = {{Sinha}, Manodeep and {Garrison}, Lehman H.},
       title = "{CORRFUNC - a suite of blazing fast correlation functions on
       the CPU}",
       journal = {\mnras},
       keywords = {methods: numerical, galaxies: general, galaxies:
       haloes, dark matter, large-scale structure of Universe, cosmology:
       theory},
       year = "2020",
       month = "Jan",
       volume = {491},
       number = {2},
       pages = {3022-3041},
       doi = {10.1093/mnras/stz3157},
       adsurl =
       {https://ui.adsabs.harvard.edu/abs/2020MNRAS.491.3022S},
       adsnote = {Provided by the SAO/NASA
       Astrophysics Data System}
   }


Finally, if you benefit from the enhanced vectorised kernels in ``Corrfunc`` (not currently used in ``suave`` but likely used if you're also using out-of-the-box ``Corrfunc``), then please also cite this paper:

::

      @InProceedings{10.1007/978-981-13-7729-7_1,
          author="Sinha, Manodeep and Garrison, Lehman",
          editor="Majumdar, Amit and Arora, Ritu",
          title="CORRFUNC: Blazing Fast Correlation Functions with AVX512F SIMD Intrinsics",
          booktitle="Software Challenges to Exascale Computing",
          year="2019",
          publisher="Springer Singapore",
          address="Singapore",
          pages="3--20",
          isbn="978-981-13-7729-7",
          url={https://doi.org/10.1007/978-981-13-7729-7_1}
      }

LICENSE
=======

Suave is released under the MIT license. Basically, do what you want
with the code, including using it in commercial application.

Project URLs
============

-  Documentation (http://suave.rtfd.io/)
-  Source Repository (https://github.com/kstoreyf/suave)
-  Original Corrfunc Documentation (http://corrfunc.rtfd.io/)
-  Original Corrfunc Source Repository (https://github.com/manodeep/Corrfunc)

Support
=======

This work was supported by a NASA FINESST grant under award 80NSSC20K1545.


.. |logo| image:: https://github.com/manodeep/Corrfunc/blob/master/corrfunc_logo.png
    :target: https://github.com/manodeep/Corrfunc
    :alt: Corrfunc logo
.. |Release| image:: https://img.shields.io/github/release/kstoreyf/suave.svg
   :target: https://github.com/kstoreyf/suave/releases/latest
   :alt: Latest Release
.. |PyPI| image:: https://img.shields.io/pypi/v/suave.svg
   :target: https://pypi.python.org/pypi/suave
   :alt: PyPI Release
.. |MIT licensed| image:: https://img.shields.io/badge/license-MIT-blue.svg
   :target: https://raw.githubusercontent.com/manodeep/Corrfunc/master/LICENSE
   :alt: MIT License
.. |RTD| image:: https://readthedocs.org/projects/suave/badge/?version=latest
   :target: https://suave.readthedocs.io/en/latest
   :alt: Documentation Status

.. |Continuous-Function Estimator Paper| image:: https://img.shields.io/badge/arXiv-2011.01836-%23B31B1B
   :target: https://arxiv.org/abs/2011.01836
   :alt: Continuous-Function Estimator Paper
.. |Corrfunc Paper I| image:: https://img.shields.io/badge/arXiv-1911.03545-%23B31B1B
   :target: https://arxiv.org/abs/1911.03545
   :alt: Corrfunc Paper I
.. |Corrfunc Paper II| image:: https://img.shields.io/badge/arXiv-1911.08275-%23B31B1B
   :target: https://arxiv.org/abs/1911.08275
   :alt: Corrfunc Paper II

Owner

  • Name: Kate Storey-Fisher
  • Login: kstoreyf
  • Kind: user
  • Location: New York, NY

NYU Center for Cosmology and Particle Physics

GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 1,042
  • Total Committers: 19
  • Avg Commits per committer: 54.842
  • Development Distribution Score (DDS): 0.344
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Manodeep Sinha m****p@g****m 684
Manodeep Sinha m****p 143
Kate Storey-Fisher k****r@g****m 142
Lehman Garrison l****n@c****u 21
Kate Storey-Fisher k****3@n****u 18
Kate Storey-Fisher k****f 11
Lehman Garrison l****n@f****g 6
Lehman Garrison l****n@f****u 5
Lehman Garrison l****n@g 2
gbeltzmo g****n@v****u 1
Dan F-M f****y@g****m 1
Lehman Garrison l****n@e****u 1
Kris Stern k****n@g****m 1
Nick Hand n****d@b****u 1
Kate Storey-Fisher k****f@n****u 1
Andrew Hearin a****n 1
Abby Williams 6****4 1
The Gitter Badger b****r@g****m 1
Christopher Bradshaw c****b@g****m 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 4
  • Total pull requests: 13
  • Average time to close issues: 9 days
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 4.25
  • Average comments per pull request: 0.08
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kstoreyf (2)
  • manodeep (1)
  • abbyw24 (1)
Pull Request Authors
  • kstoreyf (11)
  • abbyw24 (1)
  • dfm (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 73 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 4
  • Total versions: 7
  • Total maintainers: 1
pypi.org: suave

A continuous-function estimator for 2-point statistics

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 4
  • Downloads: 73 Last month
Rankings
Dependent packages count: 7.3%
Dependent repos count: 7.7%
Average: 15.9%
Stargazers count: 16.0%
Forks count: 19.2%
Downloads: 29.4%
Maintainers (1)
Last synced: 11 months ago