Computer Algebra and Problem Solving Environments

Stanly Steinberg (

in Comparative CAS Reviews and Philosophy, organized by Michael Wester


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.
  1. 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.
  2. 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.
  3. 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.
  4. There still are important basic algorithms that are missing from CASs, for example, quantifier-elimination algorithms. Fast "approximate" algorithms are critically needed. Good "approximate" algorithms for simplifying polynomial inequalities are desperately needed (these are special QE algorithms).
  5. 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.
  6. 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 inter-program communication.
[1] Future Research Directions in Problem Solving Environments for
    Computational Science, E. Gallopoulos, E. Houstis, J.R. Rice, 1991.