pyccl.halos.pk_4pt module
- pyccl.halos.pk_4pt.halomod_trispectrum_1h(cosmo, hmc, k, a, prof, *, prof2=None, prof3=None, prof4=None, prof12_2pt=None, prof34_2pt=None)[source]
Computes the halo model 1-halo trispectrum for four different quantities defined by their respective halo profiles. The 1-halo trispectrum for four profiles \(u_{1,2}\), \(v_{1,2}\) is calculated as:
\[T_{u_1,u_2;v_1,v_2}(k_u,k_v,a) = I^0_{2,2}(k_u,k_v,a|u_{1,2},v_{1,2})\]where \(I^0_{2,2}\) is defined in the documentation of
I_0_22().Note
This approximation assumes that the 4-point profile cumulant is the same as the product of two 2-point cumulants. We may relax this assumption in future versions of CCL.
- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.k (
floator array) – comoving wavenumber in \({\rm Mpc}^{-1}\).a (
floator array) – scale factor.prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above).prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above). IfNone,profwill be used asprof2.prof12_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment ofprofandprof2. IfNone, the default second moment will be used, corresponding to the products of the means of both profiles.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. IfNone,profwill be used asprof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. IfNone,prof2will be used asprof4.prof34_2pt (
Profile2pt) – same asprof12_2ptforprof3andprof4.
- Returns:
1-halo trispectrum evaluated at each combination of
kanda. The shape of the output will be(N_a, N_k, N_k)whereN_kandN_aare the sizes ofkandarespectively. The ordering is such thatoutput[ia, ik2, ik1] = T(k[ik1], k[ik2], a[ia])Ifkoraare scalars, the corresponding dimension will be squeezed out on output.- Return type:
(
floator array)
- pyccl.halos.pk_4pt.halomod_Tk3D_1h(cosmo, hmc, prof, *, prof2=None, prof3=None, prof4=None, prof12_2pt=None, prof34_2pt=None, lk_arr=None, a_arr=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False)[source]
Returns a
Tk3Dobject containing the 1-halo trispectrum for four quantities defined by their respective halo profiles. Seehalomod_trispectrum_1h()for more details about the actual calculation.- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile. IfNone,profwill be used asprof2.prof3 (
HaloProfile) – halo profile. IfNone,profwill be used asprof3.prof4 (
HaloProfile) – halo profile. IfNone,prof2will be used asprof4.prof12_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment ofprofandprof2. IfNone, the default second moment will be used, corresponding to the products of the means of both profiles.prof34_2pt (
Profile2pt) – same asprof12_2ptforprof3andprof4.a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If
None, the internal values used bycosmowill be used.lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of \({\rm Mpc}^{-1}\)) at which the trispectrum should be calculated for interpolation. If
None, the internal values used bycosmowill be used.extrap_order_lok (
int) – extrapolation order to be used on k-values below the minimum of the splines. SeeTk3D.extrap_order_hik (
int) – extrapolation order to be used on k-values above the maximum of the splines. SeeTk3D.use_log (
bool) – ifTrue, the trispectrum will be interpolated in log-space (unless negative or zero values are found).
- Returns:
1-halo trispectrum.
- Return type:
- pyccl.halos.pk_4pt.halomod_trispectrum_2h_22(cosmo, hmc, k, a, prof, *, prof2=None, prof3=None, prof4=None, prof13_2pt=None, prof14_2pt=None, prof24_2pt=None, prof32_2pt=None, p_of_k_a=None)[source]
Computes the “22” term of the isotropized halo model 2-halo trispectrum for four profiles \(u_{1,2}\), \(v_{1,2}\) as
\[\bar{T}^{2h}_{22}(k_1, k_2, a) = \int \frac{d\varphi_1}{2\pi} \int \frac{d\varphi_2}{2\pi} T^{2h,(22)}_{u_1,u_2;v_1,v_2}({\bf k}_1,-{\bf k}_1, {\bf k}_2,-{\bf k}_2),\]with
\[T^{2h,(22)}_{u_1,u_2;v_1,v_2}(k_u,k_v,a) = \langle P_{\rm lin}(|{\bf k}_u + {\bf k}_v|)\rangle_{\varphi}\, I^1_2(k_u, k_v|u_1,v_1)\, I^1_2(k_u, k_v|u_2,v_2) + 1\,{\rm perm.}\]where \(\langle\cdots\rangle_\varphi\) denotes averaging over the relative angle between the two wavevectors, and \(I^1_2\) is defined in the documentation of
I_1_2().- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.k (float or array_like) – comoving wavenumber in Mpc^-1.
a (float or array_like) – scale factor.
prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof12_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment of prof and prof2. If None, the default second moment will be used, corresponding to the products of the means of both profiles.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.prof13_2pt (
Profile2pt) – same as prof12_2pt for prof and prof3.prof14_2pt (
Profile2pt) – same as prof14_2pt for prof and prof4.prof24_2pt (
Profile2pt) – same as prof14_2pt for prof2 and prof4.prof32_2pt (
Profile2pt) – same as prof14_2pt for prof3 and prof2.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.
- Returns:
integral values evaluated at each combination of k and a. The shape of the output will be (N_a, N_k, N_k) where N_k and N_a are the sizes of k and a respectively. The ordering is such that output[ia, ik2, ik1] = T(k[ik1], k[ik2], a[ia]) If k or a are scalars, the corresponding dimension will be squeezed out on output.
- Return type:
float or array_like
- pyccl.halos.pk_4pt.halomod_trispectrum_2h_13(cosmo, hmc, k, a, prof, *, prof2=None, prof3=None, prof4=None, prof12_2pt=None, prof34_2pt=None, p_of_k_a=None)[source]
Computes the “12” term of the isotropized halo model 2-halo trispectrum for four profiles \(u_{1,2}\), \(v_{1,2}\) as
\[\bar{T}^{2h}_{13}(k_1, k_2, a) = \int \frac{d\varphi_1}{2\pi} \int \frac{d\varphi_2}{2\pi} T^{2h,(13)}_{u_1,u_2;v_1,v_2}({\bf k}_1, -{\bf k}_1,{\bf k}_2,-{\bf k}_2),\]with
\[T^{2h,(13)}_{u_1,u_2;v_1,v_2}(k_u,k_v,a) = P_{\rm lin}(k_u)\, [I^1_1(k_u|u_1)\, I^1_3(k_u,k_v,k_v|u_2,v_1,v_2)+(u_1\leftrightarrow u_2)]+ (u_i\leftrightarrow v_i)\]where \(I^1_1\) is defined in the documentation of
I_1_1()and \(I^1_3\) is defined in the documentation ofI_1_3().- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.k (float or array_like) – comoving wavenumber in Mpc^-1.
a (float or array_like) – scale factor.
prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.prof12_2pt (
Profile2pt) – a profile covariance object returning the 2-point moment of prof, prof2. If None, the default second moment will be used, corresponding to the products of the means of each profile.prof34_2pt (
Profile2pt) – same as prof34_2pt for prof3 and prof4.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.
- Returns:
integral values evaluated at each combination of k and a. The shape of the output will be (N_a, N_k, N_k) where N_k and N_a are the sizes of k and a respectively. The ordering is such that output[ia, ik2, ik1] = T(k[ik1], k[ik2], a[ia]) If k or a are scalars, the corresponding dimension will be squeezed out on output.
- Return type:
float or array_like
- pyccl.halos.pk_4pt.halomod_trispectrum_3h(cosmo, hmc, k, a, prof, *, prof2=None, prof3=None, prof4=None, prof13_2pt=None, prof14_2pt=None, prof24_2pt=None, prof32_2pt=None, p_of_k_a=None)[source]
Computes the isotropized halo model 3-halo trispectrum for four profiles \(u_{1,2}\), \(v_{1,2}\) as
\[\bar{T}^{3h}(k_1, k_2, a) = \int \frac{d\varphi_1}{2\pi} \int \frac{d\varphi_2}{2\pi} T^{3h}_{u_1,u_2;v_1,v_2}({\bf k_1}, -{\bf k_1},{\bf k_2},-{\bf k_2}),\]with
\[T^{3h}_{u_1,u_2;v_1,v_2}({\bf k}_u,{\bf k}_v,a) = B^{\rm PT}({\bf k}_u, -{\bf k}_v, -{\bf k}_u+{\bf k}_v) I^1_1(k_u | u_1) I^1_1(k_v | v_1) I^1_2(k_u, k_v|u_2,v_2) \, + 3\,{\rm perm.}\]where \(I^1_1\) and \(I^1_2\) are defined in the documentation of
I_1_1()andI_1_2(), respectively; and the tree-level bispectrum \(B^{PT}\) is calculated according to Eq. 30 of Takada et al. 2013- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.k (float or array_like) – comoving wavenumber in Mpc^-1.
a (float or array_like) – scale factor.
prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.prof13_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment of prof and prof3. If None, the default second moment will be used, corresponding to the products of the means of both profiles.prof14_2pt (
Profile2pt) – same as prof14_2pt for prof and prof4.prof24_2pt (
Profile2pt) – same as prof14_2pt for prof2 and prof4.prof32_2pt (
Profile2pt) – same as prof14_2pt for prof3 and prof2.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.
- Returns:
integral values evaluated at each combination of k and a. The shape of the output will be (N_a, N_k, N_k) where N_k and N_a are the sizes of k and a respectively. The ordering is such that output[ia, ik2, ik1] = T(k[ik1], k[ik2], a[ia]) If k or a are scalars, the corresponding dimension will be squeezed out on output.
- Return type:
float or array_like
- pyccl.halos.pk_4pt.halomod_trispectrum_4h(cosmo, hmc, k, a, prof, prof2=None, prof3=None, prof4=None, p_of_k_a=None)[source]
Computes the isotropized halo model 4-halo trispectrum for four profiles \(u_{1,2}\), \(v_{1,2}\) as
\[\bar{T}^{4h}(k_1, k_2, a) = \int \frac{d\varphi_1}{2\pi} \int \frac{d\varphi_2}{2\pi} T^{4h}_{u_1,u_2;v_1,v_2}({\bf k_1},-{\bf k_1}, {\bf k_2},-{\bf k_2}),\]with
\[T^{4h}_{u_1,u_2;v_1,v_2}({\bf k}_u,{\bf k}_v,a) = T^{PT}({\bf k}_u, -{\bf k}_u, {\bf k}_v, -{\bf k}_v) \, I^1_1(k_u | u_1) I^1_1(k_u | u_2) I^1_1(k_v | v_1) I^1_1(k_v | v_2) \,\]where \(I^1_1\) is defined in the documentation of
I_1_1(), and the tree-level trispectrum \(T^{PT}\) is calculated according to Eq. 30 of Takada et al. 2013- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.k (float or array_like) – comoving wavenumber in Mpc^-1.
a (float or array_like) – scale factor.
prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.
- Returns:
integral values evaluated at each combination of k and a. The shape of the output will be (N_a, N_k, N_k) where N_k and N_a are the sizes of k and a respectively. The ordering is such that output[ia, ik2, ik1] = T(k[ik1], k[ik2], a[ia]) If k or a are scalars, the corresponding dimension will be squeezed out on output.
- Return type:
float or array_like
- pyccl.halos.pk_4pt.halomod_Tk3D_2h(cosmo, hmc, prof, prof2=None, prof3=None, prof4=None, prof12_2pt=None, prof13_2pt=None, prof14_2pt=None, prof24_2pt=None, prof32_2pt=None, prof34_2pt=None, p_of_k_a=None, lk_arr=None, a_arr=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False)[source]
Returns a
Tk3Dobject containing the 2-halo trispectrum for four quantities defined by their respective halo profiles. Seehalomod_trispectrum_1h()for more details about the actual calculation.- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.prof12_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment of prof and prof2. If None, the default second moment will be used, corresponding to the products of the means of both profiles.prof13_2pt (
Profile2pt) – same as prof12_2pt for prof and prof3.prof14_2pt (
Profile2pt) – same as prof14_2pt for prof and prof4.prof24_2pt (
Profile2pt) – same as prof14_2pt for prof2 and prof4.prof32_2pt (
Profile2pt) – same as prof14_2pt for prof3 and prof2.prof34_2pt (
Profile2pt) – same as prof34_2pt for prof3 and prof4.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of Mpc^-1) at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
extrap_order_lok (int) – extrapolation order to be used on k-values below the minimum of the splines. See
Tk3D.extrap_order_hik (int) – extrapolation order to be used on k-values above the maximum of the splines. See
Tk3D.use_log (bool) – if True, the trispectrum will be interpolated in log-space (unless negative or zero values are found).
- Returns:
2-halo trispectrum.
- Return type:
- pyccl.halos.pk_4pt.halomod_Tk3D_3h(cosmo, hmc, prof, prof2=None, prof3=None, prof4=None, prof13_2pt=None, prof14_2pt=None, prof24_2pt=None, prof32_2pt=None, lk_arr=None, a_arr=None, p_of_k_a=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False)[source]
Returns a
Tk3Dobject containing the 3-halo trispectrum for four quantities defined by their respective halo profiles. Seehalomod_trispectrum_3h()for more details about the actual calculation.- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.prof13_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment of prof and prof3. If None, the default second moment will be used, corresponding to the products of the means of both profiles.prof14_2pt (
Profile2pt) – same as prof14_2pt for prof and prof4.prof24_2pt (
Profile2pt) – same as prof14_2pt for prof2 and prof4.prof32_2pt (
Profile2pt) – same as prof14_2pt for prof3 and prof2.lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of Mpc^-1) at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.extrap_order_lok (int) – extrapolation order to be used on k-values below the minimum of the splines. See
Tk3D.extrap_order_hik (int) – extrapolation order to be used on k-values above the maximum of the splines. See
Tk3D.use_log (bool) – if True, the trispectrum will be interpolated in log-space (unless negative or zero values are found).
- Returns:
3-halo trispectrum.
- Return type:
- pyccl.halos.pk_4pt.halomod_Tk3D_4h(cosmo, hmc, prof, prof2=None, prof3=None, prof4=None, lk_arr=None, a_arr=None, p_of_k_a=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False)[source]
Returns a
Tk3Dobject containing the 3-halo trispectrum for four quantities defined by their respective halo profiles. Seehalomod_trispectrum_4h()for more details about the actual calculation.- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of Mpc^-1) at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.extrap_order_lok (int) – extrapolation order to be used on k-values below the minimum of the splines. See
Tk3D.extrap_order_hik (int) – extrapolation order to be used on k-values above the maximum of the splines. See
Tk3D.use_log (bool) – if True, the trispectrum will be interpolated in log-space (unless negative or zero values are found).
- Returns:
4-halo trispectrum.
- Return type:
- pyccl.halos.pk_4pt.halomod_Tk3D_SSC_linear_bias(cosmo, hmc, *, prof, bias1=1, bias2=1, bias3=1, bias4=1, is_number_counts1=False, is_number_counts2=False, is_number_counts3=False, is_number_counts4=False, p_of_k_a=None, lk_arr=None, a_arr=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False, extrap_pk=False)[source]
Returns a
Tk3Dobject containing the super-sample covariance trispectrum, given by the tensor product of the power spectrum responses associated with the two pairs of quantities being correlated. Each response is calculated as:\[\frac{\partial P_{u,v}(k)}{\partial\delta_L} = b_u b_v \left( \left(\frac{68}{21}-\frac{d\log k^3P_L(k)}{d\log k}\right) P_L(k)+I^1_2(k|u,v)\right) - (b_{u} + b_{v}) P_{u,v}(k)\]where the \(I^1_2\) is defined in the documentation
I_1_2()and \(b_{u}\) and \(b_{v}\) are the linear halo biases for quantities \(u\) and \(v\), respectively. The second term is only included if the corresponding profiles do not represent number counts.- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – a halo profile representing the matter overdensity.bias1 (
floator array) – linear galaxy bias for quantity 1. If an array, it has to have the shape ofa_arr.bias2 (
floator array) – linear galaxy bias for quantity 2.bias3 (
floator array) – linear galaxy bias for quantity 3.bias4 (
floator array) – linear galaxy bias for quantity 4.is_number_counts1 (
bool) – IfTrue, quantity 1 will be considered number counts and the clustering counter terms computed.is_number_counts2 (
bool) – asis_number_counts1but for quantity 2.is_number_counts3 (
bool) – asis_number_counts1but for quantity 3.is_number_counts4 (
bool) – asis_number_counts1but for quantity 4.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. IfNone, the power spectrum stored withincosmowill be used.a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If
None, the internal values used bycosmowill be used.lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of \({\rm Mpc}^{-1}\)) at which the trispectrum should be calculated for interpolation. If
None, the internal values used bycosmowill be used.extrap_order_lok (
int) – extrapolation order to be used on k-values below the minimum of the splines. SeeTk3D.extrap_order_hik (
int) – extrapolation order to be used on k-values above the maximum of the splines. SeeTk3D.use_log (
bool) – ifTrue, the trispectrum will be interpolated in log-space (unless negative or zero values are found).extrap_pk (
bool) – Whether to extrapolatep_of_k_ain caseais out of its support. IfFalse, and the queried values are out of bounds, an error is raised. The default isFalse.
- Returns:
SSC effective trispectrum.
- Return type:
- pyccl.halos.pk_4pt.halomod_Tk3D_SSC(cosmo, hmc, prof, *, prof2=None, prof3=None, prof4=None, prof12_2pt=None, prof34_2pt=None, p_of_k_a=None, lk_arr=None, a_arr=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False, extrap_pk=False)[source]
Returns a
Tk3Dobject containing the super-sample covariance trispectrum, given by the tensor product of the power spectrum responses associated with the two pairs of quantities being correlated. Each response is calculated as:\[\frac{\partial P_{u,v}(k)}{\partial\delta_L} = \left(\frac{68}{21}-\frac{d\log k^3P_L(k)}{d\log k}\right) P_L(k)I^1_1(k,|u)I^1_1(k,|v)+I^1_2(k|u,v) - (b_{u} + b_{v}) P_{u,v}(k)\]where the \(I^a_b\) are defined in the documentation of
I_1_1()andI_1_2()and \(b_{u}\) and \(b_{v}\) are the linear halo biases for quantities \(u\) and \(v\), respectively (zero if the profiles are not number counts).- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – halo profile.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above). IfNone,profwill be used asprof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above). IfNone,profwill be used asprof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above). IfNone,prof2will be used asprof4.prof12_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment ofprofandprof2. IfNone, the default second moment will be used, corresponding to the products of the means of both profiles.prof34_2pt (
Profile2pt) – same asprof12_2ptforprof3andprof4. IfNone,prof12_2ptwill be used.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. IfNone, the power spectrum stored withincosmowill be used.a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If
None, the internal values used bycosmowill be used.lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of \({\rm Mpc}^{-1}\)) at which the trispectrum should be calculated for interpolation. If
None, the internal values used bycosmowill be used.extrap_order_lok (
int) – extrapolation order to be used on k-values below the minimum of the splines. SeeTk3D.extrap_order_hik (
int) – extrapolation order to be used on k-values above the maximum of the splines. SeeTk3D.use_log (
bool) – ifTrue, the trispectrum will be interpolated in log-space (unless negative or zero values are found).extrap_pk (
bool) – Whether to extrapolatep_of_k_ain caseais out of its support. IfFalse, and the queried values are out of bounds, an error is raised. The default isFalse.
- Returns:
SSC effective trispectrum.
- Return type:
- pyccl.halos.pk_4pt.halomod_Tk3D_cNG(cosmo, hmc, prof, prof2=None, prof3=None, prof4=None, prof12_2pt=None, prof13_2pt=None, prof14_2pt=None, prof24_2pt=None, prof32_2pt=None, prof34_2pt=None, p_of_k_a=None, lk_arr=None, a_arr=None, extrap_order_lok=1, extrap_order_hik=1, use_log=False)[source]
Returns a
Tk3Dobject containing the non-Gaussian covariance trispectrum for four quantities defined by their respective halo profiles. This is the sum of the trispectrum terms 1h + 2h + 3h + 4h.- Parameters:
cosmo (
Cosmology) – a Cosmology object.hmc (
HMCalculator) – a halo model calculator.prof (
HaloProfile) – halo profile (corresponding to \(u_1\) above.prof2 (
HaloProfile) – halo profile (corresponding to \(u_2\) above. If None, prof will be used as prof2.prof3 (
HaloProfile) – halo profile (corresponding to \(v_1\) above. If None, prof will be used as prof3.prof4 (
HaloProfile) – halo profile (corresponding to \(v_2\) above. If None, prof2 will be used as prof4.prof12_2pt (
Profile2pt) – a profile covariance object returning the the two-point moment of prof and prof2. If None, the default second moment will be used, corresponding to the products of the means of both profiles.prof13_2pt (
Profile2pt) – same as prof12_2pt for prof and prof3.prof14_2pt (
Profile2pt) – same as prof12_2pt for prof and prof4.prof24_2pt (
Profile2pt) – same as prof12_2pt for prof2 and prof4.prof32_2pt (
Profile2pt) – same as prof12_2pt for prof3 and prof2.prof34_2pt (
Profile2pt) – same as prof12_2pt for prof3 and prof4.p_of_k_a (
Pk2D) – a Pk2D object to be used as the linear matter power spectrum. If None, the power spectrum stored within cosmo will be used.a_arr (array) – an array holding values of the scale factor at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
lk_arr (array) – an array holding values of the natural logarithm of the wavenumber (in units of Mpc^-1) at which the trispectrum should be calculated for interpolation. If None, the internal values used by cosmo will be used.
extrap_order_lok (int) – extrapolation order to be used on k-values below the minimum of the splines. See
Tk3D.extrap_order_hik (int) – extrapolation order to be used on k-values above the maximum of the splines. See
Tk3D.use_log (bool) – if True, the trispectrum will be interpolated in log-space (unless negative or zero values are found).
- Returns:
2-halo trispectrum.
- Return type: