Intialize
[1]:
import classy_sz
[2]:
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from classy_sz import Class
import os
import time
from scipy.integrate import simpson
import numpy as np
font = {'size' : 16, 'family':'STIXGeneral'}
axislabelfontsize='large'
matplotlib.rc('font', **font)
plt.rcParams.update({
"text.usetex": True,
"font.family": "sans-serif",
"font.sans-serif": ["Helvetica"]})
def l_to_dl(lp):
if type(lp) == list:
lp = np.asarray(lp)
return lp*(lp+1.)/2./np.pi
[3]:
import os
path_to_class_sz = os.environ['PATH_TO_CLASS_SZ_DATA']
path_to_class_sz_files = path_to_class_sz+"/class_sz/class-sz/class_sz_auxiliary_files/includes/"
Cosmological parameters
Let us first set the cosmological parameters
[4]:
cosmo_params = {
'omega_b': 0.022,
'omega_cdm': 0.122,
'H0': 67.5,
'tau_reio': 0.0561,
'ln10^{10}A_s': 3.047,
'n_s': 0.965,
}
Calculate
[5]:
cosmo = Class()
cosmo.set(cosmo_params)
cosmo.set({
'output' : 'galn_galn_hf,galn_lens_hf',
'galaxy_samples_list_num' : 3, # the number of galaxy samples
'galaxy_samples_list' : '2,3,4', # the id string of each sample, can be any integer
'full_path_and_prefix_to_dndz_ngal':path_to_class_sz + '/class_sz/class-sz/class_sz_auxiliary_files/includes/WISC_bin3_ngal_example'
})
cosmo.set({# class_sz parameters:
'z_min' : 0.,
'z_max' : 1.5,
'effective_galaxy_bias_ngal_0' : 1.,
'effective_galaxy_bias_ngal_1' : 1.,
'effective_galaxy_bias_ngal_2' : 1.,
'dlogell' : 0.1,
'ell_max' : 5000.0,
'ell_min' : 2.0,
'redshift_epsrel' : 1e-4,
'ndim_redshifts': 30,
'ngal_ngal_auto_only' : 1, # only auto between several galaxy/tracer samples
'non_linear' : 'hmcode',
# 'cosmo_model' : 1,
# 'use_pkl_in_linbias_calc':1
})
[5]:
True
[6]:
%%time
cosmo.compute_class_szfast()
CPU times: user 283 ms, sys: 54.1 ms, total: 337 ms
Wall time: 200 ms
/Users/boris/venvdir/class_sz_312_brew/lib/python3.12/site-packages/mcfit/mcfit.py:130: UserWarning: use backend='jax' if desired
warnings.warn("use backend='jax' if desired")
[7]:
cl_galn_galn = cosmo.cl_galn_galn()
cl_galn_lens = cosmo.cl_galn_lens()
[8]:
cl_galn_galn.keys()
[8]:
dict_keys(['2x2', '3x2', '3x3', '4x2', '4x3', '4x4'])
[9]:
cl_galn_galn['2x2']['hf'][:10], cl_galn_lens['2']['hf'][:10]
[9]:
([6.261184467125693e-05,
7.848318075846642e-05,
9.850745588842239e-05,
0.00012377577314422723,
0.00015560658092351353,
0.0001956811255784219,
0.0002459688088968447,
0.0003089403035584795,
0.0003875183979436742,
0.00048514689712500205],
[1.0389527494020765e-06,
1.2953691072797531e-06,
1.6177405993117812e-06,
2.0219284529812503e-06,
2.5285985381872606e-06,
3.1629724470504892e-06,
3.95438638436938e-06,
4.94063922171714e-06,
6.166365205409883e-06,
7.68005553319694e-06])
Amon & Efsthathiou type modification
[10]:
%%time
amod_ar = np.linspace(-3.,0.,5)
cl_gg_all = []
cl_gk_all = []
for amod in amod_ar:
print(amod)
cosmo.set({'output' : 'galn_galn_hf,galn_lens_hf',})
cosmo.set({'Amod':amod,
'use_Amod':1,
'use_pkl_in_linbias_calc':1})
cosmo.compute_class_szfast()
cl_gg_all.append(cosmo.cl_galn_galn())
cl_gk_all.append(cosmo.cl_galn_lens())
-3.0
-2.25
-1.5
-0.75
0.0
CPU times: user 1.61 s, sys: 219 ms, total: 1.83 s
Wall time: 882 ms
[11]:
plt.figure(figsize=(5,5))
for ia,amod in enumerate(amod_ar):
cl_gg = cl_gg_all[ia]['3x3']
l = np.asarray(cl_gg['ell'])
cl_gg_hf = np.asarray(cl_gg['hf'])
plt.plot(l,cl_gg_hf,
marker='o',
markersize=5.,
fillstyle='none',
ls='-',
label=r'amod=%.3f'%amod)
plt.xlabel('$l$', fontsize=18)
plt.ylabel('$D_l^{gg}$', fontsize=18)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
plt.legend(fontsize=13,frameon=False)
plt.grid()
plt.tight_layout()
plt.xscale('log')
plt.yscale('log')
plt.show()
[12]:
plt.figure(figsize=(5,5))
for ia,amod in enumerate(amod_ar):
cl_gk = cl_gk_all[ia]['3']
l = np.asarray(cl_gk['ell'])
cl_gk_hf = np.asarray(cl_gk['hf'])
plt.plot(l,cl_gk_hf,
marker='o',
markersize=5.,
fillstyle='none',
ls='-',
label=r'amod=%.3f'%amod)
plt.xlabel('$l$', fontsize=18)
plt.ylabel('$D_l^{kg}$', fontsize=18)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
plt.legend(fontsize=13,frameon=False)
plt.grid()
plt.tight_layout()
plt.xscale('log')
plt.yscale('log')
plt.show()
Carmen type modification
[13]:
cosmo = Class()
cosmo.set(cosmo_params)
cosmo.set({
'output' : 'galn_galn_hf,galn_lens_hf',
'galaxy_samples_list_num' : 3, # the number of galaxy samples
'galaxy_samples_list' : '2,3,4', # the id string of each sample, can be any integer
'full_path_and_prefix_to_dndz_ngal':path_to_class_sz + '/class_sz/class-sz/class_sz_auxiliary_files/includes/WISC_bin3_ngal_example'
})
cosmo.set({# class_sz parameters:
'z_min' : 0.,
'z_max' : 1.5,
'effective_galaxy_bias_ngal_0' : 1.,
'effective_galaxy_bias_ngal_1' : 1.,
'effective_galaxy_bias_ngal_2' : 1.,
'dlogell' : 0.1,
'ell_max' : 5000.0,
'ell_min' : 2.0,
'redshift_epsrel' : 1e-4,
'ndim_redshifts': 30,
'ngal_ngal_auto_only' : 1, # only auto between several galaxy/tracer samples
'non_linear' : 'hmcode',
# 'cosmo_model' : 1,
# 'use_pkl_in_linbias_calc':1
})
[13]:
True
[14]:
%%time
cosmo.compute_class_szfast()
CPU times: user 301 ms, sys: 54.8 ms, total: 356 ms
Wall time: 261 ms
/Users/boris/venvdir/class_sz_312_brew/lib/python3.12/site-packages/mcfit/mcfit.py:130: UserWarning: use backend='jax' if desired
warnings.warn("use backend='jax' if desired")
[17]:
cl_gg_all = []
cl_gk_all = []
A0_ar = np.linspace(0.1,2.,5)
for A0 in A0_ar:
print(A0)
cosmo.set({'output' : 'galn_galn_hf,galn_lens_hf',})
cosmo.set({'pk_z_bins_z1': 0.1,
'pk_z_bins_z2': 0.3,
'pk_z_bins_A0': A0,
'pk_z_bins_A1': 1.3,
'pk_z_bins_A2': 2,
'use_pk_z_bins':1,
'use_pkl_in_linbias_calc':1})
cosmo.compute_class_szfast()
cl_gg_all.append(cosmo.cl_galn_galn())
cl_gk_all.append(cosmo.cl_galn_lens())
0.1
0.575
/Users/boris/venvdir/class_sz_312_brew/lib/python3.12/site-packages/mcfit/mcfit.py:130: UserWarning: use backend='jax' if desired
warnings.warn("use backend='jax' if desired")
1.05
1.525
2.0
[20]:
plt.figure(figsize=(5,5))
for ia,amod in enumerate(A0_ar):
cl_gg = cl_gg_all[ia]['3x3']
l = np.asarray(cl_gg['ell'])
cl_gg_hf = np.asarray(cl_gg['hf'])
plt.plot(l,cl_gg_hf,
marker='o',
markersize=5.,
fillstyle='none',
ls='-',
label=r'A0=%.3f'%amod)
plt.xlabel('$l$', fontsize=18)
plt.ylabel('$D_l^{gg}$', fontsize=18)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
plt.legend(fontsize=13,frameon=False)
plt.grid()
plt.tight_layout()
plt.xscale('log')
plt.yscale('log')
plt.show()
[21]:
plt.figure(figsize=(5,5))
for ia,amod in enumerate(A0_ar):
cl_gk = cl_gk_all[ia]['3']
l = np.asarray(cl_gk['ell'])
cl_gk_hf = np.asarray(cl_gk['hf'])
plt.plot(l,cl_gk_hf,
marker='o',
markersize=5.,
fillstyle='none',
ls='-',
label=r'A0=%.3f'%amod)
plt.xlabel('$l$', fontsize=18)
plt.ylabel('$D_l^{kg}$', fontsize=18)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
plt.legend(fontsize=13,frameon=False)
plt.grid()
plt.tight_layout()
plt.xscale('log')
plt.yscale('log')
plt.show()
[ ]: