List of cosmological computation software

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

The cosmic microwave background (CMB) is the thermal radiation assumed to be left over from the "Big Bang" of cosmology. The CMB is a snapshot of the oldest light in our universe, imprinted on the sky when the universe was just 380,000 years old. It shows tiny temperature fluctuations that correspond to regions of slightly different densities, representing the seeds of all future structure: the stars and galaxies of today. Therefore, analysis of the small anisotropies in the CMB helps us to understand the origin and the fate of our universe. In past few decades, there has been a lot of improvement in the observations and several experiments, performed to understand the basic structure of the universe. For analyzing data of different cosmological experiments and for understanding the theoretical nature of the universe many advanced methods and computing software are developed in and used by Cosmologists for years. These software are widely used by the cosmologists across the globe.

The computational software, used in cosmology can be classified into the following major classes.

  • Map generation and processing software: These software are used for preparing the CMB sky maps from the crude observational data. The software HEALPIX[1][2][3] is used for map generation and processing.
  • Cosmological Boltzmann codes: These codes are used for calculating the theoretical power spectrum given the cosmological parameters. These codes are capable of calculating the power spectrum from the standard LCDM model or its derivatives. Some of the most used CMB Boltzmann codes are CMBFAST,[4][5][6] CAMB,[7] CMBEASY,[8][9] CLASS,[10][11][12] CMBAns etc.
  • Cosmological parameter estimator: The parameter estimation codes are used for calculating the best-fit parameters from the observation data. The ready to use codes available for this purpose are CosmoMC,[13][14] AnalyzeThis,[15] SCoPE[16] etc.

Map generation and processing software

HEALPix

HEALPix (sometimes written as Healpix), an acronym for Hierarchical Equal Area isoLatitude Pixelisation of a 2-sphere, can refer to either an algorithm for pixelization of the 2-sphere, an associated software package, or an associated class of map projections. Healpix is widely used for cosmological random map generation. The original motivation for devising HEALPix was one of necessity. NASA's WMAP and the European Space Agency’s mission Planck - produce multi-frequency data sets sufficient for the construction of full-sky maps of the microwave sky at an angular resolution of a few arc minutes. The principal requirements in the development of HEALPix were to create a mathematical structure that supports a suitable discretization of functions on a sphere at sufficiently high resolution, and to facilitate fast and accurate statistical and astrophysical analysis of massive full-sky data sets. The HEALPix maps are used in almost all the data processing research in cosmology.

Cosmological Boltzmann codes

CMBFAST

CMBFAST is a computer code, developed by Uroš Seljak and Matias Zaldarriaga (based on a Boltzmann code written by Edmund Bertschinger, Chung-Pei Ma and Paul Bode) for computing the power spectrum of the cosmic microwave background anisotropy. It is the first efficient program to do so, reducing the time taken to compute the anisotropy from several days to a few minutes by using a novel semi-analytic line-of-sight approach.

CAMB

Code for Anisotropies in the Microwave Background by Antony Lewis and Anthony Challinor. The code was originally based on CMBFAST. Later several developments are made to make it a faster and more accurate and compatible with the present research. The code is written in an object oriented manner to make it more user friendly.

CMBEASY

CMBEASY is a software package written by Michael Doran, Georg Robbers and Christian M. Müller. The code is based on the CMBFAST package. CMBEASY is fully object oriented C++. This considerably simplifies manipulations and extensions of the CMBFAST code. In addition, a powerful Spline class can be used to easily store and visualize data. Many features of the CMBEASY package are also accessible via a graphical user interface. This may be helpful for gaining intuition, as well as for instruction purposes.

CLASS

CLASS is a new Boltzmann code developed in this line. The purpose of CLASS is to simulate the evolution of linear perturbations in the universe and to compute CMB and large scale structure observables. Its name also comes from the fact that it is written in object-oriented style mimicking the notion of class. Classes are a wonderful programming feature available, e.g., in C++ and python, but these languages are known to be less vectorizable/parallelizable than plain C (or Fortran), and hence potentially slower. CLASS is written in plain C for high performances, while organizing the code in a few modules that reproduce the architecture and philosophy of C++ classes, for optimal readability and modularity.

Parameter estimation packages

File:Snapshot3-2-.png
A snapshot of AnalyzeThis (CMBEASY) GUI package. The plot shows the marginalize probability distribution from a MCMC chain.

AnalizeThis

AnalizeThis is a parameter estimation package used by cosmologists. It comes with the CMBEASY package. The code is written in C++ and uses the global metropolis Algorithm for estimation of cosmological parameters. The code was developed by Michael Doran, for parameter estimation using WMAP-5 likelihood. However, the code was not updated after 2008 for the new CMB experiments. Hence this package is currently not in use by the CMB research community. The package comes up with a nice GUI.

CosmoMC

CosmoMC is a Fortran 2003 Markov chain Monte Carlo (MCMC) engine for exploring cosmological parameter space. The code does brute force (but accurate) theoretical matter power spectrum and Cl calculations using CAMB. CosmoMC uses a simple local Metropolis algorithm along with an optimized fast-slow sampling method. This fast-slow sampling method provides faster convergence for the cases with many nuisance parameters like Planck. CosmoMC package also provides subroutines for post processing and plotting of the data.

CosmoMC was written by Antony Lewis in 2002 and later several versions are developed to keep the code up-to date with different cosmological experiments. It is presently the most used cosmological parameter estimation code.

SCoPE

SCoPE/Slick Cosmological Parameter Estimator is a newly developed cosmological MCMC package written by Santanu Das in C language. Apart of standard global metropolis algorithm the code uses three unique technique named as 'delayed rejection' that increases the acceptance rate of a chain, 'pre-fetching' that helps an individual chain to run on parallel CPUs and 'inter-chain covariance update' that prevents clustering of the chains allowing faster and better mixing of the chains. The code is capable of faster computation of cosmological parameters from WMAP and Planck data.

Other packages

  • MADCAP - Microwave Anisotropy Data Computational Analysis Package developed by Borrill et al.
  • RECFAST - Software was developed by Seager, Sasselov, and Scott and used to calculate the recombination history of the universe. The package is used by cosmological boltzmann codes (CMBFast, CAMB etc.)

Likelihood software packages

Different cosmology experiments, in particular the CMB experiments like WMAP and Planck measures the temperature fluctuations in the CMB sky and then measure the CMB power spectrum from the observed skymap. But for parameter estimation the χ² is required. Therefore, all these CMB experiments comes up with its own likelihood software.

See also

Notes

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.