What is NDSolve's mode of operation? I use it to solve partial differential equations and never gave it too much thought. Recently, I came across this question. Accordingly, I used Trace[...] and realized that my 4th order, non linear partial differential equation was solved using an LSODA method.

Further digging revealed that LSODA is a method for ORDINARY DIFF EQS which chooses between Adams and BDF methods to solve the problem.

So... how in the first place did NDSolve convert my PDE to an ODE?

Any references would be useful.

  • $\begingroup$ Welcome to Mathematica.SE $\endgroup$
    – Mr.Wizard
    Mar 18, 2012 at 20:20
  • $\begingroup$ I think "mode of operation" is not very standard terminology. I didn't understand what you were talking about before reading the question. I edited the title, please review it. $\endgroup$
    – Szabolcs
    Mar 18, 2012 at 20:20
  • $\begingroup$ @Szabolcs the new title works! $\endgroup$
    – dearN
    Mar 19, 2012 at 18:42
  • $\begingroup$ Just as a quick comment, MATHEMATICA uses the LSODA method by default if the methodof solution option in NDSolve[..] is set to Automatic, and I don't just mean for stiff equations. Please do leave a comment with your thoughts. $\endgroup$
    – dearN
    Mar 22, 2012 at 20:08

1 Answer 1


Update: The answer below is for Mathematica 9 or earlier. Since version 10, Finite Element Methods are included:

The methods NDSolve uses are documented in detail here:

This section says that PDEs are solved using the "method of lines", and explains which kinds of problems this method can deal with. There's also a detailed example of how the method works.

The numerical method of lines is a technique for solving partial differential equations by discretizing in all but one dimension, and then integrating the semi-discrete problem as a system of ODEs or DAEs.


It is necessary that the PDE problem be well posed as an initial value (Cauchy) problem in at least one dimension, since the ODE and DAE integrators used are initial value problem solvers. This rules out purely elliptic equations such as Laplace's equation, but leaves a large class of evolution equations that can be solved quite efficiently.

  • $\begingroup$ I think you should mention that since version 10 there is also the "Finite Element" method, which can solve equations which were not possible to solve with "Methods Of Lines" (as e.g. the mentioned Laplace eq.). Among other things, the finite element method can also be used as an alternative to the methods of lines to discretize the space-like dimensions and create a system of ODEs to solve in time... $\endgroup$ Jun 8, 2015 at 8:24
  • $\begingroup$ @AlbertRetey Thanks for the reminder! $\endgroup$
    – Szabolcs
    Jun 9, 2015 at 8:38
  • $\begingroup$ @Szabolcs, is it possible for us to solve 4th order C1 Problem in Mathematica, If yes, which example can we find?? $\endgroup$
    Sep 17, 2018 at 23:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.