Local truncation error from Taylor/Variable timestep

In summary, the first paper seems to have a different constant step case, and the second paper seems to have a different coefficient for the constant step case.
  • #1
maistral
240
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
  • #2
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 [itex]y_{n+1} = y(t_{n+1})[/itex], [itex]y_n = y(t_n)[/itex] and [itex]f_{n+2} = y'(t_{n+2})[/itex]. The result you are looking for gives the error in terms of [itex]y^{(3)}(t_{n+2})[/itex], so you will then need to use these Taylor expansions: [tex]
\begin{align*}
y(t_{n+1}) &= \sum_{k=0}^\infty \frac{(t_{n+1} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2}) \\
y(t_n) &= \sum_{k=0}^\infty \frac{(t_{n} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2})
\end{align*}[/tex] I will say that starting from the constant-step version (26) I obtained [tex]
y_{n+2} - y(t_{n+2}) = \frac 29 h^3y^{(3)}(t_{n+2}) + O(h^4)[/tex] so either I have gone astray or the paper contains an error.
 
  • Like
Likes hutchphd
  • #3
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 [itex]y_{n+1} = y(t_{n+1})[/itex], [itex]y_n = y(t_n)[/itex] and [itex]f_{n+2} = y'(t_{n+2})[/itex]. The result you are looking for gives the error in terms of [itex]y^{(3)}(t_{n+2})[/itex], so you will then need to use these Taylor expansions: [tex]
\begin{align*}
y(t_{n+1}) &= \sum_{k=0}^\infty \frac{(t_{n+1} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2}) \\
y(t_n) &= \sum_{k=0}^\infty \frac{(t_{n} - t_{n+2})^k}{k!} y^{(k)}(t_{n+2})
\end{align*}[/tex] I will say that starting from the constant-step version (26) I obtained [tex]
y_{n+2} - y(t_{n+2}) = \frac 29 h^3y^{(3)}(t_{n+2}) + O(h^4)[/tex] 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.
 

1. What is local truncation error from Taylor/Variable timestep?

Local truncation error refers to the difference between the exact solution of a differential equation and the approximate solution obtained using a numerical method such as Taylor series or variable timestep. It is a measure of the accuracy of the numerical solution at a specific point in time.

2. How is local truncation error calculated?

Local truncation error is calculated by subtracting the exact solution from the approximate solution at a specific point in time. This difference is then divided by the step size or timestep used in the numerical method. The resulting value is an estimate of the error at that point.

3. What factors affect the local truncation error?

The local truncation error is affected by the order of the numerical method, the step size or timestep used, and the smoothness of the function being approximated. Higher order methods and smaller timesteps generally result in lower truncation error.

4. How does local truncation error impact the overall accuracy of a numerical solution?

Local truncation error can accumulate over time and affect the overall accuracy of a numerical solution. If the error is too large, it can lead to significant deviations from the exact solution. Therefore, it is important to choose a numerical method and timestep that results in a low local truncation error.

5. How can local truncation error be minimized?

To minimize local truncation error, one can use higher order numerical methods, such as Taylor series, and smaller timesteps. It is also important to choose a method that is appropriate for the specific problem being solved. Additionally, error control techniques, such as adaptive timesteps, can be used to adjust the timestep based on the local truncation error at each step.

Similar threads

  • Differential Equations
Replies
2
Views
2K
Replies
2
Views
4K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Programming and Computer Science
Replies
16
Views
4K
  • Calculus and Beyond Homework Help
Replies
5
Views
992
Replies
6
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
5
Views
2K
Replies
14
Views
2K
  • Calculus and Beyond Homework Help
Replies
6
Views
3K
Replies
67
Views
5K
Back
Top