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 details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

Details for the file Voiager-1.0.0.tar.gz.

File metadata

  • Download URL: Voiager-1.0.0.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for Voiager-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d5185b8018cf0df30565988ec18ab35f0cdbdd4a1df3bd8b8fd60aecc9a7278c
MD5 cfc50816e2db1596daf2956e8ca84c86
BLAKE2b-256 450ba29a10b3c23ecae7d45e5ec3ac61f6fc8b47d5e02e857ed445863e4970e4

See more details on using hashes here.

File details

Details for the file Voiager-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: Voiager-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for Voiager-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2a9c0e4df85297fccbd938f9c8f3d2dbb517f9f2a7c964175cb29cc160187ed
MD5 541075201ddb5a46e6e618cc489f27ab
BLAKE2b-256 93b2f5acfd3d08caa3c1a596eb3d071350a3aafae8dc827f7ddf7ada8434f133

See more details on using hashes here.

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