# Numerical integration using interval arithmetic, nowadays

Is there now a package for rigorous numerical integration that uses interval arithmetic and has access to a well-developed library of special functions?

By "well-developed", I mean something that, at the very least, includes the error function $\text{erf}$, the incomplete gamma function $\Gamma(s,x)$ and the like. In other words, I would like to integrate expressions involving these functions. VNODE-LP doesn't seem to satisfy this requirement, as it relies on older interval-arithmetic libraries lacking such basic special functions. (Besides, perhaps it is just me, but VNODE-LP actually seems harder to install than three years ago; I am not sure it is being adequately maintained.)

PS. An ideal library would have both arbitrary-precision and double-precision modes, the latter one fast. That isn't really an issue for what I am doing now, but it sounds like a basic desideratum, just as, say, an intuitive interface written in C++ (as opposed to plain C) would be nice.

• Could you use Boost.Math? It has lots of numerical integration techniques and special function, which work at arbitrary precision. You'll need to supply an interval arithmetic class as a template parameter (which I've never tested), but it should work. – user14717 May 7 '18 at 1:14
• @user14717 I am not sure that it is that straightforward (which is why I favorited this question in case someone answers it). On the page for Boost.Interval (boost.org/doc/libs/1_66_0/libs/numeric/interval/doc/…), they explicitly specify the functions they support, and I don't see the special functions being listed there. I wonder if it is possible to do it as you descibed - and would be very interested to see an example. – Anton Menshov May 7 '18 at 6:04
• @AntonMenshov: Looks like you're right: But only because Boost.Interval is essentially unmaintained. I'm hitting bug after bug. – user14717 May 7 '18 at 6:21
• @user14717 that's a shame. I would love to be wrong in this particular case. – Anton Menshov May 7 '18 at 14:33
• It looks like ARB is gradually getting there. – H A Helfgott May 8 '18 at 9:57