Skip to content

feat(gam): add cyclic P-spline smooths - #28

Merged
Ananyapam7 merged 1 commit into
mainfrom
feature/mgcv-wave2-cyclic-pspline
Aug 24, 2026
Merged

feat(gam): add cyclic P-spline smooths#28
Ananyapam7 merged 1 commit into
mainfrom
feature/mgcv-wave2-cyclic-pspline

Conversation

@Ananyapam7

Copy link
Copy Markdown
Collaborator

Summary

  • port vendored mgcv 1.9-4 cyclic P-spline knot, wrapped basis, circular difference-penalty, prediction, and derivative behavior
  • integrate bs="cp" through formula/array APIs, linked ids, point constraints, by variables, selection/fixed terms, tensor marginals, and fs/sz bases
  • add static raw-constructor, smoothCon, fit/inference, boundary, diagnostics, persistence, and combination parity fixtures

Upstream parity source

  • R/smooth.r: cwrap, cSplineDes, smooth.construct.cp.smooth.spec, Predict.matrix.cpspline.smooth, plus generic smoothCon/tensor/factor-smooth paths

Verification

  • 33 CP-focused static parity tests passed
  • 15 legacy PS smoothCon tests and 11 raw PS/factor-base cases passed
  • 61 PS-related pc/id/fixed-SP/lifecycle cases passed
  • 68 spec-owner, array-persistence, and formula-parse tests passed
  • Ruff and git diff --check passed
  • full raw/smoothCon run: 140 passed; 3 pre-existing 2D fs/sz cases remain blocked only by missing committed fixtures (55e9a0a, 7b27252, 70af8bb)

Scope

This is the cyclic P-spline (cp) Wave 2 subwave. Remaining Wave 2 basis families stay separate.

@Ananyapam7
Ananyapam7 merged commit ef3923b into main Aug 24, 2026
6 of 8 checks passed
@Ananyapam7
Ananyapam7 deleted the feature/mgcv-wave2-cyclic-pspline branch August 24, 2026 21:23
Ananyapam7 added a commit that referenced this pull request Aug 25, 2026
Co-authored-by: Ananyapam De <ananyapam7@tu-clausthal.de>
Ananyapam7 added a commit that referenced this pull request Aug 25, 2026
Co-authored-by: Ananyapam De <ananyapam7@tu-clausthal.de>
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