kernel#

jeanspy.model_jax.ConstantAnisotropyModel.kernel

Class and construction: ConstantAnisotropyModel.

ConstantAnisotropyModel.kernel(u, R_pc, *, params, kernel_backend='jax', n_kernel=None)[source]#

LOSVD kernel K(u) for constant anisotropy.

Uses the transformed hypergeometric representation

K(u) = sqrt(1-u^{-2}) * ((3/2-beta) * 2F1(1,beta;3/2;1-u^{-2}) - 1/2)

which is algebraically equivalent to the original form in model.py and numerically stable for large u.

Parameters:
  • u (jax.Array) – Dimensionless radius ratio u=r/R (typically u>1).

  • R_pc (jax.Array) – Accepted by the shared anisotropy interface; K(u) is independent of R.

  • kernel_backend (str) – 'jax' uses the direct JAX quadrature kernel. 'scipy' uses the SciPy hypergeometric formulation.

  • n_kernel (int | None) – Quadrature order for the direct JAX kernel implementation.

  • params (Mapping[str, Any])

Return type:

jax.Array