sigmalos2_kernel#

jeanspy.model_jax.DSphModel.sigmalos2_kernel

Class and construction: DSphModel.

DSphModel.sigmalos2_kernel(R_pc, *, params, n_u=None, u_max=None, n_kernel=None, kernel_backend='jax', u_min_eps=1e-06, kernel_outer_transform='sqrtlog', dm_mass_method='auto', dm_mass_n_steps=None)[source]#

Kernel-based sigma_los^2(R) implementation.

With u=r/R, this computes

sigma_los^2(R) = 2 * int_1^infty du

[nu(uR)/Sigma(R)] [G M(uR)] K(u)/u.

kernel_outer_transform='sqrtlog' uses log(u)=x^2. Since K(u) ~ sqrt(u-1) at the lower endpoint, the transformed integrand is smooth in x. 'log' selects a uniform-log(u) grid.

The default sqrtlog grid is tuned to a maximum relative-error target of 1e-3 on the documented Plummer+NFW dSph stress benchmark. For more extended or otherwise tail-sensitive models, increase u_max before increasing n_u; then double n_u to verify convergence.

Notes

Inputs and units. Positive R_pc in pc, scalar or nonempty 1-D array; params contains physical scalars. n_u controls the outer rule on 1 <= u <= u_max; n_kernel controls numerical inner kernels where applicable. kernel_backend selects jax/scipy for constant anisotropy. dm_mass_n_steps controls numerical halo mass integration.

Returns and shape. Always a one-dimensional array of variances in (km/s)^2, length one for scalar input.

Parameters:
Return type:

jax.Array