Category: literature / perf · Severity: medium
Location: gpjax/models/oilmm.py:352 — OILMMPosterior.predict``
Problem
predict defaults return_full_cov=True, building a [P,P,N,N] einsum and a dense [NP,NP] covariance (oilmm.py:399-405) — O(M N² P²) work that forfeits the O(mn³+nmp) scaling OILMM exists for (Bruinsma et al. 2020 §3). Training via oilmm_mll does realise the fast path; only prediction densifies.
Recommendation
Default to the diagonal path (or return a structured operator) so the common marginal-variance query stays cheap; reserve the dense joint covariance for explicit opt-in. Note this is a default-behaviour change worth a release note.
Filed from the 2026-07-02 GPJax codebase audit (medium tier). Companion spec for the high-severity items: plans/2026-07-02-audit-high-severity-remediation-design.md.
Category: literature / perf · Severity: medium
Location:
gpjax/models/oilmm.py:352 —OILMMPosterior.predict``Problem
predictdefaultsreturn_full_cov=True, building a[P,P,N,N]einsum and a dense[NP,NP]covariance (oilmm.py:399-405) — O(M N² P²) work that forfeits the O(mn³+nmp) scaling OILMM exists for (Bruinsma et al. 2020 §3). Training viaoilmm_mlldoes realise the fast path; only prediction densifies.Recommendation
Default to the diagonal path (or return a structured operator) so the common marginal-variance query stays cheap; reserve the dense joint covariance for explicit opt-in. Note this is a default-behaviour change worth a release note.
Filed from the 2026-07-02 GPJax codebase audit (medium tier). Companion spec for the high-severity items:
plans/2026-07-02-audit-high-severity-remediation-design.md.