Risch algorithm
|
The Risch algorithm is an algorithm for the calculus operation of indefinite integration (i.e. finding antiderivatives). The algorithm transforms the problem of integration into a problem in algebra. It is based on the form of the function being integrated and on methods for integrating rational functions, logarithms, and exponential functions. Robert Risch called the algorithm a decision procedure, because it is a method for deciding if a function has a simple-looking function as an indefinite integral; and also, if it does, determining it.
The Risch algorithm is used to integrate elementary functions. These are functions obtained by composing exponentials, logarithms, radicals, and the four operations (+ − × ÷). Laplace solved this problem for the case of rational functions, as he showed that the indefinite integral of a rational function is a rational function and a finite number of constant multiples of logarithms of rational functions. The algorithm suggested by Laplace is usually described in calculus textbooks but was only implemented in the 1960s.
Liouville formulated the problem solved by the Risch algorithm. Liouville proved by analytical means that if there is an elementary solution f to the equation g ′ = f then for constants αi and elementary functions ui and v the solution is of the form
- <math> f = \sum_{i
Risch developed a method for finding a finite set of elementary functions to consider.
The intuition for the Risch algorithm comes from the behavior of the exponential and logarithm functions under differentiation. If there is a function f eg where f and g are functions of x, then
- <math> \frac{d}{dx} f e^g = (f^\prime + f g^\prime) e^g <math>
so if eg were in the result of an indefinite integration, it should be expected to be inside the integral. Also, as
- <math> \frac{d}{dx} f \ln^n g = f^\prime \ln^n{g} + n f \frac{g^\prime}{g} \ln^{n-1}{g} <math>
then if lnng were in the result of an integration, then only a few powers of the logarithm should be expected.
The Risch decision procedure is not formally an algorithm because it requires an oracle that decides whether a constant expression is zero, a problem shown by Daniel Richardson to be undecidable. Transforming the Risch decision procedure into an algorithm that can be executed by a computer is a complex task that requires the use of heuristics and many refinements.