Skip to main content

Perform cosmological analyses using voids identified in large-scale structure survey data

Project description

Voiager

Voiager

GitHub Release PyPI - Status Read the Docs arXiv arXiv arXiv arXiv arXiv

Void dynamics and geometry explorer (Voiager, or short Vger) provides a framework to perform cosmological analyses using voids identified in large-scale structure survey data. The code measures dynamic and geometric shape distortions in void stacks and propagates them to constraints on cosmological parameters using Bayesian inference. More detailed information on this method can be found in the publications listed below. The documentation of the code can be found on ReadtheDocs.

Voiager is an homage to NASA's Voyager program. The twin Voyager 1 and 2 spacecrafts are exploring where nothing from Earth has flown before. Continuing on their nearly 50-year journey since their 1977 launches, they each are much farther away from Earth and the sun than Pluto.

"Voyager did things no one predicted, found scenes no one expected, and promises to outlive its inventors. Like a great painting or an abiding institution, it has acquired an existence of its own, a destiny beyond the grasp of its handlers." — Stephen J. Pyne

Vger, the abbreviation for Voiager, is an homage to Star Trek: the center of the enormous vessel contained the oldest part of V'ger – Voyager 6, an unmanned deep space probe launched by NASA in the late 20th century. The entire vessel surrounding the Voyager probe had been built by an unknown race of machine entities (possibly the Borg) in order to help it complete what the latter interpreted to be its primary programming: "learn all that is learnable", and return that knowledge to its creator. During its journey, the probe had come to think of itself as V'ger after the only remaining legible letters from its original name (the "O", "Y", "A", and "6" on the nameplate having been obscured from encounters with previous spatial hazards), and amassed knowledge to such a degree as to become self-aware.

"On its journey back, it amassed so much knowledge, it achieved consciousness itself. It became a living thing." — James T. Kirk, 2270s

Features

The main functionality of Voiager includes the following steps:

  • Reading of tracer and void catalogs (based on VIDE)
  • Generation of random catalogs (based on healpy)
  • Estimation of void-galaxy cross-correlation functions (based on scipy k-d trees)
  • Projection and deprojection along the line of sight (based on PyAbel)
  • Estimation of covariances (based on jackknife resampling)
  • Models and likelihood functions (based on linear theory and Gaussian statistics)
  • Maximization of likelihoods (based on scipy.optimize)
  • Sampling of likelihoods (based on emcee)
  • Plotting of summary statistics and results (based on matplotlib and GetDist)

Installation

The latest stable version on https://pypi.org is obtained via:

pip install Voiager

You may want to append the --user flag, or use a virtual environment, in case you are working on a machine without admin rights. The latest development version on github is obtained via:

git clone https://github.com/nhamaus/Voiager.git
cd Voiager
pip install .

External package requirements are provided in the file requirements.txt. Follow the instructions provided on the VIDE wiki to install VIDE. For correctly rendering the plots you additionally need LaTeX. To install the necessary LaTeX packages on a linux machine, you can do

sudo apt-get install texlive texlive-latex-extra cm-super dvipng

Usage

The simplest way to get started is to run the executable voiager from a terminal within the Voiager/ package directory. This launches Voiager following launch.py with python (version 3). For further help on its usage, type:

voiager --help

Voiager is set up to perform an example run from the Beyond-2pt blind data challenge, which consists of a simulated mock-galaxy lightcone in a wCDM cosmology (C_mock_lightcone.h5). It is based on a public halo catalog within the AbacusSummit set of simulations and a halo occupation distribution (HOD) formalism (credits: Andres Salcedo, Yosuke Kobayashi, and Elisabeth Krause). The input data is retrieved from the catalogs/ folder including void catalogs produced with VIDE, while the output of the code is stored in the results/ directory.

The example data in catalogs/ and the example results in results/ are not automatically downloaded upon installation, but they can be accessed via the repository. Once the data is publicly released, the catalogs/ folder can be downloaded as a compressed archive catalogs.tar.gz and unpacked within the main code directory via

tar -xvzf catalogs.tar.gz

All the parameters of Voiager are configured in the file params.yaml, which is used as default configuration. You can also point to your customized parameter file in yaml format like this:

voiager 'path/to/parameter_file.yaml'

Previously calculated data vectors are saved in the file stacks.dat, this step in the pipeline will be skipped in case the file already exists (i.e., it needs to be removed to start a new calculation, but note that it requires about 32GB of available memory). Similarly, the files named chains.dat contain previously run MCMCs, which the code will continue sampling when found. Human readable ASCII versions of the chains are also produced.

The file params.yaml contains the main adjustable parameters of the code, each of which appears with a brief comment about its meaning.

Publications

The development of Voiager is based on a consecutive series of papers: Hamaus et al. 2015, 2016, 2017, 2020, 2022. Please consider citing those that are relevant for your particular application of Voiager. Citation records can be retrieved via the NASA ADS server:

License

This code is copyrighted under the MIT licence, see LICENSE.

Contact

You can reach me via the information provided on my personal homepage.

Acknowledgments

I am grateful for invaluable scientific interactions with the following people who, among others, shaped the design of Voiager:

  • Alice Pisani
  • Ben Wandelt
  • Carlos Correa
  • Giorgia Pollina
  • Giovanni Verza
  • Giulia Degni
  • Guilhem Lavaux
  • Jin-Ah Choi
  • Jochen Weller
  • Marie Aubert
  • Marie-Claude Cousinou
  • Nico Schuster
  • Paul Sutter
  • Sebastian Stammler
  • Sofia Contarini
  • Stéphanie Escoffier

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

Voiager-1.0.0.tar.gz (34.9 kB view hashes)

Uploaded Source

Built Distribution

Voiager-1.0.0-py3-none-any.whl (36.5 kB view hashes)

Uploaded Python 3

Supported by

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