next up previous
Next: Wavelet Methods for Up: Mathematical Algorithms and Previous: Computer Arithmetic Demonstration

Computer Algebra Tools for Scientific Computation

Bruce R. Miller, ACMD

We are concerned with developing symbolic tools to support scientific computation at NIST and elsewhere. Our current effort has focused on two areas: 1) expression formatting tools to make large expressions `useful' and 2) packages to support use of special functions. Due to familiarity, our implementation is for the computer algebra system (CAS) Macsyma, but we pay attention to design principals so that the software can be transcribed for other systems, eg. Mathematica, Maple, etc., as needed.

Expression Formatting Computations in computer algebra often generate unwieldy expressions whose `simplification' and optimal arrangement depends on the problem at hand. Rather than factoring the entire expression, it may be advantageous, both for size and clarity, to factor the coefficients of a certain variable, or to apply a trigonometric identity only to certain subexpressions. We have developed a tool, format, which follows a user supplied `plan' to recursively simplify and descend into an expression. It emphasizes the semantics of a symbolic expression over the often accidental syntactic form. Various pattern keywords, such as for polynomials, series and trigonometric sums, are provided as well as keywords for various types of simplification. More can be defined by the user.

Special Functions We are developing a package to represent a non-trivial set of identities, relations and properties of elliptic integrals and elliptic functions, as well as the various associated transformations. To do this in the general context of a computer algebra system is more complicated than it at first appears --- one does not have the luxury of, possibly implicit, constraints as a reference books does; all transformations must be meaningful no matter what value a symbolic argument may represent, complex or otherwise. Thus, beyond the task of synthesizing an appropriate set of identities for the use in a CAS, their generality and consistency must be verified, as well. We are nearing completion of this task.

Hopefully, it will also possible to implement elliptic integration, by casting into standard Legendre forms. However, it is not yet clear whether this can be done without a sufficiently powerful relation capability to determine reality and ordering of arbitrary expressions within a given user context.

Additionally, we find this to be a worthwhile learning experience. It is tempting to dream of an eventual `next generation' AMS55, using the full capabilities of modern graphics, hypertext and both symbolic and numeric computation



next up previous
Next: Wavelet Methods for Up: Mathematical Algorithms and Previous: Computer Arithmetic Demonstration