On "Solving differential equations in R" by K.~Soetaert, J.~Cash, and F.~Mazzia

Andrzej Palczewski

Mathematica Applicanda (2013)

  • Volume: 41, Issue: 1
  • ISSN: 1730-2668

Abstract

top
There is a number of powerful software packages intended to solve numerical problems and differential equations in particular. First of all, we can mention here MATLAB, Maple and Mathematica. Recently to that list we can add R. The advantage of using R as compared to the previously mentioned programs, which are rather expensive, is that R is an open source software. At the same time, the recent development of R make it a very powerful and flexible software for solving differential equations. The book ”Solving differential equations in R by K. Soetaert (NIOO-CEME, Yerseke, Netherlands); J. Cash (Imperial College, London, UK); F. Mazzia (University of Bari, Italy), Springer, World Scientific, Publishers Series in Business, 2012. Approx. 250 p. 70 illus. (Use R!) Softcover. ISBN: 978-3-642-28069-6, describes the present stage of development of R packages intended to solve differential equations. Consecutive chapters  focus on initial value problems for ODE, differential algebraic equations, boundary value problems for ODE, delayed differential equations and partial differential equations. From the point of view of the R software the book presents the following R packages: deSolve,  rootSolve, deTestSet, ReacTran  and bvpSolve. The package deSolve contains most of the integration methods used to solve differential equations. It contains a large number of Runge-Kutta methods, both explicit and implicit, and a large variety of multistep methods (Adams methods). These methods can be applied to solve initial value problems for both non-stiff and stiff ODE systems. Also delayed differential equations can be solved using specially designed functions form the package deSolve.  Algebraic differential equations can be solved using special methods from deSolve and deTestSet packages. The package bvpSolve is for solving boundary value problems. This package implements 3 methods of solution: shooting, MIRK and collocation methods. Solving partial differential equations in R requires an additional work from the user. The idea is to reduce a particular PDE to a system of ODE’s or a system of algebraic equations and then solve such a system using tools available in R. For simple parabolic or hyperbolic equations the method of line can be used and reduce the problem to a system of ODE’s which can be solved by  special functions from the deSolve package. For elliptic equations a finite difference approximations can be applied and the resulting system of algebraic equations can be solved by a function from the package rootSolve. A grid generation for diffusive and adjective transport terms in analyzed PDE’s can be performed automatically by functions from the package ReacTran. Subsequent topics of the book are presented in a similar manner. First comes a chapter with relevant theoretical results about existence of solutions, limits of solvability, discretization methods and  stability problems. The presentation is accompanied by a large number of references where more detailed information is available. Then follows a chapter with R implementation of described methods together with a detailed information about the use of the relevant packages. These implementations are illustrated by a large number of well-known examples. Most of important ODE’s models are treated as illustrations to particular methods or peculiarities of solutions obtained. Logistic equation, Lorenz model, Arenstorf orbits, van der Pol equation, Josephson junctions, pendulum problem, Sturm-Liouville problem and a large number of models from biology and medicine – all that can be found in some place in the book.  To whom the book is intended? First of all to practitioners: researchers and graduate students who need solutions to differential equations. The R software gives them a possibility to obtain solutions without going into details of computer coding. In addition, a large number of R graphic and statistical functions can improve visualization of the solution obtained. There is however  a word of warning to non-expert in numerical analysis. There is a number of traps in numerical solutions of differential equations related to solvability or numerical stability problems. Majority of these traps is addressed in theoretical chapters of the book. But these theoretical chapters are written in a very concise form. A mathematical theorem is sometime reported just in one sentence. Hence, when the reader is a non-expert he should read very carefully a relevant part of theoretical introduction before starting computations to avoid   frustration when the result do not fit to expectations. The book can be also very interesting for experts in differential equations. I strongly recommend the book to all courses in ODE and numerical ODE as a valuable source of interesting examples and illustrations to the course. It can be as well an interesting source of problems for students enabling them to test lectured topics and experiment with new models. Finally even experts in the field can find in the book tasty remarks on the state of the art of some numerical methods for differential equations.

How to cite

top

Andrzej Palczewski. "On "Solving differential equations in R" by K.~Soetaert, J.~Cash, and F.~Mazzia." Mathematica Applicanda 41.1 (2013): null. <http://eudml.org/doc/293113>.

