Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: Edwin Woollett <woollett@ch...>  20140409 20:28:02

feature request: stiff o.d.e. solvers for initial value problems in Maxima. Many advanced numerical algorithms that solve differential equations are available as (open source) computer codes, written in programming languages like FORTRAN or C, and available in repositories like GAMS (http://gams.nist.gov) or NETLIB (www.netlib.org). An example of what can be done to make this code available for work in modern interactive numerical environments is the work of Karline Soetaert and L.R. Petzold (and others) for the open source R numerical platform. Present ode solvers in the R package deSolve use adaptive step size control, some solvers control the order of the formula adaptively, or switch between different types of methods, depending on the local properties of the ode's to be solved. The R package deSolve includes methods to solve stiff and nonstiff problems, that deal with full, banded, or arbitrarily sparse Jacobians, etc. The implementation includes stiff and nonstiff integration routines based on the ODEPACK FORTRAN codes (Hindmarsh 1983). It also includes fixed and adaptive timestep explicit RungeKutta solvers, the Euler method, and the implicit RungeKutta method RADAU (Hairer and Wanner 2010). The default integration method, based on the FORTRAN code LSODA is one that switches automatically between stiff and nonstiff systems (Petzold 1983). This is a very robust method, but not necessarily the most efficient solver for one particular problem. See (Soetaert et al. 2010b) for more information about when to use which solver in deSolve. For most cases, the default solver, ode, and the default settings will do. One can optionally trigger specific available methods to override the default used by the deSolve wrapper ode. The explicit RungeKutta methods are de novo implementations in C, based on the Butcher tables (Butcher 1987). They comprise simple RungeKutta formulae (Euler's method euler, Heun's method rk2, the classical 4th order RungeKutta, rk4) and several RungeKutta pairs of order 3(2) to order 8(7). The embedded, explicit methods are according to Fehlberg (1967) (rk..f, ode45), Dormand and Prince (1980, 1981) (rk..dp.), Bogacki and Shampine (1989) (rk23bs, ode23) and Cash and Karp (1990) (rk45ck), where ode23 and ode45 are aliases for the popular methods rk23bs resp. rk45dp7. With the following statement all implemented rk methods are shown: > rkMethod() [1] "euler" "rk2" "rk4" "rk23" "rk23bs" "rk34f" [7] "rk45f" "rk45ck" "rk45e" "rk45dp6" "rk45dp7" "rk78dp" [13] "rk78f" "irk3r" "irk5r" "irk4hh" "irk6kb" "irk4l" [19] "irk6l" "ode23" "ode45" This list also contains implicit RungeKutta's (irk..), but they are not yet optimally coded. The only wellimplemented implicit RungeKutta is the radau method (Hairer and Wanner 2010).  References: Hairer E, Wanner G (2010). "Solving Ordinary Differential Equations II: Stiff and Differential Algebraic Problems. Second Revised Edition. SpringerVerlag, Heidelberg. Hindmarsh, AC (1983). "ODEPACK, a Systematized Collection of ODE Solvers." In R Stepleman (ed.), "Scientifc Computing, Vol. 1 of IMACS Transactions on Scientifc Computation," pp. 5564, IMACS / NorthHolland, Amsterdam. Petzold, LR (1983). "Automatic Selection of Methods for Solving Stiff and Nonstiff Systems of Ordinary Differential Equations." SIAM Journal on Scientifc and Statistical Computing, 4, 136148. Soetaert, Karline; Cash, Jeff; and Mazzia, Francesca: "Solving Differential Equations in R", 2012, SpringerVerlag.  Ted Woollett 