2
$\begingroup$

When I solve the example below, in the results it is mentioned that Mathematica 10 has used the Hermite method. I cannot find anything about this in the Mathematica documentation. Is there nothing about the Hermite method because it is a default method?!

 s = NDSolve[{y'[x] == y[x] Cos[x + y[x]], y[0] == 1}, y, {x, 0, 30}]

screenshot

$\endgroup$
8
  • $\begingroup$ Have you tried ?NDSolve In the Details and Options section there are two pages discussing options... $\endgroup$
    – chris
    Nov 8, 2014 at 22:03
  • $\begingroup$ @chris I couldn't find Hermite method. I changed the title of question. $\endgroup$
    – MOON
    Nov 8, 2014 at 22:22
  • 2
    $\begingroup$ It's discussed here: reference.wolfram.com/language/tutorial/… $\endgroup$
    – bill s
    Nov 8, 2014 at 22:43
  • 2
    $\begingroup$ A misunderstanding here, I think. The Hermite method is what the InterpolatingFunction is using (see here), not the method used by NDSolve. $\endgroup$ Nov 9, 2014 at 20:22
  • 2
    $\begingroup$ Thanks for the picture, that explains things. What @SimonWoods states is correct: the interpolating function is produced by Hermite method (as opposed to splines). The NDSolve itself is done by its own methods unrelated to the interpolation. $\endgroup$ Nov 9, 2014 at 23:14

1 Answer 1

5
$\begingroup$

To settle this: the "Method" in the output you've seen refers to the method used by InterpolatingFunction[] for interpolating between the points produced by NDSolve[], not the method used by NDSolve[] proper. (What methods are used by NDSolve[] is a whole 'nother matter.)

In this case, since NDSolve[] is perfectly capable of generating function values (from the integration method used) and derivative values (from the initial conditions and the DE itself) as it chugs along, the choice of InterpolatingFunction[] to use Hermite interpolation, which is a (piecewise) interpolating polynomial built from both function and derivative values, is quite appropriate. This is the concept of "dense output": producing a function that approximately solves a differential equation, instead of producing a table of values of the solution.

$\endgroup$

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.