Correlated isocurvature (sign issue)
-
- Posts: 12
- Joined: April 10 2009
- Affiliation: KICP
Correlated isocurvature (sign issue)
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!].
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!].
-
- Posts: 1945
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: Correlated isocurvature (sign issue)
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.
\chi=-1 is set if either the initial condition is adiabatic, or the first element of initial_condition_vector is -1.
-
- Posts: 12
- Joined: April 10 2009
- Affiliation: KICP
Re: Correlated isocurvature (sign issue)
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.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.
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.
-
- Posts: 1945
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: Correlated isocurvature (sign issue)
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) ?
-
- Posts: 12
- Joined: April 10 2009
- Affiliation: KICP
Re: Correlated isocurvature (sign issue)
So now we're getting closer to the issue. "The originally gotten" vector isAntony 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) ?
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).
-
- Posts: 1945
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: Correlated isocurvature (sign issue)
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?