CosmoMC: unphysical input: TE/sqrt(TT*EE) > 1

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Loison Hoi
Posts: 23
Joined: February 21 2006
Affiliation: McGill University

CosmoMC: unphysical input: TE/sqrt(TT*EE) > 1

Post by Loison Hoi » November 04 2006

Hi,

I hope my question makes sense. I used the new WMAP3 code (2.2.1) and Oct 20th 2006 CosmoMC. I use the LambdaCDM model, but modifiy the scalar power spectrum (add one more parameter), and all other settings are default. However, my chains were stopped:

unphysical input: TE/sqrt(TT*EE) > 1 at l= 256

So my question: Does it imply that my mofidication to the scalar power spectrum gives some unphysical cl spectra? Or is it just a problem of coding?

Thanks a lot!

Loison Hoi
3 Nov 2006

Loison Hoi
Posts: 23
Joined: February 21 2006
Affiliation: McGill University

CosmoMC: unphysical input: TE/sqrt(TT*EE) > 1

Post by Loison Hoi » November 07 2006

Hi,

To avoid the above problem, if I comment the following statements in WMAP_3yr_likelihood.F90:

do il=2,ttmax
correlation_coefficient_cl = clte(il)/sqrt(cltt(il)*clee(il))
if(correlation_coefficient_cl>1)then
print*,'unphysical input: TE/sqrt(TT*EE) > 1 at l=',il
stop
endif
enddo

will CosmoMC just skip the unphysical point and report it as a rejecting point, so that the chains can continute? Or is it a real problem that I cannot avoid? Thanks.

Loison Hoi
6 Nov 2006

Ben Gold
Posts: 81
Joined: September 25 2004
Affiliation: University of Minnesota
Contact:

CosmoMC: unphysical input: TE/sqrt(TT*EE) > 1

Post by Ben Gold » November 07 2006

Actually I think it's simpler than that.

Somewhere else on here (I don't recall which posting unfortunately) someone pointed out that the WMAP likelihood code outputs data files where the columns are TT/TE/EE but the CosmoMC code expects TT/EE/TE (or maybe vice versa). So you may just have to reorder the columns.

In any case, it should be easy to look at the actual data files to figure out what's in there; the EE spectrum should be always positive but TE can be negative.

Loison Hoi
Posts: 23
Joined: February 21 2006
Affiliation: McGill University

CosmoMC: unphysical input: TE/sqrt(TT*EE) > 1

Post by Loison Hoi » November 09 2006

Hi,

I figured out the problem; it is due to the inaccuracy of the integration. Specifically, I add a sharp cutoff in the scalar power spectrum, which makes the numerical integration of the Cl's spectra inaccurate. To avoid the problem, simply turn on the accuracy level, e.g. accuracy_level = 2.

The "unphysical Cl's spectra" happens about 1 time in 1000 samples in my model, so I think it is harmless to just remove the consistent check. Alternatively, I can set wmap_likelihood_ok = .false. when such "unphysical Cl's spectra" happens; in this case, CosmoMC will regard it as a rejecting point, so there should be no effect on the Markov chains or the marginalized probabilities. Am I right?

Anyway, the "clte(il)" in the following statements should be replaced with "abs(clte(il))" since the Cl_te spectrum can be negative.

do il=2,ttmax
correlation_coefficient_cl = clte(il)/sqrt(cltt(il)*clee(il))
if(correlation_coefficient_cl>1)then
print*,'unphysical input: TE/sqrt(TT*EE) > 1 at l=',il
stop
endif
enddo

Loison Hoi
8 Nov 2006

Post Reply