Risch algorithm

Last updated

In symbolic computation, the Risch algorithm is a method of indefinite integration used in some computer algebra systems to find antiderivatives. It is named after the American mathematician Robert Henry Risch, a specialist in computer algebra who developed it in 1968.

Contents

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 called it a decision procedure, because it is a method for deciding whether a function has an elementary function as an indefinite integral, and if it does, for determining that indefinite integral. However, the algorithm does not always succeed in identifying whether or not the antiderivative of a given function in fact can be expressed in terms of elementary functions.[ example needed ]

The complete description of the Risch algorithm takes over 100 pages. [1] The Risch–Norman algorithm is a simpler, faster, but less powerful variant that was developed in 1976 by Arthur Norman.

Some significant progress has been made in computing the logarithmic part of a mixed transcendental-algebraic integral by Brian L. Miller. [2]

Description

The Risch algorithm is used to integrate elementary functions. These are functions obtained by composing exponentials, logarithms, radicals, trigonometric functions, and the four arithmetic 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 [ citation needed ]. The algorithm suggested by Laplace is usually described in calculus textbooks; as a computer program, it was finally implemented in the 1960s.[ citation needed ]

Liouville formulated the problem that is solved by the Risch algorithm. Liouville proved by analytical means that if there is an elementary solution g to the equation g′ = f then there exist constants αi and functions ui and v in the field generated by f such that the solution is of the form

Risch developed a method that allows one to consider only a finite set of 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 feg, where f and g are differentiable functions, we have

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

then if (ln g)n were in the result of an integration, then only a few powers of the logarithm should be expected.

Problem examples

Finding an elementary antiderivative is very sensitive to details. For instance, the following algebraic function (posted to sci.math.symbolic by Henri Cohen in 1993 [3] ) has an elementary antiderivative, as Wolfram Mathematica since version 13 shows (however, Mathematica does not use the Risch algorithm to compute this integral): [4] [5]

namely:

But if the constant term 71 is changed to 72, it is not possible to represent the antiderivative in terms of elementary functions, [6] as FriCAS also shows. Some computer algebra systems may here return an antiderivative in terms of non-elementary functions (i.e. elliptic integrals), which are outside the scope of the Risch algorithm. For example, Mathematica returns a result with the functions EllipticPi and EllipticF. This integral was solved by Chebyshev (and in what cases it is elementary), [7] but the strict proof for it was ultimately done by Zolotarev. [6]

The following is a more complex example that involves both algebraic and transcendental functions: [8]

In fact, the antiderivative of this function has a fairly short form that can be found using substitution (SymPy can solve it while FriCAS fails with "implementation incomplete (constant residues)" error in Risch algorithm):

Some Davenport "theorems"[ definition needed ] are still being clarified. For example in 2020 a counterexample to such a "theorem" was found, where it turns out that an elementary antiderivative exists after all. [9]

Implementation

Transforming Risch's theoretical algorithm into an algorithm that can be effectively executed by a computer was a complex task which took a long time.

The case of the purely transcendental functions (which do not involve roots of polynomials) is relatively easy and was implemented early in most computer algebra systems. The first implementation was done by Joel Moses in Macsyma soon after the publication of Risch's paper. [10]

The case of purely algebraic functions was solved and implemented in Reduce by James H. Davenport, though for simplicity it could only deal with square roots and repeated square roots and not general Radicals or other non-quadratic algebraic relations between variables. [11]

The general case was solved and almost fully implemented in Scratchpad, a precursor of Axiom, by Manuel Bronstein, and is now being developed in Axiom's fork, FriCAS. [12] However, the implementation did not include some of the branches for special cases completely. [13] Currently, there is no known full implementation of the Risch algorithm. [14]

Decidability

The Risch algorithm applied to general elementary functions is not an algorithm but a semi-algorithm because it needs to check, as a part of its operation, if certain expressions are equivalent to zero (constant problem), in particular in the constant field. For expressions that involve only functions commonly taken to be elementary it is not known whether an algorithm performing such a check exists or not (current computer algebra systems use heuristics); moreover, if one adds the absolute value function to the list of elementary functions, it is known that no such algorithm exists; see Richardson's theorem.

