Cyril Pitrou's homepage

- CMBquick -

  • General description

    CMBquick is a package for Mathematica in which tools are provided to compute the spectrum and bispectrum of Cosmic Microwave Background (CMB). It is unavoidably slow, but the main goal is not to design a tool which can be used for systematic exploration of parameters in cosmology, but rather a toy CMB code which is transparent and easily modified. Considering this, the name chosen is nothing but a joke which refers to the widely spread and used softwares CMBFAST, CAMB or CMBeasy, which should be used for serious and heavy first order CMB computations, and which are indeed very fast.

    The package CMBquick is unavoidably slow when it comes to compute the multipoles Cls, and most of it is due to the access time for variables which in Mathematica is approximately ten times slower than in C or Fortran. CMBquick is thus approximately 10 times slower than CAMB and cannot be used for the same reasons. It uses the same method as CAMB for computing the CMB spectrum, which is based on the line of sight approach. However the integration is performed in a different gauge with diffferent time steps and k-spacing. It benefits from the power of Mathematica on numerical resolution of stiff differential systems, and the transfer functions can be obtained with exquisite accuracy.

    The purpose of CMBquick is thus twofold. First, CMBquick is a slow but precise and pedagogical, tool which can be used to explore and modify the physical content of the linear and non-linear dynamics. Second, its is a tool which can help developing templates for nonlinear computations, which could then be hard coded once their correctness is checked. The number of equations for non-linear dynamics is quite sizable and CMBquick makes it easy (but slow) to manipulate the non-linear equations, to solve them precisely, and to plot them.

    It is documented in the Mathematica Documentation Center, and examples are provided with the distribution in the Example folder. See the installation notes for more details.

  • Downloading and installing

    You can download the last released version of the package.
    See the installation notes in order to install it correctly in your local Mathematica distribution. CMBquick comes in two packages.
    • CMBquick1 is dedicated to the first order cosmology, and it contains the necessary definitions to compute transfer functions, CMB multipoles, power spectra and perturbed recombination. Again I stress, that CMBquick is not meant to be quick (its name is a joke...) but was created to be used for its pedagogical and interactive interface that allows to produce various power spectra. Recently it was extended to allow the computation of the angular power spectrum of the Astrophysical Gravitational Waves Background (AGWB).
    • CMBquick2 is dedicated to the second order cosmology. It is currently under development and features might change dramatically from one version to another. It contains definitions to compute second order transfer functions, including spectral distorsions and magnetic field transfer functions, and (will) provide(s) tools to compute the bispectrum generated by non-linear effects.

  • Documentation

    You can download with the links below the documentation, which is otherwise available in your Documentation Center of Mathematica (Help->Documentation Center->Add-Ons->CMBquick) once the installation is correctly made. Again see the installation notes to make sure you have the appropriate documentation.

  • Last modifications

    Modifications suggested by Zhiki Huang for the implementation of Eqs A6 and A7 in Ref were added. An implementation for the anisotropies of the Gravitational Waves background has been added and used by the paper Cusin-Dvorkin-Pitrou-Uzan 2018. Note that it requires to use an external astrophysical model for for the GW luminosity.

  • CopyLeft

    The programs in this page are distributed as free software under the GNU General Public License. They are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.