Method

NumCosmoXcorKernelIntegrandpeek_knots

Declaration [src]

NcmVector*
nc_xcor_kernel_integrand_peek_knots (
  NcXcorKernelIntegrand* integrand
)

Description [src]

Peeks the knots integrand‘s components are represented on, shared by every component (multipole) it carries, or NULL when integrand is not spline-backed.

These knots are what makes the outer $k$ integral exactly integrable, and are why NC_XCOR_METHOD_KERNEL_EXACT needs no tolerance. Each component is a cubic spline in $k$, so on any interval over which both members of a pair are a single cubic piece, the product $k^2 W_i(k) W_j(k)$ entering $C_\ell$ is a polynomial of degree $8$ and a $5$-node Gauss-Legendre rule integrates it exactly.

Two kernels are sampled independently and so do not share an abscissa: the intervals with that property are the panels of the common refinement of the two knot sets. Merging two sorted knot vectors is all the coupling the argument needs — sampling the kernels jointly onto one shared abscissa would also work but costs about twice as much to produce, and forces every pair to carry every kernel’s knots.

Return value

Type: NcmVector

The knot vector, or NULL.

The returned data is owned by the instance.
The return value can be NULL.