Note that this issue also arises in the polynomial division algorithm; this algorithm will fail if it cannot correctly determine whether coefficients vanish identically. [15] Virtually every non-trivial algorithm relating to polynomials uses the polynomial division algorithm, the Risch algorithm included. If the constant field is computable, i.e., for elements not dependent on x, the problem of zero-equivalence is decidable, then the Risch algorithm is a complete algorithm. Examples of computable constant fields are Q and Q(y), i.e., rational numbers and rational functions in y with rational number coefficients, respectively, where y is an indeterminate that does not depend on x.

This is also an issue in the Gaussian elimination matrix algorithm (or any algorithm that can compute the nullspace of a matrix), which is also necessary for many parts of the Risch algorithm. Gaussian elimination will produce incorrect results if it cannot correctly determine if a pivot is identically zero[ citation needed ].

See also

Notes

  1. Geddes, Czapor & Labahn 1992.
  2. Miller, Brian L. (May 2012). "On the integration of elementary functions: Computing the logarithmic part" . Retrieved December 10, 2023.
  3. Cohen, Henri (December 21, 1993). "A Christmas present for your favorite CAS".
  4. "Wolfram Cloud". Wolfram Cloud. Retrieved December 11, 2021.
  5. This example was posted by Manuel Bronstein to the Usenet forum comp.soft-sys.math.maple on November 24, 2000.
  6. 1 2 Zolotareff, G. (December 1, 1872). "Sur la méthode d'intégration de M. Tchébychef". Mathematische Annalen (in French). 5 (4): 560–580. doi:10.1007/BF01442910. ISSN   1432-1807. S2CID   123629827.
  7. Chebyshev, P. L. (1899–1907). Oeuvres de P.L. Tchebychef (in French). University of California Berkeley. St. Petersbourg, Commissionaires de l'Academie imperiale des sciences.
  8. Bronstein 1998.
  9. Masser, David; Zannier, Umberto (December 2020). "Torsion points, Pell's equation, and integration in elementary terms". Acta Mathematica. 225 (2): 227–312. doi: 10.4310/ACTA.2020.v225.n2.a2 . ISSN   1871-2509. S2CID   221405883.
  10. Moses 2012.
  11. Davenport 1981.
  12. Bronstein 1990.
  13. Bronstein, Manuel (September 5, 2003). "Manuel Bronstein on Axiom's Integration Capabilities". groups.google.com. Retrieved February 10, 2023.
  14. "integration - Does there exist a complete implementation of the Risch algorithm?". MathOverflow. October 15, 2020. Retrieved February 10, 2023.
  15. "Mathematica 7 Documentation: PolynomialQuotient". Section: Possible Issues. Retrieved July 17, 2010.

Related Research Articles

<span class="mw-page-title-main">Antiderivative</span> Concept in calculus

In calculus, an antiderivative, inverse derivative, primitive function, primitive integral or indefinite integral of a function f is a differentiable function F whose derivative is equal to the original function f. This can be stated symbolically as F' = f. The process of solving for antiderivatives is called antidifferentiation, and its opposite operation is called differentiation, which is the process of finding a derivative. Antiderivatives are often denoted by capital Roman letters such as F and G.

In complex analysis, an entire function, also called an integral function, is a complex-valued function that is holomorphic on the whole complex plane. Typical examples of entire functions are polynomials and the exponential function, and any finite sums, products and compositions of these, such as the trigonometric functions sine and cosine and their hyperbolic counterparts sinh and cosh, as well as derivatives and integrals of entire functions such as the error function. If an entire function has a root at , then , taking the limit value at , is an entire function. On the other hand, the natural logarithm, the reciprocal function, and the square root are all not entire functions, nor can they be continued analytically to an entire function.

In mathematics, an elementary function is a function of a single variable that is defined as taking sums, products, roots and compositions of finitely many polynomial, rational, trigonometric, hyperbolic, and exponential functions, including possibly their inverse functions.

<span class="mw-page-title-main">Integral</span> Operation in mathematical calculus

In mathematics, an integral is the continuous analog of a sum, which is used to calculate areas, volumes, and their generalizations. Integration, the process of computing an integral, is one of the two fundamental operations of calculus, the other being differentiation. Integration was initially used to solve problems in mathematics and physics, such as finding the area under a curve, or determining displacement from velocity. Usage of integration expanded to a wide variety of scientific fields thereafter.

<span class="mw-page-title-main">Natural logarithm</span> Logarithm to the base of the mathematical constant e

