## Symbolic Integration: The Algorithms

The pioneering paper about symbolic integration is:

Joel Moses:
**Symbolic Integration: The Stormy Decade**
Communications of the ACM, Vol 14, No 8 August 1971, pp. 548-650

This paper is an updated resumee of Moses' thesis 'Symbolic Integration',
which is available at these addresses:

This thesis describes a three stage algorithm whose design is still
followed by symbolic integrators of all major computer algebra systems.
A modern text about symbolic integration is:

Manueal Bronstein:
**Symbolic Integration I** Transcendental Functions
1997 Springer Berlin Heidelberg New York

Fatemans paper about algebraic simplification:

http://www.cs.berkeley.edu/~fateman/papers/paperocr.txt
### The Integration Algorithm

The following description of the integration algorithm is taken from
the ACM article (with substancial omissions):

#### First Stage

The first stage is a simple test to determine whether derivatives of a subexpression
of the integrand divide the rest of the integrand. This test determines whether the
integrand is of the form:

∫ c* op(u(x))*u'(x) dx

where

**c** is a constant
**u(x)** is some function of **x**
**u'(x)** is its derivative
**op** is an elementary function, namely one of
- sin
- cos
- tan
- cot
- sec
- csc
- asin
- atan
- asec
- log

In addition, op(u(x)) can have the forms
u(x) | (op being the identity) |

1/u(x) | (op being the reciprocal) |

u(x)^{d} | where d <> -1 |

d^{u(x)} | where d is a constant. |

For integrands of this form, a table lookup and a substitution are sufficient to
answer the integral.

Experience shows that this simple algorithm solves many integrals.
The first stage examples demonstrates
the power of the algorithm.

#### Second Stage

The algorithm enters the second stage when the first stage cannot solve
the integral. The second stage contains eleven methods which might be
applicable to a given problem. A pattern matching routine determines
which methods should be attempted.

second stage examples.

#### Third Stage

***