Skip to content

Add SO3 product Dirac distribution#1914

Merged
FlorianPfaff merged 4 commits intomainfrom
codex/so3-product-dirac-distribution
Apr 29, 2026
Merged

Add SO3 product Dirac distribution#1914
FlorianPfaff merged 4 commits intomainfrom
codex/so3-product-dirac-distribution

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

  • add SO3ProductDiracDistribution for weighted Dirac particles on SO(3)^K using scalar-last unit quaternions
  • support flat and product-shaped inputs, quaternion canonicalization, sampling, product marginals, chordal mean moments, geodesic distances, and rotation-matrix conversion
  • export the new distribution and cover it with focused backend-aware tests

Validation

  • PYRECEST_BACKEND=numpy python -m pytest -q tests\distributions\test_so3_product_dirac_distribution.py
  • PYRECEST_BACKEND=jax python -m pytest -q tests\distributions\test_so3_product_dirac_distribution.py
  • PYRECEST_BACKEND=pytorch python -m pytest -q tests\distributions\test_so3_product_dirac_distribution.py
  • python -m pytest -q tests\distributions\test_so3_product_dirac_distribution.py tests\distributions\test_hyperspherical_dirac_distribution.py tests\distributions\test_hyperspherical_uniform_distribution.py
  • python -m ruff check src\pyrecest\distributions\so3_product_dirac_distribution.py tests\distributions\test_so3_product_dirac_distribution.py src\pyrecest\distributions\__init__.py
  • python -m pylint src\pyrecest\distributions\so3_product_dirac_distribution.py tests\distributions\test_so3_product_dirac_distribution.py
  • python -m mypy --ignore-missing-imports src\pyrecest\distributions\so3_product_dirac_distribution.py tests\distributions\test_so3_product_dirac_distribution.py

@FlorianPfaff FlorianPfaff marked this pull request as ready for review April 28, 2026 17:32
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 28, 2026

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 14.68s
✅ JSON prettier 2 0 0 0 0.46s
✅ JSON v8r 2 0 0 2.78s
✅ MARKDOWN markdownlint 21 0 0 0 1.07s
✅ MARKDOWN markdown-table-formatter 21 0 0 0 0.28s
✅ PYTHON bandit 437 0 0 6.19s
✅ PYTHON black 437 0 0 0 8.94s
✅ PYTHON flake8 437 0 0 3.29s
✅ PYTHON isort 437 1 0 0 0.81s
✅ PYTHON mypy 437 0 0 5.31s
✅ PYTHON pylint 437 0 0 129.87s
✅ PYTHON ruff 437 1 0 0 0.08s
✅ REPOSITORY checkov yes no no 21.6s
✅ REPOSITORY gitleaks yes no no 10.01s
✅ REPOSITORY git_diff yes no no 0.07s
✅ REPOSITORY secretlint yes no no 8.56s
✅ REPOSITORY syft yes no no 2.95s
✅ REPOSITORY trivy-sbom yes no no 3.36s
✅ REPOSITORY trufflehog yes no no 18.86s
✅ YAML prettier 5 0 0 0 0.47s
✅ YAML v8r 5 0 0 5.04s
✅ YAML yamllint 5 0 0 0.43s

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 28, 2026

Test Results

    12 files  ± 0      12 suites  ±0   4h 35m 8s ⏱️ + 21m 22s
 1 241 tests + 7   1 241 ✅ + 7      0 💤 ±0  0 ❌ ±0 
15 256 runs  +84  11 720 ✅ +84  3 536 💤 ±0  0 ❌ ±0 

Results for commit 0a22dbc. ± Comparison against base commit c24730f.

♻️ This comment has been updated with latest results.

@FlorianPfaff FlorianPfaff merged commit 81fac1a into main Apr 29, 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