ABSTRACT (original article): The Effective Field Theory of Large Scale Structure (EFTofLSS) has found tremendous success as a perturbative framework for the evolution of large scale structure, and it is now routinely used to compare theoretical predictions against cosmological observations. The model for the total matter field includes one nuisance parameter at 1-loop order, the effective sound speed, which can be extracted by matching the EFT to full N-body simulations. In this work we first leverage the Layzer-Irvine cosmic energy equation to show that the equation of state can be exactly computed with knowledge of the fully nonlinear power spectrum. When augmented with separate universe methods, we show one can estimate the effective sound speed. This estimate is in good agreement with simulation results, with errors at the few tens of percent level. We apply our method to investigate the cosmology dependence of the effective sound speed and to shed light on what cosmic structures shape its value. CITATION (original article): Caio Nascimento, Drew Jamieson, Matthew McQuinn, Marilena Loverde (2024), arXiv:2410.11949. https://doi.org/10.48550/arXiv.2410.11949
This notebook computes an estimate for the effective sound speed as a function of the smoothing scale. The effective sound speed is a key free parameter introduced in the effective field theory of large scale structure, a theory introduced to model the effects of nonlinear gravitational evolution in the distribution of matter in our Universe.
In[]:=
Needs["MaTeX`"]
Introduce relevant parameters
In[]:=
h:=0.688​​H0:=
100*h
299792
​​omegamt:=0.295​​omegalt:=1-omegamt
Compute hubble expansion rate
In[]:=
H[a_]:=H0*
omegamt*
-3
a
+omegalt
In[]:=
Plot[H[a],{a,0,1},FrameStyleDirective[Thick,Black,12],FrameTrue,FrameLabel{Style["a",Black,18],Style["H",Black,18]},PlotStyleBlack]
Out[]=
Compute fractional contributions to energy density, from matter and dark energy
In[]:=
omegam[a_]:=
omegamt*
-3
a
omegamt*
-3
a
+omegalt
​​omegal[a_]:=
omegalt
omegamt*
-3
a
+omegalt
In[]:=
Plot[{omegam[a],omegal[a]},{a,0,1},FrameStyleDirective[Thick,Black,12],FrameTrue,FrameLabel{Style["a",Black,18],None},PlotStyle{Black,Blue},PlotLegendsPlaced[{"
Ω
M
","
Ω
Λ
"},{{0.2,0.5}}],PlotRangeAll]
Out[]=
Compute (approximate) linear growth factor and rate
In[]:=
dt:=
5*omegam[1]
2*
4
7
omegam[1]
-omegal[1]+1+
omegam[1]
2
*1+
omegal[1]
70
In[]:=
d[a_]:=
1
dt
*
5*omegam[a]*a
2*
4
7
omegam[a]
-omegal[a]+1+
omegam[a]
2
*1+
omegal[a]
70
In[]:=
Plot[d[a],{a,0,1},FrameStyleDirective[Thick,Black,12],FrameTrue,FrameLabel{Style["z",Black,18],None},PlotStyle{Black},PlotLegendsPlaced[{"d"},{{0.3,0.7}}],PlotRangeAll]
Out[]=
In[]:=
f[a_]:=
4
7
omegam[a]
+1+
omegam[a]
2
*
omegal[a]
70
In[]:=
Plot[f[a],{a,0,1},FrameStyleDirective[Thick,Black,12],FrameTrue,FrameLabel{Style["a",Black,18],None},PlotStyle{Black},PlotLegendsPlaced[{"f"},{{0.7,0.7}}],PlotRangeAll]
Out[]=
Import matter power spectrum
In[]:=
mpsl=Import["C:\\Users\\caios\\OneDrive\\Documents\\Matching_EFTofLSS\\Data\\mpsl.mx"]
Out[]=
InterpolatingFunction
Domain: 7.03×
-6
10
,11.2
Output: scalar

In[]:=
mps=Import["C:\\Users\\caios\\OneDrive\\Documents\\Matching_EFTofLSS\\Data\\mps.mx"]
Out[]=
InterpolatingFunction
Domain: {{0.0099,1.},{0.0001,10.}}
Output: scalar
Data not saved. Save now

In[]:=
LogLogPlotmps
1
1+0
,k,mps
1
1+0.35
,k,mps
1
1+0.7
,k,mps
1
1+1
,k,mps
1
1+1.35
,k,mps
1
1+1.7
,k,mps
1
1+2
,k,mps
1
1+2.35
,k,mps
1
1+2.7
,k,mps
1
1+3
,k,mps
1
1+3.35
,k,mps
1
1+3.7
,k,mps
1
1+4
,k,mps
1
1+4.35
,k,mps
1
1+4.7
,k,mps
1
1+5
,k,{k,
-4
10
,10},FrameStyleDirective[Thick,Black,12],FrameTrue,FrameLabel{Style["k[​
-1
Mpc
​]",Black,18],Style["P[​
3
Mpc
​]",Black,18]},PlotStyle{Black,Pink,Cyan,Red,Purple,Blue,Green,Gray,Directive[Dashed,Black],Directive[Dashed,Pink],Directive[Dashed,Cyan],Directive[Dashed,Red],Directive[Dashed,Purple],Directive[Dashed,Blue],Directive[Dashed,Green],Directive[Dashed,Gray]},PlotRangeAll,PlotLegendsPlaced[{"z=0","z=0.2","z=0.5","z=1","z=1.35","z=1.7","z=2","z=2.35","z=2.7","z=3","z=3.35","z=3.7","z=4","z=4.35","z=4.7","z=5"},{{0.4,0.3}}]
Out[]=
In[]:=
LogLogPlotmpsl[k],{k,
-4
10
,10},FrameStyleDirective[Thick,Black,12],FrameTrue,FrameLabelStyle["k[​
-1
Mpc
​]",Black,18],Style"
P
lin
​[​
3
Mpc
​]",Black,18,PlotStyleBlack,PlotRangeAll
Out[]=
Import relevant halo model quantities
Compute halo model response function
Compute equation of state, including both potential and kinetic contributions
Take derivatives of the equation of state with respect to a long-wavelength mode
Compute the equation of state
Compute the renormalized effective sound speed from simulations
Use the RG flow to run the simulation result to finite cutoff scale
Compare analytically estimated and simulation results

CITE THIS NOTEBOOK

A semi-analytic estimate for the effective sound speed counterterm in the EFTofLSS​
by Caio Nascimento, Drew Jamieson, Matthew McQuinn & Marilena Loverde
Wolfram Community, STAFF PICKS, November 1, 2024
​https://community.wolfram.com/groups/-/m/t/3313236