You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The cored-steep-ellipsoid (CSE) decomposition used by Sérsic stellar-mass
deflections was only partially ported to JAX, so a jitted likelihood over a
Sérsic mass profile crashed with TracerArrayConversionError (surfaced by
group/features/advanced/mass_stellar_dark/chaining.py on the release stack).
This is an incomplete-JAX-port bug, not a jax-0.10.2 regression — isothermal/
NFW deflect analytically and never exercised the CSE path under jit.
P1 (unblock): thread `xp` through the full CSE deflection path — radial_grid_from,
decompose_convergence_via_cse, axis_ratio, and _decompose_convergence_via_cse_from
(vectorised coefficient matrix + jnp.linalg.lstsq on the JAX path; scipy retained
for NumPy). cse_settings_from is rewritten branch-free (xp.where) so a tracer
sersic_index traces, with total_cses/sample_points frozen to a static 50/80
(conservative max) for static jit shapes and the per-index dex ranges preserved
exactly. NFW/SersicGradient decompose signatures accept `xp` for compatibility.
Validated: mass_stellar_dark/chaining.py completes (0 tracebacks); 432
test_autogalaxy mass-profile tests pass; jit round-trip nojit==jit to ~1e-11;
numpy-vs-jax parity <=2e-5 for n in [1,4]. NumPy Sérsic-mass deflections shift
~1e-3 (finer CSE count). See PyAutoGalaxy#499.
Co-authored-by: Jammy2211 <JNightingale2211@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments