Correlated isocurvature (sign issue)

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

Correlated isocurvature (sign issue)

Post by Daniel Grin » December 07 2014

Greetings -- I realize I'm having some trouble understanding the meaning and use of the initial condition vector.

When I feed CAMB
initial_vector = -1 -1 0 0 0
[which I would think would excite a *CORRELATED* mixture of adiabatic and CDM isocurvature modes], the low-l CMB is lowered.

On the other hand, when I feed (an out of the box version) CAMB
initial_vector=-1 1 0 0 0
[which I would think would excite an *ANTI-CORRELATED* mixture of adiabatic and CDM isocurvature modes], the low-l CMB is raised.

This is exactly opposite the direction in astro-ph/01212248, 1404.2175, 1403.5823 and I am trying to understand why. In other words, it seems that correlated isocurvature (and not anti-correlated isocurvature) improves the fit with the low-l CMB. I must be doing something wrong, but what?
Heuristically, it seems that CAMB is just using a reverse sign convention, but I am trying to understand where this happens operationally.

I have explicitly checked that The synchronous gauge adiabatic power series in arXiv:astro-ph/9506072, arXiv:astro-ph/9904231 correspond to [tex]\zeta=1[/tex], where [tex]\zeta[/tex] is the gauge-invariant Bardeen curvature. For CAMB variable "chi=1", the vector initv(1,:) has values that correspond to precisely these solutions . It seems reasonable to surmise that CAMB's chi variable just is [tex]\zeta[/tex], but just in case I explicitly verified this, using the definitions in the CAMB lecture notes.

Now the same CAMB notes seem to indicate that the adiabatic transfer function in CAMB is defined for [tex]\chi=-1[/tex]. If this is the case, that would explain the sign discrepancy. But as far as I can tell, chi=-1 is only set in CAMB when one chooses initial_condition=1 (by flipping the whole adiabatic vector when a flag notices that this initial condition set). For the concerning cases of interest, I have set initial_condition=0 and initial_vector as described above, so this flag should not be activated.

Is this sign convention imposed somewhere else in CAMB? Is CAMB's \chi in fact -zeta? This does not seem to be the case when I plug in the appropriate Bardeen \Phi and \Psi CAMB is putatively using. I can't be the first person to get confused about this, so would appreciate anyone who can share what is going on [especially Antony!].

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

Re: Correlated isocurvature (sign issue)

Post by Antony Lewis » December 07 2014

The CAMB notes (and appendix of astro-ph/0212248) go though various relations for \chi, and indeed there is a sign difference to \zeta.

\chi=-1 is set if either the initial condition is adiabatic, or the first element of initial_condition_vector is -1.

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

Re: Correlated isocurvature (sign issue)

Post by Daniel Grin » December 08 2014

Antony Lewis wrote:The CAMB notes (and appendix of astro-ph/0212248) go though various relations for \chi, and indeed there is a sign difference to \zeta.

\chi=-1 is set if either the initial condition is adiabatic, or the first element of initial_condition_vector is -1.
Still not sure I really follow. I do follow what happens if the initial condition is adiabatic, but not sure I follow the other case. Let me be precise.

The relevant parts of equations.f90 are
"
! Set adiabatic initial conditions

chi=1 !Get transfer function for chi
initv(1,i_clxg)=-chi*EV%Kf(1)/3*x2*(1-omtau/5)
initv(1,i_clxr)= initv(1,i_clxg)
initv(1,i_clxb)=0.75_dl*initv(1,i_clxg)
initv(1,i_clxc)=initv(1,i_clxb)
initv(1,i_qg)=initv(1,i_clxg)*x/9._dl
initv(1,i_qr)=-chi*EV%Kf(1)*(4*Rv+23)/Rp15*x3/27
initv(1,i_vb)=0.75_dl*initv(1,i_qg)
initv(1,i_pir)=chi*4._dl/3*x2/Rp15*(1+omtau/4*(4*Rv-5)/(2*Rv+15))
initv(1,i_aj3r)=chi*4/21._dl/Rp15*x3
initv(1,i_eta)=-chi*2*EV%Kf(1)*(1 - x2/12*(-10._dl/Rp15 + EV%Kf(1)))"

if (CP%Scalar_initial_condition==initial_vector) then
InitVec = 0

