Group Abstract Group Abstract

Message Boards Message Boards

Precision in NDSolve

Posted 11 years ago
Attachments:
POSTED BY: Francois Fayard
5 Replies

From the Mathematica 10 documentation:

    InterpolationOrder   Automatic 
POSTED BY: Frank Kampas

Hi Frank,

In this case, the internal rule is not really wise. As you could ask NDSolve[..., PrecisionGoal -> 30, ... ] without having any guarantee on the precision of the solution outside the computations points which are hidden in the "interpolation" object. I find this behaviour disturbing.

POSTED BY: Francois Fayard

According to the documentation, the default interpolating order is "Automatic". This probably means that Mathematica has some internal rule to chose the order.

POSTED BY: Frank Kampas

Hi,

I finally found the solution. NDSolve only guarantees the precision at the points where the solution is computed (which you don't really now expect if you inspect the interpolation object). A linear interpolation is made in between the points is made if no option is given. Therefore, the precision at some points could be much larger than the expected precision.

In order to have something better than a linear approximation, one should use the option InterpolationOrder->All . The precision seems to be the expected one everywhere on the interval. This is very misleading and it is strange that the option is not the default one.

POSTED BY: Francois Fayard

Try setting an AccuracyGoal as well.

POSTED BY: Frank Kampas
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard