Risch Algorithm for Symbolic Computation of Indefinite Integrals

Lecture 4 min.



The Risch algorithm is an algorithm for the analytic computation of indefinite integrals that uses methods of differential algebra. It is based on the type of the integrand and on methods for integrating rational functions, roots, logarithms, and exponential functions.

It is named after Robert Henry Risch . Risch himself, who developed the algorithm in 1968, called it a "decision procedure," because the method decides whether the antiderivative of a function is an elementary function. The most detailed study of the algorithm is presented in 100 pages of the book "Algorithms for Computer Algebra" by Keith Geddes, Stephen Czapor and George Labahn.

Description

The Risch algorithm integrates elementary functions. Laplace solved this problem for rational functions, showing that the indefinite integral of a rational function is itself a rational function plus a finite number of constants multiplied by logarithms of rational functions. It was implemented in software in the early 1960s.

Liouville formulated the problem solved by the Risch algorithm. He proved analytically that if there is an elementary solution g to the equation Risch Algorithm for Symbolic Computation of Indefinite Integrals, then for constants αiRisch Algorithm for Symbolic Computation of Indefinite Integrals and elementary functions uiRisch Algorithm for Symbolic Computation of Indefinite Integrals and vRisch Algorithm for Symbolic Computation of Indefinite Integrals the solution exists in the form

Risch Algorithm for Symbolic Computation of Indefinite Integrals

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

The Risch algorithm was inspired by the behavior of exponential and logarithmic functions under differentiation.

For a function f eg, where f and g are differentiable, we have

Risch Algorithm for Symbolic Computation of Indefinite Integrals

so if the function eg appears in the result of indefinite integration, it must also be part of the original integrand. Similarly, since

Risch Algorithm for Symbolic Computation of Indefinite Integrals

if (ln g)n appears in the result of integration, then several powers of the logarithm must be present in the original integrand.

Examples of solvable problems

Finding an elementary antiderivative is very sensitive to slight changes. For example, the following function has an elementary antiderivative:

Risch Algorithm for Symbolic Computation of Indefinite Integrals

namely:

Risch Algorithm for Symbolic Computation of Indefinite Integrals

But if in the expression f(x) one changes 71 to 72, it becomes impossible to find an elementary antiderivative. (Some computer algebra systems may in this case return the answer as a non-elementary function — an elliptic integral, which, however, is not covered by the Risch algorithm.)

The following functions are more complicated examples:

Risch Algorithm for Symbolic Computation of Indefinite Integrals

The antiderivative of this function has a short form

Risch Algorithm for Symbolic Computation of Indefinite Integrals

Implementation

An efficient software implementation of the theoretically constructed algorithm turned out to be a difficult task. In the case of purely transcendental functions (containing no roots or polynomials) it was implemented relatively easily in most computer algebra systems

The case of purely algebraic functions was solved and implemented in the Reduce system by James Davenport . The general case was solved and implemented by Manuel Bronstein in Scratchpad (the predecessor of the Axiom system) .

Decidability

The Risch algorithm, applied to the general case of elementary functions, is not an algorithm in the strict sense, because in the course of its work it needs to determine whether certain expressions are identically zero (the constant problem). For expressions whose functions are elementary, it is unknown whether an algorithm exists that performs such a check (modern systems use heuristics). Moreover, if the absolute value function is added to the list of elementary functions, no such algorithm exists (Richardson's theorem ). This problem also arises in polynomial long division: it is not decidable if one cannot determine whether coefficients are equal to zero.

Almost every nontrivial algorithm that uses polynomials uses a division algorithm for them, as does the Risch algorithm. If the field of constants is computable, then the zero-equivalence problem is decidable, and the Risch algorithm is complete. Examples of computable fields of constants are Risch Algorithm for Symbolic Computation of Indefinite Integrals and Risch Algorithm for Symbolic Computation of Indefinite Integrals.

The same problem exists in Gaussian elimination, which is also necessary for many parts of the Risch algorithm. Gaussian elimination will give an incorrect result if it is impossible to correctly determine whether a basis is identically zero.

See also

  • Axiom (computer algebra system)
  • Closed-form expression
  • Incomplete gamma function
  • Lists of integrals
  • Liouville's theorem (differential algebra)
  • Nonelementary integral
  • Symbolic integration
created: 2025-11-18
updated: 2026-09-29
35



Was this answer useful?
Choose a quick rating so we can improve the next answer for you.
How satisfied are you?


Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Mathematical analysis. Integral calculus"

Terms: Mathematical analysis. Integral calculus