Risch algorithm
A decision procedure for integration in finite terms: given an elementary function, it either finds an elementary antiderivative or proves that none exists. It rests on Liouville's theorem, which fixes the form any elementary antiderivative must have, and works through a tower of logarithmic and exponential extensions of the rational functions.
An elementary function is built from and constants by arithmetic, , and algebraic operations. Liouville's theorem: if in a differential field has an elementary antiderivative, then it has one of the form
with the algebraic over the constants of . An antiderivative can add new logarithms with constant coefficients and nothing else, which turns the question of whether one exists into the question of whether certain equations have solutions in .
The algorithm writes in a tower , each the logarithm or exponential of an element below it, and integrates with respect to the top variable , treating as a rational function of over the field below. Hermite reduction removes the repeated factors of the denominator. For the remaining part with squarefree, the coefficients of the logarithms are the roots of a resultant (Rothstein–Trager):
and they must be constants, or there is no elementary antiderivative. When , the polynomial part leads to the Risch differential equation , to be solved for in the field below.[1]
Take . With , Liouville's theorem forces any elementary antiderivative to be plus a constant, for some . Differentiating,
If had a pole of order at some point, would have one of order there that no other term can cancel, so is a polynomial. A nonzero polynomial of degree makes a polynomial of degree , never the constant 1, and gives 0. So there is no solution, and has no elementary antiderivative. With right-hand side instead of 1 the equation has the solution , which is .
The transcendental case, towers of exponentials and logarithms over , is completely algorithmic. The algebraic case, extensions by roots of polynomials, was completed later by Trager and Bronstein[3] and is rarely implemented in full. Either way the algorithm needs to decide whether a constant is zero, which is undecidable for general elementary constants, so it is a decision procedure relative to a constant field where equality can be decided.
see also
- Hermite reductionThe step of symbolic integration that splits the integral of a rational function A/D into a rational function and an integral whose denominator is squarefree, using only extended gcds and no factorization of D. What remains after it integrates to a sum of logarithms.
- Partial fractionsRewriting a rational function as a polynomial plus one term per irreducible factor power of the denominator. Splitting across coprime denominators is the Bezout identity and nothing more; doing it over irreducible rather than square-free factors is what requires a factoriser.
- Gruntz algorithmAn algorithm for limits of exp-log functions, built from x and constants by arithmetic, exp and log, as x tends to infinity. It finds the most rapidly varying subexpressions, rewrites the function as a series in one of them, and reads the limit off the leading term, recursing when that term is itself a function of x.
- Canonical formA representation chosen so that mathematically equal objects are structurally identical. Once expressions have one, deciding equality is a comparison rather than a search, and a zero test is a look at the representation rather than an attempt to prove an identity. It is the property every layer of a CAS is built to preserve.
further reading
- [1]R. H. Risch, “The problem of integration in finite terms”, Transactions of the AMS 139 (1969).
- [2]M. Rosenlicht, “Integration in finite terms”, American Mathematical Monthly 79 (1972).
- [3]B. M. Trager, Integration of Algebraic Functions, PhD thesis, MIT (1984).
- [4]M. Bronstein, Symbolic Integration I: Transcendental Functions, Springer (2nd ed., 2005).