|
How the computer works?The method applied in the two preceding exercises is not obvious. There are many more methods for computing primitives of special classes of functions. Until recently the computation of primitives of elementary functions (an elementary function is traditionally meant to be an element of the set of functions that can be built up recursively by starting from and taking sums, products, quotients, logarithms, exponentials, algebraic functions and compositions of them) came down to skillfully applying a whole ``bag of tricks''. This has been so for centuries and many great mathematicians have been occupied with this problem. A practical approach consists of making integral tables, large collections of functions and their primitives. Only since the fundamental work of Robert Risch we dispose of an algorithm which decides whether the primitive of an elementary function is again an elementary function, and if it is, it will be computed. His algorithm is (partly) implemented in the bigger computer algebra systems (like Maple). It is too complicated to explain here. However, because of the Risch algorithm there is less need of exercises with the bag of tricks. So we shall not dive into integration methods for special classes of functions. Instead some examples of Maple's int procedure will be shown.EXAMPLE 4.1.
Check by differentiating! EXAMPLE 4.2.
EXAMPLE 4.3.
Now let us see how Maple is working when computing such integrals.
int/indef: first-stage indefinite integration
int/indef2: second-stage indefinite integration int/indef2: trying integration by parts int/rischnorm: enter Risch-Norman integrator int/risch: enter Risch integration int/risch/algebraic1: RootOfs should be algebraic numbers and functions int/risch: the field extensions are
int/risch: Introduce the namings:
unknown: integrand is
int/risch/logpoly: integrating
int/risch/int: integrand is
int/risch/ratpart: integrating
int/risch/ratpart: Hermite reduction yields
int/risch/int: integrand is
int/risch/int: integrand is
int/risch/logpoly: result is
int/risch: exit Risch integration
What we have seen? At the first stage of the integration routine Maple tries to simplify the problem by applying the known integration rules for polynomials (rule (e) in section 2.). Next, (as any calculus student would) tries to integrate using simple table lookup processes. Then looks for other specific types of intergrands and uses appropriate methods: integration by part technique, possible substitutions (here called derivative-devides method). This heuristic method used by Maple obtains the correct answer for a suprisingly large percentage of integral problems. (And even very quickly). If the heuristic part fails then the problem is converted into the exp-log notation and a finite decision procedure is invoked. The result of the latter procedure will be either the integral expressed in the exp-log notation or an indication that could not find the elementary integral in which cases returns itself. Does it mean that the elementary integral does not exist? Not by all means. In such cases some very elementary trick could help. EXAMPLE 4.4. -- Don't trust Maple's integrator too much.
Would it mean that the result is not an elementary function? Putting
the partial integration yields
Exercise 4.1. Compute .
|
|