Skip to content

Add circular relaxed S3F prediction helpers#1899

Merged
FlorianPfaff merged 7 commits intomainfrom
relaxed-s3f-pilot
Apr 28, 2026
Merged

Add circular relaxed S3F prediction helpers#1899
FlorianPfaff merged 7 commits intomainfrom
relaxed-s3f-pilot

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

Adds a narrow S1 x R2 relaxed S3F helper module for equal-width circular grids. The helper computes closed-form circular cell statistics and delegates prediction through the existing StateSpaceSubdivisionFilter.predict_linear(...) path, preserving the current baseline implementation.

Included pieces:

  • src/pyrecest/filters/relaxed_s3f_circular.py
  • tests/filters/test_relaxed_s3f_circular.py

Excluded from this PR intentionally: experiment runner scripts, generated plots, generated CSVs, and notes from the local pilot run.

Details

The new helper supports three variants for direct comparison:

  • baseline: representative-cell displacement
  • r1: cell-averaged displacement
  • r1_r2: cell-averaged displacement plus grid-induced covariance inflation

The tests cover positive-semidefinite covariance inflation, closed-form statistics against dense deterministic quadrature, mass conservation through predict/update, and convergence of the relaxation terms under grid refinement.

Validation

PYTHONPATH=src python -m pytest tests/filters/test_relaxed_s3f_circular.py -q

Result: 4 passed.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 27, 2026

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 12.05s
✅ JSON prettier 2 0 0 0 0.46s
✅ JSON v8r 2 0 0 10.66s
✅ MARKDOWN markdownlint 16 0 0 0 1.15s
✅ MARKDOWN markdown-table-formatter 16 0 0 0 0.3s
✅ PYTHON bandit 427 0 0 6.0s
✅ PYTHON black 427 0 0 0 8.6s
✅ PYTHON flake8 427 0 0 3.25s
✅ PYTHON isort 427 2 0 0 0.79s
✅ PYTHON mypy 427 0 0 5.28s
✅ PYTHON pylint 427 0 0 125.26s
✅ PYTHON ruff 427 2 0 0 0.08s
✅ REPOSITORY checkov yes no no 22.73s
✅ REPOSITORY gitleaks yes no no 7.9s
✅ REPOSITORY git_diff yes no no 0.06s
✅ REPOSITORY secretlint yes no no 6.91s
✅ REPOSITORY syft yes no no 3.09s
✅ REPOSITORY trivy-sbom yes no no 3.33s
✅ REPOSITORY trufflehog yes no no 19.37s
✅ YAML prettier 5 0 0 0 0.48s
✅ YAML v8r 5 0 0 12.99s
✅ YAML yamllint 5 0 0 0.59s

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.4.0 --custom-flavor-setup --custom-flavor-linters PYTHON_PYLINT,PYTHON_BLACK,PYTHON_FLAKE8,PYTHON_ISORT,PYTHON_BANDIT,PYTHON_MYPY,PYTHON_RUFF,COPYPASTE_JSCPD,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 27, 2026

Test Results

    12 files      12 suites   4h 33m 21s ⏱️
 1 211 tests  1 211 ✅     0 💤 0 ❌
14 896 runs  11 364 ✅ 3 532 💤 0 ❌

Results for commit 3625c89.

♻️ This comment has been updated with latest results.

@FlorianPfaff FlorianPfaff marked this pull request as ready for review April 28, 2026 11:54
@FlorianPfaff FlorianPfaff merged commit 2207457 into main Apr 28, 2026
20 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