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