Understanding PolSpice results

Questions:

Back to PolSpice Main Page       Known Bugs        FAQ       



Answers:

Q: I am getting weird or negative C(ℓ) values for TT (or EE or BB) auto-spectrum. Is there something wrong?

A: This is not un-expected, especially if you are analysing a small fraction of the sky (ie fsky ≪ 1).
PolSpice returns an un-biased estimator of the C(ℓ), whose average (on many different random realisations of the same model) converges toward the true spectrum. However, as for any estimator, the C(ℓ) returned for a particular sky will oscillate around this expected value, with a variance inversely proportional to fsky. Since PolSpice does not impose the positivity of the auto-spectra, this may lead to weird or negative auto-spectrum values (or large positive values at places where a vanishing result was expected).
To mitigate those fluctuations one can:
Back to Top


Q: Why do I get spurious EE and BB spectra on cut sky polarized maps?

A: When analyzing polarized cut-sky maps (ie with a maskfile and/or weightfile and with polarization=YES),

Back to Top


Q: Can I make Spice run faster, especially in the Monte-Carlo analysis of many maps?

A: Version v03-04-01 (of Aug 2017) of PolSpice has been optimized for speed in high multipole (nlmax) analysis.
However, when analyzing a polarized map, one of the most costly steps of PolSpice remains the computation of a normalization function for the produced TE (and TB) spectra, which depends on the parameters apodizetype, apodizesigma, nlmax, and thetamax.
A key ingredient of this calculation is the TE kernel (or the sum over its rows) which can be exported and re-imported with a combination of windowfileout and windowfilein in all PolSpice versions, or the less disk-space hungry tenormfileout and tenormfilein in version 03-04-01 and above.
Therefore, when many (pairs of) polarized maps are analyzed with the parameters apodizetype, apodizesigma, nlmax, and thetamax set to a fixed value, as in the case for Monte-Carlo simulations of a given observation, it may save a lot of CPU time to set,
Back to Top



Q: Can I read arbitrary extensions and/or columns from a FITS file?

A: The extension and columns to be read can be specified in mapfile*, maskfile*, weightfile*, listmapfiles*, listmapweights* and beam_file*. These CFITSIO features require PolSpice to be compiled with a recent version of Healpix (3.10 or more).

Back to Top



Q: What is the double precision compilation?

A: Because of the multithreading (= parallel execution) used in PolSpice and the aggressive optimization performed by current compilers, two consecutive runs with the same input data and parameters can see their numerical operations done in different order, which, because of round-off errors, may lead to slightly different final results.
Starting with version v03-05-01, PolSpice is by default compiled in 'Double Precision', allowing for smaller round-off errors and better reproducibility of the results, at the cost of larger memory foot-prints, and a bit longer computation times.
Compilation in the original 'Single Precision' setting remains possible (see the INSTALL document in PolSpice top directory).
This change in precision concerns only large arrays used as intermediate variables, so that whatever the precision chosen, the input maps, masks and weights can be read indifferently from single or double precision FITS files, and the ouput C(ℓ) will always be in double precision FITS files.

Back to Top



Updated 2018-11-05

For unlisted problems, contact Eric Hivon (hivon at iap dot fr)
Back to PolSpice Main Page       Known Bugs        FAQ