Package deSolve is an add-on package of the open source data analysis system R for the numerical treatment of systems of differential equations.

The package contains functions that solve initial value problems of a system of first-order ordinary differential equations (ODE), of partial differential equations (PDE), of differential algebraic equations (DAE), and of delay differential equations (DDE). The functions provide an interface to the FORTRAN functions lsoda, lsodar, lsode, lsodes of the ODEPACK collection, to the FORTRAN functions dvode, zvode, daspk and radau5, and a C-implementation of solvers of the Runge-Kutta family with fixed or variable time steps. The package contains also routines designed for solving ODEs resulting from 1-D, 2-D and 3-D partial differential equations (PDE) that have been converted to ODEs by numerical differencing.

Material to start with

Overview and papers

Software Download



The manuals are directly contained in the deSolve package::


  • The slides of our pre-conference tutorials at the UseR!-conferences 2011 in Warwick (UK) and 2014 in Los Angeles (USA) contain an overview and practical examples in a relatively compact form.

  • The tutorial material of the UseR!2017 conference is was moved to github and is linked here.

  • Live recordings of the 2017 tutorial can be found at Part I, Part II.

Papers and Books


A big amount of working hours and spare time went into this package. It is provided free of charge under the GPL 2 or GPL 3 license. Please cite our JSS paper and please don’t forget the original authors of the original algorithms, especially ODEPACK. The bibliography can be found here.

Mailing List

All questions related to deSolve and other related questions about dynamic modelling in R can be directed to the R-sig-dynamic-models mailing list. Directing your questions to this list is recommended, as there is now a broad basis of users and developers that can help you, and your questions can contribute to the knowledge base.


The authors of this package want to thank R. Woodrow Setzer who developed and to Martin Maechler, who contributed to the predecessor package odesolve. We are grateful to the R Core Team who made this possible and to the whole community for their tools, documentations, discussions and suggestions. Special thanks go to the original authors of the differential equation algorithms for providing their codes as free software.

2021-04-07 The deSolve authors.