Computation of functions and their derivatives in Content

Abstract

Scientific software for investigation of dynamical systems usually allows the user to specify systems in the form of functions in some language. There are several problems related to this: how to compute derivatives of these functions (since numerical algorithms need to compute first and higher order derivatives) and how to convert these functions and their derivatives to a machine suitable form. The key issues are minimal effort required from the user to manipulate functions and high efficiency in calculations that extensively compute functions and their derivatives. This work presents some solutions to these problems which are incorporated in CONTENT, a new program for bifurcation analisys of dynamical systems. Derivatives are built during a three-stage process by means of transforming C source given by the user for right-hand sides into a C++ program which constructs another C program for computing derivatives. A special C++ class with overloaded operators and functions is used to produce this C program during the execution of the C++ program. A description of a dynamical system (i.e., functions and their derivatives) is compiled and linked as a dynamic library during a CONTENT session. This does not require linking with the rest of software. Dynamic libraries for different systems are created, loaded, and functions in them are accessed without necessity to quit CONTENT

    Similar works