# Understanding of method for NDSolve

I used automatic method for NDSolve. Then I asked myself - which method Mathemathica prefered? I got an answer for this question on this forum, that I need to use:

Select[Flatten[
Trace[NDSolve[{g[a[t]]*a''[t] + 0.5*dg[a[t]]*(a'[t])^2 + dV[a[t]] ==
0, a[0] == a0, a'[0] == -u}, a, {t, 0, t0}],
TraceInternal -> True]], ! FreeQ[#, Method | NDSolveMethodData] &]


I got a long answer from Mathematica, from which I show you only two main unique strings:

NDSolveInitializeMethod[NDSolve'LSODA,{Automatic, Automatic} ...
NDSolveLSODA[NDSolveMethodData[4, 22, {{}, False, 12, {NDSolveNewton,{Automatic}}, None, False}]]


I understood, that Mathematica has chosen for method: LSODA and it's submethod: Newton. Whether I'm correct or this methods have another name? And what does LSODA stand for?

• I have formatted the code sections in your questions. I think it would make sense if you learn to do that yourself, the syntax is well documented. The higher the total quality of your answer, the more likely you will get an answer. It is also common and welcome to give answers to one's own question, so if you find an answer yourself there is nothing wrong in answering your own question and even accept that. Apr 20 '14 at 8:28
• As for your remaining question: yes, it looks like NDSolve was choosing LSODA, you can find several places where it is mentioned by searching for LSODA in the documentation. One prominent place to look for some more information and references is (stiffness detection)[reference.wolfram.com/mathematica/tutorial/…. The advanced documentation for NDSolve` (use this string in the documentation center search field: tutorial/NDSolveOverview) is quite detailed and well worth reading... Apr 20 '14 at 8:32
• LSODA is similar to the LSODE (the "Livermore Solver for Ordinary Differential/Algebraic equations" or some such). It is composed of stiff and non-stiff methods which switch when stiffness is sensed. The LSODE itself uses the Adams-Moulton method for non-stiff regions and then switches to a variable step, variable order Backward Difference Formula (Euler's method, I think). You can find more information via google. The report by Hindmarsh is also available for download as a pdf file. Apr 20 '14 at 9:59