@article{AndrzejPalczewski2013,
abstract = {There is a number of powerful software packages intended to solve numerical problems and differential equations in particular. First of all, we can mention here MATLAB, Maple and Mathematica. Recently to that list we can add R. The advantage of using R as compared to the previously mentioned programs, which are rather expensive, is that R is an open source software. At the same time, the recent development of R make it a very powerful and flexible software for solving differential equations. The book ”Solving differential equations in R by K. Soetaert (NIOO-CEME, Yerseke, Netherlands); J. Cash (Imperial College, London, UK); F. Mazzia (University of Bari, Italy), Springer, World Scientific, Publishers Series in Business, 2012. Approx. 250 p. 70 illus. (Use R!) Softcover. ISBN: 978-3-642-28069-6, describes the present stage of development of R packages intended to solve differential equations. Consecutive chapters  focus on initial value problems for ODE, differential algebraic equations, boundary value problems for ODE, delayed differential equations and partial differential equations. From the point of view of the R software the book presents the following R packages: deSolve,  rootSolve, deTestSet, ReacTran  and bvpSolve. The package deSolve contains most of the integration methods used to solve differential equations. It contains a large number of Runge-Kutta methods, both explicit and implicit, and a large variety of multistep methods (Adams methods). These methods can be applied to solve initial value problems for both non-stiff and stiff ODE systems. Also delayed differential equations can be solved using specially designed functions form the package deSolve.  Algebraic differential equations can be solved using special methods from deSolve and deTestSet packages. The package bvpSolve is for solving boundary value problems. This package implements 3 methods of solution: shooting, MIRK and collocation methods. Solving partial differential equations in R requires an additional work from the user. The idea is to reduce a particular PDE to a system of ODE’s or a system of algebraic equations and then solve such a system using tools available in R. For simple parabolic or hyperbolic equations the method of line can be used and reduce the problem to a system of ODE’s which can be solved by  special functions from the deSolve package. For elliptic equations a finite difference approximations can be applied and the resulting system of algebraic equations can be solved by a function from the package rootSolve. A grid generation for diffusive and adjective transport terms in analyzed PDE’s can be performed automatically by functions from the package ReacTran. Subsequent topics of the book are presented in a similar manner. First comes a chapter with relevant theoretical results about existence of solutions, limits of solvability, discretization methods and  stability problems. The presentation is accompanied by a large number of references where more detailed information is available. Then follows a chapter with R implementation of described methods together with a detailed information about the use of the relevant packages. These implementations are illustrated by a large number of well-known examples. Most of important ODE’s models are treated as illustrations to particular methods or peculiarities of solutions obtained. Logistic equation, Lorenz model, Arenstorf orbits, van der Pol equation, Josephson junctions, pendulum problem, Sturm-Liouville problem and a large number of models from biology and medicine – all that can be found in some place in the book.  To whom the book is intended? First of all to practitioners: researchers and graduate students who need solutions to differential equations. The R software gives them a possibility to obtain solutions without going into details of computer coding. In addition, a large number of R graphic and statistical functions can improve visualization of the solution obtained. There is however  a word of warning to non-expert in numerical analysis. There is a number of traps in numerical solutions of differential equations related to solvability or numerical stability problems. Majority of these traps is addressed in theoretical chapters of the book. But these theoretical chapters are written in a very concise form. A mathematical theorem is sometime reported just in one sentence. Hence, when the reader is a non-expert he should read very carefully a relevant part of theoretical introduction before starting computations to avoid   frustration when the result do not fit to expectations. The book can be also very interesting for experts in differential equations. I strongly recommend the book to all courses in ODE and numerical ODE as a valuable source of interesting examples and illustrations to the course. It can be as well an interesting source of problems for students enabling them to test lectured topics and experiment with new models. Finally even experts in the field can find in the book tasty remarks on the state of the art of some numerical methods for differential equations.},
author = {Andrzej Palczewski},
journal = {Mathematica Applicanda},
keywords = {differential equations},
language = {eng},
number = {1},
pages = {null},
title = {On "Solving differential equations in R" by K.~Soetaert, J.~Cash, and F.~Mazzia},
url = {http://eudml.org/doc/293113},
volume = {41},
year = {2013},
}

TY - JOUR
AU - Andrzej Palczewski
TI - On "Solving differential equations in R" by K.~Soetaert, J.~Cash, and F.~Mazzia
JO - Mathematica Applicanda
PY - 2013
VL - 41
IS - 1
SP - null
AB - There is a number of powerful software packages intended to solve numerical problems and differential equations in particular. First of all, we can mention here MATLAB, Maple and Mathematica. Recently to that list we can add R. The advantage of using R as compared to the previously mentioned programs, which are rather expensive, is that R is an open source software. At the same time, the recent development of R make it a very powerful and flexible software for solving differential equations. The book ”Solving differential equations in R by K. Soetaert (NIOO-CEME, Yerseke, Netherlands); J. Cash (Imperial College, London, UK); F. Mazzia (University of Bari, Italy), Springer, World Scientific, Publishers Series in Business, 2012. Approx. 250 p. 70 illus. (Use R!) Softcover. ISBN: 978-3-642-28069-6, describes the present stage of development of R packages intended to solve differential equations. Consecutive chapters  focus on initial value problems for ODE, differential algebraic equations, boundary value problems for ODE, delayed differential equations and partial differential equations. From the point of view of the R software the book presents the following R packages: deSolve,  rootSolve, deTestSet, ReacTran  and bvpSolve. The package deSolve contains most of the integration methods used to solve differential equations. It contains a large number of Runge-Kutta methods, both explicit and implicit, and a large variety of multistep methods (Adams methods). These methods can be applied to solve initial value problems for both non-stiff and stiff ODE systems. Also delayed differential equations can be solved using specially designed functions form the package deSolve.  Algebraic differential equations can be solved using special methods from deSolve and deTestSet packages. The package bvpSolve is for solving boundary value problems. This package implements 3 methods of solution: shooting, MIRK and collocation methods. Solving partial differential equations in R requires an additional work from the user. The idea is to reduce a particular PDE to a system of ODE’s or a system of algebraic equations and then solve such a system using tools available in R. For simple parabolic or hyperbolic equations the method of line can be used and reduce the problem to a system of ODE’s which can be solved by  special functions from the deSolve package. For elliptic equations a finite difference approximations can be applied and the resulting system of algebraic equations can be solved by a function from the package rootSolve. A grid generation for diffusive and adjective transport terms in analyzed PDE’s can be performed automatically by functions from the package ReacTran. Subsequent topics of the book are presented in a similar manner. First comes a chapter with relevant theoretical results about existence of solutions, limits of solvability, discretization methods and  stability problems. The presentation is accompanied by a large number of references where more detailed information is available. Then follows a chapter with R implementation of described methods together with a detailed information about the use of the relevant packages. These implementations are illustrated by a large number of well-known examples. Most of important ODE’s models are treated as illustrations to particular methods or peculiarities of solutions obtained. Logistic equation, Lorenz model, Arenstorf orbits, van der Pol equation, Josephson junctions, pendulum problem, Sturm-Liouville problem and a large number of models from biology and medicine – all that can be found in some place in the book.  To whom the book is intended? First of all to practitioners: researchers and graduate students who need solutions to differential equations. The R software gives them a possibility to obtain solutions without going into details of computer coding. In addition, a large number of R graphic and statistical functions can improve visualization of the solution obtained. There is however  a word of warning to non-expert in numerical analysis. There is a number of traps in numerical solutions of differential equations related to solvability or numerical stability problems. Majority of these traps is addressed in theoretical chapters of the book. But these theoretical chapters are written in a very concise form. A mathematical theorem is sometime reported just in one sentence. Hence, when the reader is a non-expert he should read very carefully a relevant part of theoretical introduction before starting computations to avoid   frustration when the result do not fit to expectations. The book can be also very interesting for experts in differential equations. I strongly recommend the book to all courses in ODE and numerical ODE as a valuable source of interesting examples and illustrations to the course. It can be as well an interesting source of problems for students enabling them to test lectured topics and experiment with new models. Finally even experts in the field can find in the book tasty remarks on the state of the art of some numerical methods for differential equations.
LA - eng
KW - differential equations
UR - http://eudml.org/doc/293113
ER -

NotesEmbed ?

top

You must be logged in to post comments.

To embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.