Skip to content

OILMM predict defaults to a dense O(M N² P²) covariance #682

Description

@thomaspinder

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions