$title=' Symbolic Computations and the Explanation Problem'; include_once "../../prlheader.php"; ?>
Symbolic computations incur for a number of subtle problems that do not arise in numeric computations. These problems arise in a number of ways, many of which have been enumerated in informal announcements and talks by Kahan [60] and Fateman. One of the paradigmatic sources of error arises when the different levels of abstraction are used in the computation. Resolving this problem is one of the foundations of the Axiom system [57,32] and is addressed by our own Weyl system [128].
A simpler, but just as serious problem is illustrated below. Consider the issues that arise in trying to write a subroutine that produces the value of the parameterized integral
Because the integrand is a simple rational function, and might have
poles in the interval , we find it preferable to compute the
indefinite integral symbolically, and then transform the symbolic form
into a numerical program. When a symbolic computing system like Maple
is asked to compute the indefinite integral it returns something like
The transcendental function is expected since it is the sum of two
logarithms and the denominator has two zeroes. Unfortunately, the
resulting numerical program will fail whenever vanishes.
This problem arises because the integration routines had assumed that
the denominator was square free---a reasonable assumption since
and its derivative with respect to x are relatively prime
as elements of
. However, when b and c are given
numeric values, this assumption is invalid and the result is
erroneous. This is an example of two pieces of software not clearly
communicating their assumptions. The problem is not a simple question
about polynomials in
. Additional assumptions are
involved.