Enumeration

NumCosmoMathSBesselOdeConstraint

Declaration

enum NumCosmoMath.SBesselOdeConstraint

Description [src]

Which two linear conditions close the two-point problem. Truncating the expansion at $N$ Chebyshev coefficients and keeping the first $N-2$ rows of the discretized equation leaves $N$ unknowns against $N-2$ equations, so two conditions have to be added; under the tau constraint the truncation itself supplies them. The solution family they choose from is the same in all three cases, since the homogeneous solutions $x j_\ell$ and $x y_\ell$ span a two-parameter space. The Levin boundary functional is invariant under that choice, so the constraint decides which member of the family has to be represented, not what the panel integral is.

Dirichlet is the default and is valid everywhere. Tau is cheap where the panel holds many more oscillations than the forcing needs coefficients, and invalid otherwise. Pinned is the intermediate form, and it is what NcmSBesselIntegratorLevin gives a panel whose oscillation count falls below its tau threshold: with the pins at the peak of the homogeneous spectrum it costs less than Dirichlet data and is at least as accurate. See the Ultraspherical Spectral Solver page.

Members

NCM_SBESSEL_ODE_CONSTRAINT_DIRICHLET

$u(x_a) = u(x_b) = 0$.

  • Value: 0
  • Available since: 1.0
NCM_SBESSEL_ODE_CONSTRAINT_PINNED

$\langle T_{p_1}, u\rangle = \langle T_{p_2}, u\rangle = 0$ for two chosen coefficient indices.

  • Value: 1
  • Available since: 1.0
NCM_SBESSEL_ODE_CONSTRAINT_TAU

No constraint rows; the truncation of the expansion closes the system.

  • Value: 2
  • Available since: 1.0