Graduate Local truncation error from Taylor/Variable timestep

  • Thread starter Thread starter maistral
  • Start date Start date
  • Tags Tags
    Error Local
Click For Summary
The discussion centers on the local truncation error (LTE) in numerical ODE solutions using a Taylor expansion approach. A specific formula from the paper "Implementation of an Adaptive BDF2 Formula and Comparison with the MATLAB Ode15s" is examined, with participants expressing confusion about deriving higher-order terms, particularly for variable step sizes. The original poster and others have attempted to replicate results from the paper but encountered discrepancies in coefficients and error terms. There is speculation about the relationship between variable step size formulations and polynomial interpolation methods, such as Lagrange polynomials. Overall, the conversation highlights challenges in understanding and applying LTE in adaptive numerical methods.
maistral
Messages
235
Reaction score
17
I am not sure where I should be posting this; I am perfectly aware this is Taylor expansion calculus, but considering the fact that I am working with numerical ODE solutions, I posted this here.

In the paper: Implementation of an Adaptive BDF2 Formula and Comparison with the MATLAB Ode15s (Celaya, et al); I have found this formula:
1625077293288.png


It's supposed to be a local truncation error formula which compares the numerical solution yn+2 to that of a Taylor expansion y(tn+2). While I can set the values of h to be equal with each other (thus retrieving the constant step version), I have no idea how to derive this term if I want to bring it to higher orders (say, I want a fourth-order solution which would den require the calculation of a fifth derivative term with variable stepsize).

TLDR: Does anyone know how this thing has been made? I have been scouring the internet for a while about this and I seem to have no information as to how this thing appeared (I mean, looking at the four papers I have now, this just magically appeared).

Thanks!
 
Physics news on Phys.org
Link to the full paper: https://www.researchgate.net/publication/275067432_Implementation_of_an_adaptive_BDF2_formula_and_comparison_with_the_MATLAB_Ode15s

I found https://student.cs.uwaterloo.ca/~cs370/notes/LTE.pdf which explain how to calculate LTEs and give the forwards Euler and Crank-Nicholson as examples.

Thus your starting point is the advancing formula (27) in which you set y_{n+1} = y(t_{n+1}), y_n = y(t_n) and f_{n+2} = y&#039;(t_{n+2}). The result you are looking for gives the error in terms of y^{(3)}(t_{n+2}), so you will then need to use these Taylor expansions: <br /> \begin{align*}<br /> y(t_{n+1}) &amp;= \sum_{k=0}^\infty \frac{(t_{n+1} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2}) \\<br /> y(t_n) &amp;= \sum_{k=0}^\infty \frac{(t_{n} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2})<br /> \end{align*} I will say that starting from the constant-step version (26) I obtained <br /> y_{n+2} - y(t_{n+2}) = \frac 29 h^3y^{(3)}(t_{n+2}) + O(h^4) so either I have gone astray or the paper contains an error.
 
pasmith said:
Link to the full paper: https://www.researchgate.net/publication/275067432_Implementation_of_an_adaptive_BDF2_formula_and_comparison_with_the_MATLAB_Ode15s

I found https://student.cs.uwaterloo.ca/~cs370/notes/LTE.pdf which explain how to calculate LTEs and give the forwards Euler and Crank-Nicholson as examples.

Thus your starting point is the advancing formula (27) in which you set y_{n+1} = y(t_{n+1}), y_n = y(t_n) and f_{n+2} = y&#039;(t_{n+2}). The result you are looking for gives the error in terms of y^{(3)}(t_{n+2}), so you will then need to use these Taylor expansions: <br /> \begin{align*}<br /> y(t_{n+1}) &amp;= \sum_{k=0}^\infty \frac{(t_{n+1} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2}) \\<br /> y(t_n) &amp;= \sum_{k=0}^\infty \frac{(t_{n} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2})<br /> \end{align*} I will say that starting from the constant-step version (26) I obtained <br /> y_{n+2} - y(t_{n+2}) = \frac 29 h^3y^{(3)}(t_{n+2}) + O(h^4) so either I have gone astray or the paper contains an error.

Thanks for replying.

Actually I also have the same result as yours. I seem to be unable to replicate the constant step case. I, however, found this paper: Automatic selection of the initial step size for an ODE solver and taking a glance at Equation (3.3);

1625144115660.png


It's weird since it actually replicates the order of the formula of the first paper if I assign the constant step case! The coefficient is not the same however, the original one would result to something like 1/3 and this one would result to 1/6. Strange. At least your attempt also ends up with the same order of h, but all these varying constants confuse me even more o:)

Anyway, I understand that the Taylor approach is quite straightforward. I am more curious however how the varying stepsize formulation is obtained. Could this be actually related to Lagrange polynomials? As far as I understand the only means for one to extract variable-step BDF formulations is via a polynomial interpolation approach.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 6 ·
Replies
6
Views
4K
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
8K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
4
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
Replies
17
Views
9K
  • · Replies 1 ·
Replies
1
Views
5K