Computer Algebra and Problem Solving Environments
Stanly Steinberg
(stanly@math.unm.edu)
in
Comparative
CAS Reviews and Philosophy, organized by Michael Wester
Abstract:
Problem Solving Environments provide a promising new approach for solving
modeling problems that occur in engineering and science [1]. Such environments
will provide easy access to integrated symbolic and numeric computing and this
will greatly enhance the tools available to modelers. However, this will place
new demands on computer algebra systems.

It is important to have a true paper and pencil system. Such systems will
not assume that the user wishes to compute something, but that the user wishes
to reason about some problem and then, possibly later, either compute something
numerically or symbolically. The attitude of "I know the chain rule and will
use it if I can" must be replaced by a system that can apply the chain rule in
the standard way, or apply it in reverse, and have tools for helping decide
which is appropriate. Clearly, heuristic reasoning systems are critical.

Computer algebra systems should be able to write both numerical and symbolic
programs in their own language. It will then be a relatively simple matter to
translate such programs to other languages. In some sense this can be done in
all CASs, but the available utilities are not helpful. This will be
illustrated by some work the author is doing on a problem solving environment
called SciNapse.

The geometric parts of modeling problems are typically the most difficult
and the most expensive, so the problem solving environment must contain, or
have access to, a geometric modeler. Then, at least for simple problems, it
should be possible to answer simple questions like, is a given region convex?
It should always be possible to compute an integral of some function over the
region being considered and to apply Stokes' theorem to the region.

There still are important basic algorithms that are missing from CASs, for
example, quantifierelimination algorithms. Fast "approximate" algorithms are
critically needed. Good "approximate" algorithms for simplifying polynomial
inequalities are desperately needed (these are special QE algorithms).

The are numerous advanced applied mathematics areas that are poorly
represented in CASs. For example, in the early part of this century,
mathematicians and physicists built an algebraic theory for analysis: the
theory of Hilbert and Banach spaces. The fact that this theory is algebraic
(and geometric) implies that it should be easy to implement in a CAS system,
but then there is the question of convergence.

The online documentation should allow the user to look up any term commonly
used in mathematics textbooks and find all relevant information in the system.
This doesn't mean a list of commands available.
Some things that are done pretty well now are the basic symbolic algorithms,
particularly for multivariate polynomials, integrals, and ordinary differential
equations, notebook interfaces, equation display, graphics, and interprogram
communication.
[1] Future Research Directions in Problem Solving Environments for
Computational Science, E. Gallopoulos, E. Houstis, J.R. Rice, 1991.