Skip to main content

Empirically estimating the distribution of the loudest candidate from a gravitational-wave search.

Project description

distromax

arXiv DOI Anaconda-Server Badge Integration Tests Anaconda-Server Badge PyPI version

Empirically estimating the distribution of the loudest candidate from a gravitational-wave search

This package implements the methods described in Tenorio, Modafferi, Keitel, Sintes (2021) to estimate the distribution of the loudest candidate from a search.

The actual implementation includes:

  • fit.py:
    • BatchMaxGumbel: Basic distromax method. Construct the batchmax distribution of a set of samples and return the corresponding Gumbel fit. Max. propagation is included as a method.
    • BatchMaxGumbelNotchingOutlier: Thin wrapper around BatchMaxGumbel to notch narrow-band outliers before computing the batchmax distribution. The specifics of this implementation are discussed on appendix B of the accompanying publication.
  • analytical.py:
    • AnalyticalGammaToGumbel: Compute the Gumbel distribution associated to the maximum of a set of independent Gamma random variables using the formulas derived in Gasull, López-Salcedo, Utzet (2015).

See the examples for concrete applications of these classes.

Citing this work

If distromax was useful for your work, we would appreciate if you cite both the software version DOI under Zenodo and one or more of the following scientific papers:

Here is a better-formatted bibtex entry for the version-independent Zenodo:

@misc{distromax,
  author       = {Tenorio, Rodrigo and
                  Modafferi, Luana M. and
                  Keitel, David and
                  Sintes, Alicia M.},
  title        = {distromax: Empirically estimating the distribution of the loudest candidate from a gravitational-wave search},
  month        = dec,
  year         = 2021,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.5763765},
  url          = {https://doi.org/10.5281/zenodo.5763765},
  note         = {\url{https://doi.org/10.5281/zenodo.5763765}}
}

For individual version DOIs, see the right sidebar at Zenodo

How to install

Please, make sure you are running on a virtual environment to avoid any conflicts with system libraries.

The simplest way is to install distromax from PyPI using pip:

pip install distromax

distromax can also be installed using conda from the conda-forge channle as follows:

conda install -c conda-forge distromax

See the official documentation to learn about conda environments.

To install directly from source, clone this repo with git clone and install using pip

git clone https://github.com/Rodrigo-Tenorio/distromax.git
cd distromax
pip install .

Troubleshooting

In some conservative systems the default setuptools may not be the latest version and installing from source may produce an erorr message such as

ERROR: setuptools==44.1.1 is used in combination with setuptools_scm>=6.x

Your build configuration is incomplete and previously worked by accident!


This happens as setuptools is unable to replace itself when a activated build dependency
requires a more recent setuptools version
(it does not respect "setuptools>X" in setup_requires).


setuptools>=31 is required for setup.cfg metadata support
setuptools>=42 is required for pyproject.toml configuration support

Suggested workarounds if applicable:
 - preinstalling build dependencies like setuptools_scm before running setup.py
 - installing setuptools_scm using the system package manager to ensure consistency
 - migrating from the deprecated setup_requires mechanism to pep517/518
   and using a pyproject.toml to declare build dependencies
   which are reliably pre-installed before running the build tools

A simple workaround in that case is to update the pip and setuptools packages

pip install --upgrade pip setuptools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

distromax-1.2.3.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

distromax-1.2.3-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file distromax-1.2.3.tar.gz.

File metadata

  • Download URL: distromax-1.2.3.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for distromax-1.2.3.tar.gz
Algorithm Hash digest
SHA256 92718c9313f77314d986077992186c2bf71639e3890b48bbbd0dddc5e326cde3
MD5 69187e7d9f7d03997ab39b52b5c5305e
BLAKE2b-256 3cb8f84ba4fe395707ea8822dde8e2b9a7c18a08530c978b0f4e073fab3b6685

See more details on using hashes here.

Provenance

The following attestation bundles were made for distromax-1.2.3.tar.gz:

Publisher: python-publish.yml on Rodrigo-Tenorio/distromax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file distromax-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: distromax-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for distromax-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5ad4e54b9bdca308f85af84c46ac08747ef06b327c1785ad7cacf20066e12ff3
MD5 f5b068610bd17bcb98d753421d9d4806
BLAKE2b-256 d095f8fcd386e14031c4e37d7c0cb721d3f936ce496181ca18c50b16c4a58006

See more details on using hashes here.

Provenance

The following attestation bundles were made for distromax-1.2.3-py3-none-any.whl:

Publisher: python-publish.yml on Rodrigo-Tenorio/distromax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page