Skip to content

Add classical quadrature rule families (Phase 2)#4

Merged
gvonness-apolitical merged 1 commit intomainfrom
phase-2-classical-rules
Feb 26, 2026
Merged

Add classical quadrature rule families (Phase 2)#4
gvonness-apolitical merged 1 commit intomainfrom
phase-2-classical-rules

Conversation

@gvonness-apolitical
Copy link
Contributor

Summary

  • Implement seven quadrature rule types: Gauss-Jacobi, Gauss-Laguerre, Gauss-Hermite, Gauss-Chebyshev (Types I & II), Gauss-Lobatto, Gauss-Radau, and Clenshaw-Curtis
  • Add shared Golub-Welsch eigenvalue solver (symmetric tridiagonal QL algorithm) for robust node/weight computation without Newton convergence issues
  • Radau modification via continued fraction on characteristic polynomial for endpoint-inclusive rules
  • 98 unit tests + 21 doc tests passing, zero clippy warnings

Test plan

  • All 98 unit tests pass (weight sums, node ordering, polynomial exactness, symmetry)
  • All 21 doc tests pass
  • Zero clippy warnings
  • cargo fmt --check clean

Implement seven quadrature rule types using the Golub-Welsch algorithm
(symmetric tridiagonal eigenvalue decomposition) for robust node/weight
computation without Newton iteration convergence issues.

New rules: Gauss-Jacobi, Gauss-Laguerre, Gauss-Hermite, Gauss-Chebyshev
(Types I & II), Gauss-Lobatto, Gauss-Radau, and Clenshaw-Curtis.

Shared golub_welsch module provides the QL eigenvalue solver and Radau
modification used by four of the rule families. 98 unit tests + 21 doc
tests all passing with zero clippy warnings.
@gvonness-apolitical gvonness-apolitical merged commit b6105bc into main Feb 26, 2026
0 of 6 checks passed
@gvonness-apolitical gvonness-apolitical deleted the phase-2-classical-rules branch February 26, 2026 14:07
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