SciCADE99
 

Abstract

    

Initial Value Problems for ODEs in a Problem Solving Environment

Robert Corless
Rob.Corless@uwo.ca
Dept. Applied Math, Canada

The problem solving environments (PSEs) Maple and Matlab are in very wide use. Although they have much in common, they are clearly distinguished by the emphasis in Maple on algebraic computation and in Matlab on numerical computation. We present here a program, IVPsolve, for solving numerically initial value problems (IVPs) for ordinary differential equations (ODEs) in Maple. We draw upon our experience with a number of closely related solvers to illustrate the differences between solving IVPs in general scientific computation (GSC) and in these PSEs. The RKF45 code of Shampine and Watts is based on the explicit Runge-Kutta formulas F(4,5) of Fehlberg. It has been widely used in GSC. Translations of this code have been the default solvers in both Maple and Matlab. Neither takes much advantage of the PSE. In developing the Matlab ODE Suite of solvers for IVPs, Shampine and Reichelt exploit fully the PSE, as well as algorithmic advances. IVPsolve is the result of a similar investigation for Maple, though on a much smaller scale. It also uses the F(4,5) formulas for non-stiff problems.

In addition to general issues of solving IVPs in PSEs, we discuss specifics for the Maple PSE. The existing Maple library routine dsolve[numeric] uses software floating point. As Maple has evolved, it has added facilities for hardware floating point. IVPsolve exploits these facilities to solve IVPs faster. Using a continuous extension of the F(4,5) pair and a new design, IVPsolve handles output more efficiently and avoids numerical difficulties of the kind pointed out in \cite{coombes}. dsolve[numeric] is a collection of solvers that look different to users and solve different computational problems. In contrast, it is possible to use all the solvers of the Matlab ODE Suite in exactly the same way. IVPsolve achieves this in Maple. Methods for the solution of stiff IVPs require (approximations to) Jacobians. To make it possible to use all the solvers of the ODE Suite in the same way, Shampine and Reichelt approximate Jacobians numerically in the codes for stiff IVPs. This is accomplished in IVPsolve by using the tools of Maple to evaluate partial derivatives analytically. IVPsolve uses a Rosenbrock method for stiff IVPs, an excellent method for the PSE that is not widely used in GSC because it requires analytical partial derivatives.

MINISIMPOSIUM SESSION: 17. Software isues in ODEs

Submitted: 12/Jul/99
[SciCADE99 | Abstracts | Sessions]