Repository navigation
More Gaussian Quadrature Methods - #1517
JacobHass8 wants to merge 19 commits into
Conversation
|
@JacobHass8 : I encourage you to take on the adaptive versions of these in the first pass-or at least give an error estimate. This truly increases the value of these methods to users. |
I deleted my earlier comment because I realized adaptive methods are much, much harder for Hermite and Laguerre polynomials than simply using Gauss-Kronrod. I went back to your previous comment and took a look at the paper here: https://arxiv.org/html/1203.1554v2. Could I just use the Mathematica code provided to generate the abscissa and weights for fixed number of points? I can also work with Claude to translate the code but I'm not sure how long that would take. It also needs to solve a linear system of equations so will require Eigen or a linear solver. As you noted earlier, an error estimate could just be provided by evaluating a higher order method and taking the difference. This is very minimal but might not be the best estimation. Do you have any preference on which route to go? |
|
@JacobHass8 : Hmm, I think you're right-the literature is considerably less developed for this problem. What about tackling Genz-Kaister first? |
It looks like Genz-Keister will be difficult/impossible to compute on the fly. Apparently the linear system of equations can be ill-conditioned and return complex roots. I think that I'll just use the mathematica code in the arxiv paper to calculate the coefficients to higher precision |
|
@JacobHass8 : Could you get your quadrature methods added to the nanobind layer so I can play around with them? |
Yes, I can work on that next. I've only really implemented Gauss-Laguerre though. I still need to do Associated Laguerre and Jacobi methods. I also have weights and abscissa for the nested hermite method. I still need to test if they actually give higher accuracy than regular gauss hermite. I assumed this would go in a separate PR but I can commit it here if you want. |
Separate PR is fine. |
I'm working on adding more Gaussian quadrature methods using Laguerre, Associated Laguerre and Jacobi polynomials. This is done by generalizing the orthogonal polynomial root finder in #1461 to any family of polynomials. I also added tests for finding the root of these polynomials in the process.
So far I've only implemented everything for Laguerre polynomials, but I'm going to start on Associate Laguerre polynomials next.