Risch algorithm

From Wikipedia, the free encyclopedia

The Risch algorithm, named after Robert H. Risch, 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, radicals, logarithms, and exponential functions. Risch, who developed the algorithm in 1968, called it 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-Norman algorithm, a faster but less powerful technique, was developed in 1976.

Contents

[edit] Description

The Risch algorithm is used to integrate elementary functions. These are functions obtained by composing exponentials, logarithms, radicals, trigonometry, 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 g to the equation g ′ = f then for constants αi and elementary functions ui and v the solution is of the form

 f = \sum_{i<n} \alpha_i \frac{u_i^{\prime}}{u_i} + v^\prime \,.

Risch developed a method that allows one to only consider a finite set of elementary functions of Liouville's form.

The intuition for the Risch algorithm comes from the behavior of the exponential and logarithm functions under differentiation. For the function f eg, where f and g are differentiable functions, we have

 (f \cdot e^g)' = (f^\prime + f\cdot g^\prime)\cdot e^g,

so if eg were in the result of an indefinite integration, it should be expected to be inside the integral. Also, as

 (f \cdot\ln^n g)' =  f^\prime \ln^n{g} + n f  \frac{g^\prime}{g} \ln^{n-1}{g}

then if lnng were in the result of an integration, then only a few powers of the logarithm should be expected.

An important consequence of Risch's result is that the Gaussian integral has no elementary antiderivative.

[edit] Implementation

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. No software (as of March 2008) is known to implement the full Risch algorithm. The software package Axiom claims that it has the most complete implementation of the Risch algorithm, and if Axiom says "no", then the input function has no elementary antiderivative (however, in a lot of these cases, the Risch algorithm for this class of problem has not been implemented yet, so Axiom returns "error" instead of "yes" or "no").

For example, all known programs (except Axiom) cannot find the antiderivative for[citation needed]

 f(x) = x / \sqrt{x^4 + 10 x^2 - 96 x - 71}

Axiom can solve the above case, the result being:

F(x) = - \ln \left( (x^6+15 x^4-80 x^3+27 x^2-528 x+781) \sqrt{ x^4+10 x^2-96 x-71} 
- x^8 - 20 x^6 + 128 x^5 - 54 x^4 + 1408 x^3 - 3124 x^2 - 10001 \right) /8 + C

The following is a more complex example, which no software (as of March 2008) is known find an antiderivative for:

f(x) = (x^2+3 \sqrt{x+\ln x} x+2x+\sqrt{x+\ln x}+1)/(\sqrt{x+\ln x}x(x+\sqrt{x+\ln x}))

While the antiderivative for the above has a short form:

F(x) = 2 (\sqrt{x+\ln x} + \ln(x+\sqrt{x+\ln x})) + C

See also: [1].

Also, the Risch algorithm is not an "algorithm" literally, because it needs as a part to check if some expression is equivalent to zero. And for a common meaning of what an "elementary function" is it's not known whether such an algorithm exists or not (so current computer algebra systems use heuristics); moreover, if one will add abs(x) to the list of elementary functions, it is known that no such algorithm exists, see Richardson's theorem.

[edit] References

[edit] See also