14
$\begingroup$

I was recently looking at automatic differentiation.

  1. Does something like automatic differentiation exist for integration?
  2. Would the integral be equivalent to something like Euler's method? (or am I thinking about it wrong?)

edit: I am looking at some inherited code that includes https://projects.coin-or.org/ADOL-C as a black box.

  • 0
    I do $n$ot know precisely what the OP means by automatic integration. However, this is one o$f$ [many hits.](http://www.amazon.com/Quadpack-Subroutine-Integration-Computational-Mathematics/dp/0387$1$25531)2012-02-14

2 Answers 2

9

If I'm reading your question correctly: I don't believe there is an algorithm that, given the algorithm for your function to be integrated and appropriate initial conditions, will give an algorithm that corresponds to the integral of your original function.

However: you might wish to look into the Chebfun project by Trefethen, Battles, Driscoll, and others. What this system does is to internally represent a function given to it as a piecewise polynomial of possibly high degree, interpolated at appropriately shifted and scaled "Chebyshev points" (roots of the Chebyshev polynomial of the first kind). The resulting chebfun() object is then easily differentiated, integrated, or whatever other operation you might wish to do to the function. See the user guide for more details on this approach.

  • 0
    Thank you this is what I was hoping for!2012-02-16
4

Perhaps what you're thinking about is the Risch algorithm. See http://en.wikipedia.org/wiki/Risch_algorithm

  • 0
    Perhaps Misha could say precisely what is meant in this case. As far as I know, given a procedure for computing a function (let's say of one variable), automatic differentiation produces a procedure for the derivative of that function. The result is algebraically equivalent to the symbolic derivative, although for reasons of efficiency it is not expressed as a single expresssion. It's true that Risch's algorithm doesn't address the efficiency issue, but deciding whether an elementary antiderivative exists must come first.2012-02-15