The natural logarithm of a number is its logarithm to the base of the mathematical constant e, which is an irrational and transcendental number approximately equal to 2.718281828459. The natural logarithm of x is generally written as ln x, logex, or sometimes, if the base e is implicit, simply log x. Parentheses are sometimes added for clarity, giving ln(x), loge(x), or log(x). This is done particularly when the argument to the logarithm is not a single symbol, so as to prevent ambiguity.

In mathematics, a transcendental number is a real or complex number that is not algebraic – that is, not the root of a non-zero polynomial of finite degree with rational coefficients. The best-known transcendental numbers are π and e.

<span class="mw-page-title-main">Numerical integration</span> Methods of calculating definite integrals

In analysis, numerical integration comprises a broad family of algorithms for calculating the numerical value of a definite integral. The term numerical quadrature is more or less a synonym for "numerical integration", especially as applied to one-dimensional integrals. Some authors refer to numerical integration over more than one dimension as cubature; others take "quadrature" to include higher-dimensional integration.

In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted for the possible factors, that is, the field to which the coefficients of the polynomial and its possible factors are supposed to belong. For example, the polynomial x2 − 2 is a polynomial with integer coefficients, but, as every integer is also a real number, it is also a polynomial with real coefficients. It is irreducible if it is considered as a polynomial with integer coefficients, but it factors as if it is considered as a polynomial with real coefficients. One says that the polynomial x2 − 2 is irreducible over the integers but not over the reals.

Integration is the basic operation in integral calculus. While differentiation has straightforward rules by which the derivative of a complicated function can be found by differentiating its simpler component functions, integration does not, so tables of known integrals are often useful. This page lists some of the most common antiderivatives.

Axiom is a free, general-purpose computer algebra system. It consists of an interpreter environment, a compiler and a library, which defines a strongly typed hierarchy.

In mathematics, an expression is in closed form if it is formed with constants, variables and a finite set of basic functions connected by arithmetic operations and function composition. Commonly, the allowed functions are nth root, exponential function, logarithm, and trigonometric functions. However, the set of basic functions depends on the context.

In mathematics, a nonelementary antiderivative of a given elementary function is an antiderivative that is, itself, not an elementary function. A theorem by Liouville in 1835 provided the first proof that nonelementary antiderivatives exist. This theorem also provides a basis for the Risch algorithm for determining which elementary functions have elementary antiderivatives.

In mathematics, the Bernstein–Sato polynomial is a polynomial related to differential operators, introduced independently by Joseph Bernstein and Mikio Sato and Takuro Shintani, Sato (1990). It is also known as the b-function, the b-polynomial, and the Bernstein polynomial, though it is not related to the Bernstein polynomials used in approximation theory. It has applications to singularity theory, monodromy theory, and quantum field theory.

In calculus, symbolic integration is the problem of finding a formula for the antiderivative, or indefinite integral, of a given function f(x), i.e. to find a formula for a differentiable function F(x) such that

<span class="mw-page-title-main">Transcendental equation</span> Equation whose side(s) describe a transcendental function

In applied mathematics, a transcendental equation is an equation over the real numbers that is not algebraic, that is, if at least one of its sides describes a transcendental function. Examples include:

In mathematics, Liouville's theorem, originally formulated by Joseph Liouville in 1833 to 1841, places an important restriction on antiderivatives that can be expressed as elementary functions.

<span class="mw-page-title-main">SymPy</span> Python library for symbolic computation

SymPy is an open-source Python library for symbolic computation. It provides computer algebra capabilities either as a standalone application, as a library to other applications, or live on the web as SymPy Live or SymPy Gamma. SymPy is simple to install and to inspect because it is written entirely in Python with few dependencies. This ease of access combined with a simple and extensible code base in a well known language make SymPy a computer algebra system with a relatively low barrier to entry.

<span class="mw-page-title-main">Computer algebra</span> Scientific area at the interface between computer science and mathematics

In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects. Although computer algebra could be considered a subfield of scientific computing, they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers, while symbolic computation emphasizes exact computation with expressions containing variables that have no given value and are manipulated as symbols.

In mathematics, the Liouvillian functions comprise a set of functions including the elementary functions and their repeated integrals. Liouvillian functions can be recursively defined as integrals of other Liouvillian functions.

Most of the terms listed in Wikipedia glossaries are already defined and explained within Wikipedia itself. However, glossaries like this one are useful for looking up, comparing and reviewing large numbers of terms together. You can help enhance this page by adding new terms or writing definitions for existing ones.

References