Indrani A. Vasudeva Murthy


[print page (PDF)]


Computer Algebra

This project is a continuation of my work at the BIOMATH Department of Ghent University. I have been working on introducing a few Computer Algebra features into AToM3. With these features, we can manipulate algebraic expressions and equations. The ultimate aim is to be able to handle sets of DAEs, simplify them and sort them if possible. A brief discussion of the issues involved can be found in my report: Some issues concerning Computer Algebra in AToM3 [PDF].

In any Computer Algebra system, every algebraic entity, including expressions and equations, is internally stored in a unique, `canonical' form. We need a canonical representation to work within AToM3 as well. We have come up with such a canonical representation, and it has been implemented in a first version by Bhama Sridharan. The details of our definition, and a description of the implementation, can be found in this report: An algorithm to implement a canonical representation of algebraic expressions in AToM3 [PDF].

You can download and put your own equations into canonical form. Here is the tarred, gzipped AToM3 directory: Atom3_2.2.tgz . This contains a sub-directory `Algebra', which is included as the directory for code generation. Please see the ReadMe file in `Algebra' for a description of its contents. You can load the example equation models in the sub-directory `Algebra/Models'. After loading a model, if you click on the `make_canonical' button, you will see the canonical form of the equation generated as text output.

Note: It may be possible to use graph grammar rules to implement some of the simplifications we have mentioned in the reports. However, in a future version, the graphical modelling of the equations may be done away with altogether. Hence currently the graphical icons are very basic !

Here are some links to some other Computer Algebra related documents, which I found interesting.

  • Rule-based Simplification of Expressions [PDF]: by Juergen Billing and Stefan Wehmeier, in Vol 11, no.1 of the online journal mathPAD. This is the online journal for articles related to the Computer Algebra tool MuPAD.
  • Computer Algebra Systems [PDF]: This is a useful, introductory discussion about Computer Algebra and simplification issues. It is an excerpt from the paper The History of the Calculus and the Development of Computer Algebra Systems [PDF] by Dan Ginsburg, Brian Groose and Josh Taylor.
  • Experiences with Extension Programming and Scripting in Python [PDF]: This describes an attempt to interface Python with optimization software in Operations Research (Network Flows), by Charles Anderson.

Here are some useful links:

    A list of various Computer Algebra systems currently available can be found at the SAL (Scientific Applications on Linux) site: Computer Algebra Systems.

Discretization of PDEs