Computer algebra systems as mathematical optimizing compilers

https://doi.org/10.1016/j.scico.2005.06.003Get rights and content
Under an Elsevier user license
open archive

Abstract

The role of computer algebra systems (CASs) is not limited to analyzing and solving mathematical and physical problems. They have also been used as tools in the development process of computer programs, starting from the specification and ending with the coding and testing phases. In this way one can exploit their powerful mathematical capacity during the development phases and, by the other way, take advantage of the speed performance of languages such as FORTRAN or C in the implementation. Among the mathematical features of CASs there are transformations allowing one to optimize the final code instructions. In this paper we show some kind of optimizations that can be done on new or existing algorithms, by extending some techniques that compilers apply currently to optimize the machine code. The results show that the CPU time taken by the optimized code is reduced by a factor that can reach 5. The optimizations are performed with a package built on a well known CAS: Mathematica.

Keywords

Computer algebra systems
Optimizing compilers
Problem-solving environments
Scientific software development
Code synthesis

Cited by (0)