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
feat: Preloads API for reusing channel-invariant inversion quantities
Add an opt-in `Preloads` mechanism: precompute an invariant inversion
quantity once and inject it so repeated evaluations reuse it instead of
rebuilding it.
- New `aa.AbstractPreloads` / `aa.PreloadsInterferometer` containers
(autoarray/preloads/) with an optional `curvature_matrix` field.
- The inversion stack (`AbstractInversion`, the interferometer inversions,
and the `inversion_from` / `inversion_interferometer_from` factory) gains
an optional `preloads=None` argument, threaded as a single object.
- The sparse interferometer inversion returns `preloads.curvature_matrix`
(`F = LᵀW̃L`) directly when provided, skipping the dominant rebuild.
Default behaviour is unchanged (`preloads=None`). The primary use is a
shared / combined likelihood (e.g. a datacube FactorGraphModel) where
invariance is explicit; an earlier preload system was removed for being
bug-prone, so the docstrings make the opt-in, caller-owns-invariance
contract explicit.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments