Solving Differential Equations with ALLTYPES
- Fritz Schwarz (Institute for Algorithms and Scientific Computing, Sankt Augustin)
Abstract
The software system ALLTYPES provides an environment that is particularly designed for developing computer algebra software in the realm of differential equations, e. g. for solving linear and non-linear ordinary differential equations in closed form. The most important features of ALLTYPES may be described as follows: A set of about fifty parametrized algebraic types is defined. Data objects represented by these types may be manipulated by methods that are attached to more than one hundred polymorphic functions. Reusability of code is achieved by genericity and inheritance. The user may extend the system by defining new types and polymorphic functions. A language comprising seven basic language constructs is defined for implementing mathematical algorithms. The easy manipulation of types is particularly supported by ALLTYPES. To this end a special portion of the language is dedicated to manipulating typed objects, i. e. user-defined or automatic type coercions. Type inquiries are also included in the language. A small amount of parallelism is supported in terms of two language constructs pand and por where the letter p indicates a parallel version of the respective logical function. Currently ALLTYPES is implemented in Reduce, a Macsyma version is to be completed soon. It is the explicit goal that software implemented on top of ALLTYPES should work independent of the underlying computer algebra language.