Class
NumCosmoXcorKernelComponent
Description [src]
abstract class NumCosmo.XcorKernelComponent : GObject.Object
{
/* No available fields */
}
Abstract base class for cross-correlation kernel components.
Subclasses must implement:
eval_kernel: evaluates K(k, chi) for the componenteval_prefactor: evaluates any k and $\ell$-dependent prefactor
Optionally, subclasses can implement:
get_limits: returns valid integration ranges for chi and k
The class analyzes KL(k, x/k) with the Limber approximation.
Edges belong in get_limits, never inside eval_kernel
get_limits declares where the component lives, and the radial integral is
confined to the $[\chi_\mathrm{min}, \chi_\mathrm{max}]$ it reports.
eval_kernel is therefore only ever called inside that range and must not
test against it: a component with a sharp edge returns its interior value
unconditionally and lets the limits carry the edge.
NcXcorKernelClusterTophat is the clearest case, an indicator function whose
eval_kernel returns 1.
This places the edge on a panel boundary rather than inside one. A step
written into eval_kernel would be integrated across, and the Chebyshev fit
of the radial integrand cannot resolve a discontinuity in its interior: it
refines until it reaches max-order and aborts. A component that is only
piecewise smooth within its support has the same problem at each interior
kink. Split it into one component per smooth piece, so that every break is a limit.
A sharp edge remains more expensive even when declared correctly. It gives $W_\ell(k)$ a $1/k$ tail rather than an exponential one, so more of k-space stays above the closure’s absolute floor: on the same comoving shell and tolerances, a cluster top-hat needs 541 k-space knots over 0.061-4800 against a Gaussian’s 161 over 0.064-480. Each knot is one radial solve.
Instance methods
nc_xcor_kernel_component_eval_KL_max
Evaluates the maximum value of KL(k, x/k) at the given x value from kernel analysis using the Limber approximation $K_L = \sqrt{\pi/(2x)}\,K(x/k, k)/k$. This is the value of KL at k = k_max(x).
nc_xcor_kernel_component_eval_k_epsilon
Evaluates k_epsilon at the given x value from kernel analysis, where k_epsilon is the value of k (beyond k_max) where KL(k, x/k) drops to epsilon times KL_max.
nc_xcor_kernel_component_eval_k_max
Evaluates k_max at the given x value from kernel analysis, where k_max is the value of k that maximizes KL(k, x/k) for this x.
nc_xcor_kernel_component_free
Decreases the reference count of comp by one. If the reference count
reaches zero, the object is freed.
nc_xcor_kernel_component_prepare
Prepares the kernel component by analyzing its behavior over the valid ranges. This method calls get_limits to obtain the integration ranges, then studies KL(k, x/k) using the Limber approximation to compute k_max(x), KL_max(x), and k_epsilon(x) using GSL Brent minimizer and root finder with warm starts.
nc_xcor_kernel_component_set_bessel_deriv
Sets the derivative order $d$ of the spherical Bessel weight: the component contributes to the kernel through $\int K(\chi, k)\, j_\ell^{(d)}(k\chi)\, \mathrm{d}\chi$.
nc_xcor_kernel_component_set_epsilon
Sets the epsilon value used in kernel analysis to determine where KL(k, x/k) drops to epsilon * KL_max.
nc_xcor_kernel_component_set_max_iter
Sets the maximum number of iterations for GSL minimizer and root finder.
Properties
NumCosmo.XcorKernelComponent:bessel-deriv
Derivative order of the spherical Bessel weight in the component’s radial integral: the component contributes with $j_\ell^{(d)}(k\chi)$ instead of $j_\ell(k\chi)$. Order 2 is the redshift-space-distortion weight.
NumCosmo.XcorKernelComponent:epsilon
The epsilon value for kernel analysis, determining where KL(k, x/k) drops to epsilon * KL_max.
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 NumCosmoXcorKernelComponentClass {
/* no available fields */
}
No description available.
Virtual methods
NumCosmo.XcorKernelComponentClass.eval_kernel
Evaluates the kernel function K(k, chi) for this component.
NumCosmo.XcorKernelComponentClass.eval_prefactor
Evaluates the prefactor that may depend on k and ell.