14
$\begingroup$

I need to evaluate some (one-variable) integrals that neither SAGE nor Mathematica can do symbolically. As far as I can tell, I have two options:

(a) Use GSL (via SAGE), Maxima or Mathematica to do numerical integration. This is really a non-option, since, if I understand correctly, the "error bound" they give is not really a guarantee.

(b) Cobble together my own programs using the trapezoidal rule, Simpson's rule, etc., and get rigorous error bounds using bounds I have for the second (or fourth, or what have you) derivative of the function I am integrating. This is what I have been doing.

Is there a third option? Is there standard software that does (b) for me?

$\endgroup$
11
  • 1
    $\begingroup$ The ideal thing would be a program that could also come up with the derivative bounds on its own, given the symbolic expression for the function. (This should be possible in lots of cases where symbolic integration just isn't possible at all.) $\endgroup$ Mar 5, 2013 at 23:20
  • 3
    $\begingroup$ Does VNODE do what you want? cas.mcmaster.ca/~nedialk/Software/VNODE/VNODE.shtml Or VSPODE? www3.nd.edu/~markst/lin-stadtherr-vspode-apnum.pdf $\endgroup$
    – Gilead
    Mar 10, 2013 at 14:26
  • 2
    $\begingroup$ Vonjd, here are some fairly representative examples. (And yes, Henry, I've been coding things myself.) (a) $\int_{0+}^{1-} |h'''(x)| dx$, where $h(x) = x^2 (1-x)^2 e^x$. (easiest) (b) $\widehat{f}(t)$ at all points in $t\in (-655,655)\cap 0.001\mathbb{Z}$, where $f(x) = 4 x^{-2}$ if $x\in \lbrack 1/2,1\rbrack$, $f(x) = -4 x^{-2}$ if $x\in \lbrack 1/4,1/2\rbrack$ and $f(x)=0$ if $x<1/4$ or $x\geq 1$. (Already did this, though without interval arithmetic.) (c) $\int_{-\infty}^\infty |\gamma(it+1,-1) + \gamma(it+2,-2)| dt$, where $\gamma(s,x)=\int_0^x e^{-t} t^{s-1} dt$. $\endgroup$ Mar 11, 2013 at 15:50
  • 1
    $\begingroup$ Taking derivatives is easy. I can do (a) and (b) with my own code, and a friend just helped set up VNODE-LP to do (a) and (b). It is (c) that looks nasty right now; if you replace $\gamma$ by its definition, you get a double integral. By the way, that should really be $\int_{-\infty}^\infty |\gamma(it+1,-1)+\gamma(it+2,-1)| dt. $\endgroup$ Mar 13, 2013 at 17:58
  • 1
    $\begingroup$ Note from the future: a follow-up question was asked three years later at mathoverflow.net/questions/248486/…, with some useful answers and discussion. $\endgroup$
    – Boris Bukh
    Feb 12, 2020 at 14:38

2 Answers 2

9
$\begingroup$

Interval arithmetic methods will permit rigorous bounds. You might try INTLAB. There are various books on rigorous numerics, e.g., Warwick Tucker's Validated Numerics, and the journal Reliable Computing is dedicated to such things.

$\endgroup$
3
  • 1
    $\begingroup$ I'm not sure machine arithmetic is the issue here. The main problem is using some derivative bound to make sure that the function won't get crazy outside of the evaluation points. $\endgroup$ Mar 6, 2013 at 8:27
  • 1
    $\begingroup$ One could combine IA and automatic differentiation to address derivative bounds rigorously. In fact so-called Taylor forms generalize IA and can provide this capability. $\endgroup$ Mar 6, 2013 at 12:31
  • 1
    $\begingroup$ Hi - thanks for the answer, but, as was said above, interval arithmetic is not the main issue here (though it's nice to have). Do you know whether INTLAB does integration given derivative bounds? Also, is there a free-software alternative? $\endgroup$ Mar 6, 2013 at 14:26
6
$\begingroup$

VNODE-LP is a C++ package with which you should be able to achieve the desired task:

VNODE-LP is a C++ package for computing bounds on solutions in IVPs for ODEs. In contrast to traditional ODE solvers, which compute approximate solutions, this solver tries to prove that a unique solution to a problem exists and then computes bounds that contain this solution. Such bounds can be used to help prove a theoretical result, check if a solution satisfies a condition in a safety-critical calculation, or simply to verify the results produced by a traditional ODE solver.

This package is a successor of the VNODE package of N. Nedialkov (mentioned above in the comments by Gilead).

It is free and can be downloaded here:
http://www.cas.mcmaster.ca/~nedialk/vnodelp/

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.