do i=1,initial_nummodes
InitVec = InitVec+ initv(i,:)*CP%InitialConditionVector(i)
end do
else
InitVec = initv(CP%Scalar_initial_condition,:)
if (CP%Scalar_initial_condition==initial_adiabatic) InitVec = -InitVec
!So we start with chi=-1 as before
end if
"

As such, if the initial vector is (-1 1 0 0 0), it seems to me this corresponds to the power series for [tex]\zeta=-1[/tex], added to the power series for [tex]S_{c\gamma}=1[/tex]. In other words, this *SHOULD* be the overall power series for totally anti-correlated isocurvature. However, the power spectra that come up show an enhanced low-l TT power spectrum, instead of a suppression as is stated in almost every paper on the topic.

What am I missing? Happy to provide figures of the output if that woudl help sort this out.

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

Re: Correlated isocurvature (sign issue)

Post by Antony Lewis » December 08 2014

initv originally gets the adiabatic mode with the power series for chi=1. If initial_condition_vector(1)==-1, then it gets multiplied by -1, to get the solution for chi=-1 (corresponding to \zeta =1) ?

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

Re: Correlated isocurvature (sign issue)

Post by Daniel Grin » December 09 2014

Antony Lewis wrote:initv originally gets the adiabatic mode with the power series for chi=1. If initial_condition_vector(1)==-1, then it gets multiplied by -1, to get the solution for chi=-1 (corresponding to \zeta =1) ?
So now we're getting closer to the issue. "The originally gotten" vector is
chi=1 !Get transfer function for chi
initv(1,iclxg)=-chi*EV%Kf(1)/3*x2*(1-omtau/5)
initv(1,iclxr)= initv(1,iclxg)
initv(1,iclxb)=0.75_dl*initv(1,iclxg)
initv(1,iclxc)=initv(1,iclxb)
initv(1,iqg)=initv(1,iclxg)*x/9._dl
initv(1,iqr)=-chi*EV%Kf(1)*(4*Rv+23)/Rp15*x3/27
initv(1,ivb)=0.75_dl*initv(1,iqg)
initv(1,ipir)=chi*4._dl/3*x2/Rp15*(1+omtau/4*(4*Rv−5)/(2*Rv+15))
initv(1,iaj3r)=chi*4/21._dl/Rp15*x3
initv(1,ieta)=-chi*2*EV%Kf(1)*(1 - x2/12*(−10._dl/Rp15 + EV%Kf(1)))" .

I verify that EV%Kf(1)=1, so this means if [tex]chi=1[/tex] (and putatively [tex]\zeta=-1[/tex]) we have
chi=1 !Get transfer function for chi
initv(1,iclxg)=-1/3*x2*(1-omtau/5)
initv(1,iclxr)= initv(1,iclxg)
initv(1,iclxb)=0.75_dl*initv(1,iclxg)
initv(1,iclxc)=initv(1,iclxb)
initv(1,iqg)=initv(1,iclxg)*x/9._dl
initv(1,iqr)=-(4*Rv+23)/Rp15*x3/27
initv(1,ivb)=0.75_dl*initv(1,iqg)
initv(1,ipir)=4._dl/3*x2/Rp15*(1+omtau/4*(4*Rv−5)/(2*Rv+15))
initv(1,iaj3r)=4/21._dl/Rp15*x3
initv(1,ieta)=-2*(1 - x2/12*(−10._dl/Rp15 + 1))" .

But *THIS* is the series for [tex]\zeta=1[/tex] (and thus [tex]\chi=-1[/tex], and *NOT* [tex]\chi=+1[/tex]), at least if one looks at 0911.2714 (which gives the standard adiabatic power series, plus expressions for [tex]\Phi[/tex] and [tex]\Psi[/tex] [which are equivalently Bardeen variables or conformal Newtonian gauge metric perturbations], and an expression for [tex]\zeta[/tex] in terms of this).

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

Re: Correlated isocurvature (sign issue)

Post by Antony Lewis » December 10 2014

Which equations are you referring to exactly? (I don't see zeta in that appendix, and bearing in mind that synchronous gauge \eta is different from \eta in CAMB, it looks consistent). To avoid sign ambiguities in potentials, probably best to focus on the sign of the leading term in \Delta_c; positive \zeta corresponds to an overdensity, which seems consistent?

Post Reply