CODEGEN: A toolbox for manipulating Maple programs

Michael Monagan
Simon Fraser University/Centre for Experimental and Constructive Mathematics

ABSTRACT. The purpose of our toolbox is to allow the scientist/engineer to build efficient numerical codes for evaluating functions and their derivatives accurately without having to write any numerical code.

The derivatives are computed using automatic differentiation (AD). We will explain the basic ideas behind AD in the talk and why it is good. Traditionlly AD has been applied to numerical codes -- usually Fortran and C codes. Instead we apply AD to Maple formulae and programs so that the user need not write any numerical code explicitly.

The CODEGEN package includes routines for constructing and manipulating (Maple) programs, and routines for translating and compiling those routines into C and Fortran. In the talk we will demonstrate the package on some simple optimization problems.