OsipkovMerrittModel#

jeanspy.model_jax.OsipkovMerrittModel

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.OsipkovMerrittModel(submodels=None)[source]#

Bases: jeanspy.model_jax.AnisotropyModel

JAX Osipkov–Merritt anisotropy with an analytic LOS kernel.

The only physical parameter is positive r_a in pc. The profile is beta(r)=r**2/(r**2+r_a**2), with integrating factor f(r)=1+r**2/r_a**2. beta/f preserve radius shape. The dimensionless kernel broadcasts u=r/R >= 1 with positive projected R_pc in pc.

kernel has no numerical-order or backend argument; it evaluates a closed form in JAX and supports physical-parameter gradients in smooth valid regions. Elementary formulas do not validate every input domain; invalid radii/scales can produce nonfinite values. 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, ...] = ('r_a',)#
beta(r_pc, *, params)[source]#

Return beta(r)=r^2/(r^2+r_a^2).

Parameters:
Return type:

jax.Array

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

Return f(r)=1+r^2/r_a^2 from the note table.

Parameters:
Return type:

jax.Array

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

Closed-form K(u) for Osipkov-Merritt anisotropy.

Uses the analytical expression equivalent to the note/CLUMPY formula, with u_a=r_a/R and u=r/R.

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]#