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 (float or array) – comoving wavenumber in \({\rm Mpc}^{-1}\).

  • a (float or array) – 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.

  • prof34_2pt (Profile2pt) – same as prof12_2pt for prof3 and prof4.

Returns:

1-halo trispectrum 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)

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 Tk3D object containing the 1-halo trispectrum for four quantities defined by their respective halo profiles. See halomod_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. If None, prof will be used as prof2.

  • prof3 (HaloProfile) – halo profile. If None, prof will be used as prof3.

  • prof4 (HaloProfile) – halo profile. 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.

  • prof34_2pt (Profile2pt) – same as prof12_2pt for prof3 and prof4.

  • 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 \({\rm 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:

1-halo trispectrum.

Return type:

Tk3D

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^{2h}_{22}({\bf k_1},-{\bf k_1},{\bf k_2},-{\bf k_2}),\]

with

\[T^{3h}{u_1,u_2;v_1,v_2}(k_u,k_v,a) = B^{PT}({f k_{u_1}}, {f k_{u_2}}, {f k_{v_1}} + {f k_{v_2}}) \, I^1_1(k_{u_1} | u) I^1_1(k_{u_2} | u) I^1_2(k_{v_1}, k_{v_2}|v}) \, + 5 perm\]

where \(I^1_1\) and \(I^1_2\) are defined in the documentation of \(~HMCalculator.I_1_1\) and \(~HMCalculator.I_1_2\), respectively; and \(B^{PT}\) can be found in Eq. 30 of arXiv:1302.6994.

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}({\bf k_1},-{\bf k_1},{\bf k_2},-{\bf k_2}),\]

with

\[T^{4h}{u_1,u_2;v_1,v_2}(k_u,k_v,a) = T^{PT}({f k_{u_1}}, {f k_{u_2}}, {f k_{v_1}}, {f k_{v_2}}) \, I^1_1(k_{u_1} | u) I^1_1(k_{u_2} | u) I^1_1(k_{v_1} | v) \, I^1_1(k_{v_2} | v) \,\]

where \(I^1_1\) is defined in the documentation of \(~HMCalculator.I_1_1\) and \(P^{PT}\) can be found in Eq. 30 of arXiv:1302.6994.

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 Tk3D object containing the 2-halo trispectrum for four quantities defined by their respective halo profiles. See halomod_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:

Tk3D

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 Tk3D object containing the 3-halo trispectrum for four quantities defined by their respective halo profiles. See halomod_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:

Tk3D

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 Tk3D object containing the 3-halo trispectrum for four quantities defined by their respective halo profiles. See halomod_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:

Tk3D

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 Tk3D object 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 (float or array) – linear galaxy bias for quantity 1. If an array, it has to have the shape of a_arr.

  • bias2 (float or array) – linear galaxy bias for quantity 2.

  • bias3 (float or array) – linear galaxy bias for quantity 3.

  • bias4 (float or array) – linear galaxy bias for quantity 4.

  • is_number_counts1 (bool) – If True, quantity 1 will be considered number counts and the clustering counter terms computed.

  • is_number_counts2 (bool) – as is_number_counts1 but for quantity 2.

  • is_number_counts3 (bool) – as is_number_counts1 but for quantity 3.

  • is_number_counts4 (bool) – as is_number_counts1 but for quantity 4.

  • 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 \({\rm 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).

  • extrap_pk (bool) – Whether to extrapolate p_of_k_a in case a is out of its support. If False, and the queried values are out of bounds, an error is raised. The default is False.

Returns:

SSC effective trispectrum.

Return type:

Tk3D

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 Tk3D object 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() and I_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). 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.

  • prof34_2pt (Profile2pt) – same as prof12_2pt for prof3 and prof4. If None, prof12_2pt 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.

  • 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 \({\rm 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).

  • extrap_pk (bool) – Whether to extrapolate p_of_k_a in case a is out of its support. If False, and the queried values are out of bounds, an error is raised. The default is False.

Returns:

SSC effective trispectrum.

Return type:

Tk3D

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 Tk3D object 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:

Tk3D