Skip to content

Varying slopes: design operator applies per-observation loadings + term-major coefficient offsets#76

Merged
schroedk merged 4 commits into
feature/slopesfrom
slopes/71-design-operator
Jul 7, 2026
Merged

Varying slopes: design operator applies per-observation loadings + term-major coefficient offsets#76
schroedk merged 4 commits into
feature/slopesfrom
slopes/71-design-operator

Conversation

@schroedk

@schroedk schroedk commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Implements #71.

  • FactorMetaTermMeta (pure-rename commit first): terms carry an intercept flag plus slope column indices into the frame's continuous columns; Design::new lowers slope-bearing Effects, laid out term-major (offset[t] + c·L_t + level, columns [intercept?, slopes…])
  • Gather: one fused sweep per term via const-generic gather_term (hot shapes dispatch to it, rare shapes take a fused dynamic fallback); scatter: const-generic multi-column kernels over the existing strategy dispatch — C=1 compiles to the previous single-column kernels. Kernel shapes chosen by A/B measurement (1M/5M/20M; arm unification verified tie at 100K–40M). Each direction's dispatch lives with its kernels (gather.rs / scatter.rs)
  • Plain designs stay bit-identical; no n=1M criterion regression vs saved baseline
  • Slope designs build and the operator is fully exercisable; Solver::new rejects solving them (SlopesNotYetSupported) until the transform slices (Varying slopes: single slope on one factor (V=1) — centering + back-transform #59+)

@schroedk schroedk force-pushed the slopes/71-design-operator branch from 7628611 to 293c9f1 Compare July 6, 2026 16:42
@schroedk schroedk force-pushed the slopes/71-design-operator branch from 293c9f1 to 2281c37 Compare July 6, 2026 17:43
@schroedk schroedk merged commit ea511a0 into feature/slopes Jul 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant