VFGEN
From Scholarpedia
| This article has not been peer-reviewed or accepted for publication yet; It may be unfinished, contain inaccuracies, or unapproved changes. | ||||||||||||||||||||
Author: Dr. Warren Weckesser,
Dr. Warren Weckesser accepted the invitation on 11 August 2008 (self-imposed deadline: 11 October 2008).
Under construction...
VFGEN is a computer program for generating system definition files for a wide range of computational program and libraries, based on an XML specification of a differential or delay-differential equation. VFGEN generates code for ordinary differential equations and for delay-differential equations. Symbolic differentiation is used to generate Jacobians and higher derivatives. From a single definition of the user's equations, VFGEN can generate code for initial value problem solver libraries, numerical continuation and bifurcation analysis programs, and general purpose computing environments.
VFGEN also provides specialized commands for extending a vector field with its variational equation, converting delay equations to finite dimensional approximations, and for generating C code to compute Taylor polynomial approximations (of any given order) to the solution to a differential equation. It also has a command to generate a complete Taylor method solver written in Javascript along with an HTML interface. With this feature, a complete solver with a GUI interface is created that runs in any web browser that supports Javascript.
A system definition file is a file used by the program or library to define the equations. A system definition file is generally a function written in the same programming language as the library. A researcher interested in using several different tools to study a set of equations must implement a system definition file for each tool. This can be a tedious and error-prone process. A goal of VFGEN is to alleviate this by allowing for the creation of a universal system definition file, and automatically generating system defintion files for a wide variety of tools. VFGEN uses an XML specification for its system definition file. A description of all the XML elements that can be used to define a system is given on the VFGEN web page. Here, we give some illustrative examples.
| Program/Library | Description | VFGEN Command |
|---|---|---|
| ADOL-C | Automatic differentiation library | adolc |
| AUTO | Continuation program | auto |
| CVODE | ODE solver library (part of the SUNDIALS suite) | cvode |
| DDE23 | MATLAB delay equation solver | dde23 |
| DDE-BIFTOOL | MATLAB program for the bifurcation analysis of DDEs | ddebiftool |
| DDE_SOLVER | FORTRAN library for solving DDEs | dde_solver |
| DSTool | Application for dynamical systems analysis | dstool |
| GNU Scientific Library: ODE solvers | C library for solving ODEs | gsl |
| LaTeX | Text processer | latex |
| LSODA (and other ODEPACK functions) | ODEPACK contains a suite of FORTRAN ODE solvers, including LSODE, LSODA, and LSODAR. | lsoda |
| MatCont | MATLAB application for continuation | matcont |
| MATLAB | MATLAB ODE solver functions | matlab |
| Octave | Octave ODE solver functions | octave |
| PDDE-CONT | Continuation of periodic solutions to DDEs | pddecont |
| PyDSTool | Python framework for the analysis of dynamical systems | pydstool |
| PyGSL | Python binding of the GNU Scientific Library | pygsl |
| RADAU5 | FORTRAN ODE solver | radau5 |
| Scilab | Scilab ODE solver functions | scilab |
| SciPy | Scipy ODE solvers | scipy |
| XPPAUT | Application for the analysis of dynamical systems | xpp |
| VFGEN Command | Description |
|---|---|
| evf | Extend a vector field with its variational equations. This creates a new vector field with twice as many equations as the original. |
| taylor | Generates code for computing derivatives of the solution and the Taylor polynomial at a point. |
| javascript | Generates javascript code that implements a Taylor method solver for the vector field, and generates an HTML page with a GUI for setting parameters and initial conditions, and for animating the solution to the equations. |
| delay2ode | Converts a delay equation into a system of ordinary differential equations, the solutions of which are approximate solutions to the delay equation. |
References
- Weckesser W. (2008) VFGEN: A Code Generation Tool. Journal of Numerical Analysis, Industrial and Applied Mathematics, 3(1-2):151-165
External links
See also
AUTO, Delay-differential equations, Initial value problems, LaTeX, MATCONT, MATLAB, Sundials equation solvers, XPPAUT
| Suggested by: | Dr. Skip Thompson, Radford University, Radford, Virginia |
| Invited by: | Dr. Eugene M. Izhikevich, Editor-in-Chief of Scholarpedia, the peer-reviewed open-access encyclopedia |
