
Hugo Duncan wrote:
Hi,
I have put together a quadrature library, for the numerical evaluation of definite integrals.
I put this together to meet some requirements that I had. I would like to get comments on whether the scope, algorithms and approach used are of interest within boost.
The code is based on QUADPACK's QAG and QAG global adaptive routines, using Kronrod-Gauss or Recursive Monotone Stable integration "kernels".
This is not just a translation of the QUADPACK code, but tries to take a (reasonably) modern C++ approach. The RMS kernel is based on TOMS 691.
Error estimation, choice of integration kernel, algorithm performance statistics, series limit acceleration algorithm, etc are all plugable.
For the less brave, I would appreciate any comments you might have on a quadrature library in general.
A couple of quick comments: The docs could use a quick once over with a spellchecker, I spotted "Intgeration" and "intgerators" in several places, along with "releative". It would also probably widen your audience if the docs were posted online somewhere, so folks don't have to mess about building them themselves. Other than that, can your adaptive integrators "automagically" handle functions with infinities and/or discontinuities, assuming the function is actually integratable? Or am I on a hiding to nothing expecting that? It's also good to see more Math-oriented code proposed for Boost, unfortunately I can't really claim to understand numeric integrators just yet - haven't needed them so far - but I might have a use case to test your code with if I can figure out what to do about the discontinuities! Regards, John Maddock.