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.
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.
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.
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 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 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 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 performance, while organizing the code in a few modules that reproduce the architecture and philosophy of C++ classes, for optimal readability and modularity.
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 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/Slick Cosmological Parameter Estimator is a newly developed cosmological MCMC package written by Santanu Das in C language. Apart from 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.
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.