CMB bispectra in CAMB

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Daniel Grin
Posts: 12
Joined: April 10 2009
Affiliation: KICP

CMB bispectra in CAMB

Post by Daniel Grin » May 17 2012

I have been running convergence tests on a model of non-Gaussianity I have been investigating. I modified camb accordingly and noted a convergence issue for the very lowest -l triangles.

To make sure I was not insane, I reran the tests on the local model.

Lo and behold, I find that the l=2 l=2 l=2 (and comparable) triangle(s) has a value that changes dramatically when AccuracyBoost is changed from 4 to 7.

I hypothesized that this might have to do with r-gridding near the ISW feature in the alpha function, so I am trying some tests in an Einstein-deSitter universe, but I wanted to know if there was any known issue with bispectrum convergence at the lowest l. Is there possibly a gauge issue in the bispectrum code, or alternatively, could it be that the r-gridding is severely sub-optimal unless AccuracyBoost is very high.

Antony Lewis
Posts: 1943
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: CMB bispectra in CAMB

Post by Antony Lewis » May 18 2012

It is certainly not designed to get l=2,2,2 correct - the cosmic variance on that shape is huge so really hardly any accuracy at all is required. You should find e.g. the Fisher error hardly changes at all?

Daniel Grin
Posts: 12
Joined: April 10 2009
Affiliation: KICP

CMB bispectra in CAMB

Post by Daniel Grin » May 18 2012

Aha! I see, so you chose your r-gridding such that the shapes that actually contribute to fisher information are the ones that are well calculated.

I guess my question is this -- do you set this r-gridding apriori for the local model? (In which case it might not be optimal for my preferred shapes, hard to know). And is the gridding only sufficient for the local model?

Or, alternatively, is the bispectrum code small enough to compute the gridding finely enough that whatever shapes are in there it will sample things correctly.

Perhaps it will help if I clarify one key fact -- my 3 pt function is just like the local-model 3 pt function -- one just replaces alpha with a different alpha, essentially. I read in a different transfer function that I've computed using a different permutation of camb, and want to know what the bispectrum.

thanks!
dan

Daniel Grin
Posts: 12
Joined: April 10 2009
Affiliation: KICP

CMB bispectra in CAMB

Post by Daniel Grin » May 18 2012

In other words, if I set accuracyBoost and Boost to 2 and just read in my modified transfer function, can I assume that camb will compute the bispectrum properly for all shapes that matter?

is there a fisher-matrix based determination of the r-gridding *IN* the code, or do you use the results of http://lanl.arxiv.org/abs/astro-ph/0612571 to determine the r-gridding once and hard-wire it into the code?

Daniel Grin
Posts: 12
Joined: April 10 2009
Affiliation: KICP

CMB bispectra in CAMB

Post by Daniel Grin » May 18 2012

I guess another thing to keep in mind is that even if my favorite shape peaks for these triangles (which it doesn't thankfully), the signal to noise of those shapes will be tiny no matter what because of the large cosmic variance, so I can forget about calculating them accurately.

Antony Lewis
Posts: 1943
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: CMB bispectra in CAMB

Post by Antony Lewis » May 18 2012

That's right yes. I expect it will work quite easily for isocurvature (inc. compensated mode) bispectra which are essentially local, though the scale dependence of isocurvature modes is different. Just check the results that matter are stable to accuracy setting changes.

The spacing is based on CAMB's transfer function spacing, and is not optimized in the sense of astro-ph/0612571. It certainly won't work for all shapes without changes (e.g. warm inflation).

Daniel Grin
Posts: 12
Joined: April 10 2009
Affiliation: KICP

CMB bispectra in CAMB

Post by Daniel Grin » May 18 2012

Along those lines -- should I believe alpha(r) at l=2, l=3 for the local model? Another project I'm working on requires these to be correct, at least to 10%... presumably even if the code is not optimized for these, as long as I run it once for a high accuracy flag to get a good alpha_r once, then I should have everything I need, yes?

d.g.

Post Reply