Class

NumCosmoXcorSSCSij

Description [src]

final class NumCosmo.XcorSSCSij : GObject.Object
{
  /* No available fields */
}

Super-sample covariance $S_{ij}$ matrix for a set of top-hat redshift bins.

Each redshift bin becomes a NcXcorKernelClusterTophat with a radial window normalized to unit integral. Given the mask spectrum $C^{\rm mask}_\ell$,

$$S_{ij} = \frac{1}{4\pi C^{\rm mask}0} \sum{\ell=0}^{\ell_{\rm max}} (2\ell+1) C^{\rm mask}\ell C^{ij}\ell,$$

which reduces to the full-sky $S_{ij} = C^{ij}0 / 4\pi$ for the trivial mask $C^{\rm mask}\ell = 4\pi \delta_{\ell 0}$, the default here, also available as nc_xcor_ssc_sij_mask_cl_fullsky(). See Super-sample covariance for the derivation and the accuracy study.

The mask spectrum does not depend on cosmology, so it is supplied once, by nc_xcor_ssc_sij_set_mask_cl(); NcmSphereMap computes it from a HEALPix footprint. Only the $C^{ij}_\ell$ are recomputed per cosmology, which is what makes this object cheap enough to call once per likelihood step.

Every kernel is put in permanent non-Limber mode (l_limber = -1): the Limber approximation is not valid at the low multipoles that dominate $S_{ij}$, and it makes the cross spectrum of two disjoint bins vanish.

The default quadrature is NC_XCOR_METHOD_KERNEL_EXACT, which needs no tolerance and cannot fail to converge. The adaptive alternatives target a tolerance the integrand may not support and abort when they cannot reach it, which would end a Monte Carlo chain mid-run.

A single NcXcorSolver is built once and reused across cosmologies, so the per-block spherical Bessel factorizations are paid for only on the first nc_xcor_ssc_sij_prepare().

Ancestors

Constructors

nc_xcor_ssc_sij_new

Creates a new NcXcorSSCSij over the len (z_edges) - 1 top-hat redshift bins delimited by z_edges. The footprint defaults to the full sky; use nc_xcor_ssc_sij_set_mask_cl() to set a real one.

Functions

nc_xcor_ssc_sij_clear

If ssc_sij is not NULL, decrements its reference count, freeing it if the count reaches 0, and sets ssc_sij to NULL.

nc_xcor_ssc_sij_mask_cl_fullsky

Builds the mask spectrum of the full sky, $C^{\rm mask}\ell = 4\pi \delta{\ell 0}$, for which $S_{ij}$ reduces to $C^{ij}_0 / 4\pi$. This is the default footprint of a newly created NcXcorSSCSij.

Instance methods

nc_xcor_ssc_sij_eval

Prepares ssc_sij for cosmo if needed and returns a copy of the resulting $S_{ij}$ matrix, which therefore survives the next prepare.

nc_xcor_ssc_sij_free

Decrements the reference count of ssc_sij, freeing it if the count reaches 0.

nc_xcor_ssc_sij_get_area
No description available.

nc_xcor_ssc_sij_get_block_size
No description available.

nc_xcor_ssc_sij_get_fsky

Computes the sky fraction of the footprint, $f_{\rm sky} = \sqrt{C^{\rm mask}_0 / 4\pi}$.

nc_xcor_ssc_sij_get_lmax
No description available.

nc_xcor_ssc_sij_get_method
No description available.

nc_xcor_ssc_sij_get_nbins
No description available.

nc_xcor_ssc_sij_get_peak_epsilon
No description available.

nc_xcor_ssc_sij_get_reltol
No description available.

nc_xcor_ssc_sij_peek_mask_cl
No description available.

nc_xcor_ssc_sij_peek_matrix

Gets the $S_{ij}$ matrix computed by the last nc_xcor_ssc_sij_prepare(). The matrix is owned by ssc_sij and is overwritten by the next prepare.

nc_xcor_ssc_sij_prepare

Computes the $S_{ij}$ matrix for cosmo, unconditionally. Use nc_xcor_ssc_sij_prepare_if_needed() to skip the work when cosmo has not changed since the last call.

nc_xcor_ssc_sij_prepare_if_needed

Computes the $S_{ij}$ matrix for cosmo, unless it is already the one held from a previous call. This is the entry point for a likelihood that recomputes $S_{ij}$ per step: it is a no-op whenever cosmo has not moved.

nc_xcor_ssc_sij_ref

Increments the reference count of ssc_sij.

nc_xcor_ssc_sij_set_area

Selects the crude finite-area estimator, $S_{ij} = S^{\rm fullsky}{ij} / f{\rm sky}$ with $f_{\rm sky} = \Omega / 4\pi$: the full-sky matrix simply rescaled by the sky fraction area subtends. This is not a mask deconvolution, and it knows nothing about the shape of the footprint; use nc_xcor_ssc_sij_set_mask_cl() when the shape matters.

nc_xcor_ssc_sij_set_block_size

Sets the multipole block size handed to nc_xcor_solver_plan_blocks().

nc_xcor_ssc_sij_set_mask_cl

Sets the angular power spectrum of the survey footprint, $C^{\rm mask}\ell$ for $\ell$ in $[0, \ell{\rm max}]$, so mask_cl has length $\ell_{\rm max} + 1$ and its truncation sets how many multipoles are summed. NcmSphereMap computes it from a HEALPix map; it does not depend on cosmology, so it is set once and reused for every cosmology afterwards.

nc_xcor_ssc_sij_set_method

Sets the quadrature method used for the angular power spectra. The default, NC_XCOR_METHOD_KERNEL_EXACT, needs no tolerance and cannot fail to converge; the adaptive alternatives abort when they cannot reach their target tolerance, which is fatal inside a Monte Carlo chain.

nc_xcor_ssc_sij_set_peak_epsilon

Sets the absolute floor of the adaptive refinement building the $U_i(k)$ spline of every kernel. This, not the relative tolerance, is what limits the accuracy of the off-diagonal $S_{ij}$, which are a small residual of a large cancellation: tightening it from NcXcorKernel‘s own 1.0e-4 default to the 1.0e-6 used here moves $S_{06}$ by tens of percent for J-PAS-like bins while barely moving $S_{00}$.

nc_xcor_ssc_sij_set_reltol

Sets the relative tolerance of the kernel splines and of the outer $k$ integral. This is not the knob limiting the accuracy of the off-diagonal $S_{ij}$, see nc_xcor_ssc_sij_set_peak_epsilon().

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmo.XcorSSCSij:area
No description available.

NumCosmo.XcorSSCSij:block-size
No description available.

NumCosmo.XcorSSCSij:dist
No description available.

NumCosmo.XcorSSCSij:mask-cl
No description available.

NumCosmo.XcorSSCSij:method
No description available.

NumCosmo.XcorSSCSij:peak-epsilon
No description available.

NumCosmo.XcorSSCSij:powspec
No description available.

NumCosmo.XcorSSCSij:reltol
No description available.

NumCosmo.XcorSSCSij:z-edges
No description available.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct NumCosmoXcorSSCSijClass {
  GObjectClass parent_class;
  
}

No description available.

Class members
parent_class: GObjectClass

No description available.