BaesAnisotropyModel#

jeanspy.model_jax.BaesAnisotropyModel

See methods and properties for individual lookup pages, or the alphabetical API dictionary to search all classes. The full class contract and existing member anchors are retained below.

class jeanspy.model_jax.BaesAnisotropyModel(submodels=None)[source]#

Bases: jeanspy.model_jax.AnisotropyModel

JAX Baes–van Hese anisotropy with a numerical LOS kernel.

params contains inner/outer anisotropies beta_0 and beta_inf, positive anisotropy radius r_a (pc), and positive sharpness eta. With t=(r/r_a)**eta, beta(r)=(beta_0+beta_inf*t)/(1+t), and f(r)=r**(2*beta_0)*(1+t)**(2*(beta_inf-beta_0)/eta).

beta/f follow radius shape; the dimensionless kernel(u,R_pc) broadcasts u=r/R >= 1 and positive projected radii in pc. Its fixed JAX quadrature uses n_kernel nodes and supports physical-parameter gradients in the smooth valid interior. There is no SciPy callback selector on this class. Sharp transitions may need more nodes; large eta emits a warning when it can be inspected on the host. Invalid elementary inputs may yield nonfinite results.

DSphModel.sigmalos2(solver="auto") chooses the Abel solver for this class, including subclasses; request solver=”kernel” to use its kernel. Runtime JAX precision/platform configuration applies. See examples/docs_jax_spherical.py.

Parameters:

submodels (Dict[str, jeanspy.model_jax.Model])

required_param_names: tuple[str, ...] = ('beta_0', 'beta_inf', 'r_a', 'eta')#
beta(r_pc, *, params)[source]#

Baes & van Hese profile

beta(r) = (beta_0 + beta_inf (r/r_a)^eta) / (1 + (r/r_a)^eta).

Parameters:
Return type:

jax.Array

f(r_pc, *, params)[source]#

Return

f(r)=r^{2 beta_0} (1 + (r/r_a)^eta)^{2(beta_inf-beta_0)/eta}.

Parameters:
Return type:

jax.Array

kernel(u, R_pc, *, params, n_kernel=32)[source]#

LOSVD kernel K(u) for general BAES anisotropy via numerical integration.

Implements the note definition

K(u_s) = f(Ru_s)/u_s * int_1^{u_s} du

[u/sqrt(u^2-1)] * (1-beta(Ru)/u^2) / f(Ru).

A fixed-grid JAX-friendly quadrature is used. The change of variables

u=cosh(s), s=arccosh(u)

removes the endpoint singularity at u=1 and keeps the integration interval length O(log u), improving accuracy for very large u with fixed n_kernel. Internally, f-ratios are computed via log-differences for numerical stability in extreme beta regimes.

Parameters:
Return type:

jax.Array

required_models: Mapping[str, type[jeanspy.model_jax.Model]] = {}#
sampling_identity()#

Model configuration without the derived compilation cache.

submodels: Dict[str, jeanspy.model_jax.Model]#