Jommander exploits the package HealpixMPI.jl to implement a parallel and Julia-only Gibbs Sampling algorithm of CMB power spectrum. Its name, as well as the core algorithm, is derived by the Fortran software Commander (Eriksen et al., 2004), where the "J" stands, of course, for Julia.
The following figure shows how Jommander, through the sampling of its power spectrum, is able to infer and reconstruct a statistically consistent samples of the CMB map (bottom-right), starting from a noisy, smoothed and masked sky map (top-left). The top-right panel shows the maximum-likelihood solution of the true CMB map, i.e. without the fluctuations (bottom-left panel) induced at each step of the chain.
This second plot shows the 2-σ confidence interval of 250 power spectrum samples produced by Jommander, compared to the true power spectrum measured by Planck.
Mathematically, the algorithm works by drawing alternate samples from the following pair of equations in harmonic space:
Drawing a power spectrum
then draw
The desired power spectrum sample is then given by
Of course, this process must be done for each
On the other hand, drawing a sky map
Where
In general, it is always convenient to deal with each element in the space where they are naturally diagonal.
For this reason, the noise covariance matrix will remain defined in the pixel space, and so does
To run an example of CMB power spectrum sampling, starting from an observed simulated map with noise and incomplete sky coverage, use the script PSchainMPI.jl
as:
$ mpiexec -n {Ntask} julia PSchainMPI.jl
The script PSchainplot.jl
can then be used to produce plots of the obtained chain of power spectra.