ODE solvers approximate trajectories of differential equations while controlling local truncation error, global error, and stability.
Initial value problem
Definition. An initial value problem has the form \(\mathrm{d}y/\mathrm{d}t=f(t,y)\), \(y(t_0)=y_0\). A one-step numerical method constructs approximations \(y_n\approx y(t_n)\) on a grid \(t_n\).
Euler methods
Definition. Forward Euler uses \(y_{n+1}=y_n+h f(t_n,y_n)\). Backward Euler uses \(y_{n+1}=y_n+h f(t_{n+1},y_{n+1})\). The first is explicit; the second requires solving an equation but is much more stable for stiff problems.
Local and global error
Proposition. The local truncation error measures the error made in one step starting from the exact solution. The global error accumulates these local errors through the stability behavior of the method.
Runge-Kutta methods
Theorem. Runge-Kutta methods approximate the integral form \(y(t+h)=y(t)+\int_t^{t+h} f(s,y(s))\,\mathrm{d}s\) by several staged slope evaluations. Order conditions determine which Taylor terms are matched.
Adaptive step size
Remark. Embedded Runge-Kutta pairs estimate local error by comparing two orders. Step-size adaptation is essential because trajectory difficulty is usually nonuniform in time.
One-step methods and local truncation error
For \(y'=f(t,y)\), \(y(t_0)=y_0\), a one-step method is \[ y_{n+1}=y_n+h\Phi(t_n,y_n,h). \] Its local truncation error inserts the exact solution: \[ \tau_{n+1} =\frac{y(t_{n+1})-y(t_n)}h -\Phi(t_n,y(t_n),h). \] Order \(p\) means \(\tau_{n+1}=O(h^p)\), equivalently one-step defect \(O(h^{p+1})\).
Euler convergence
Theorem. Suppose \(f\) is Lipschitz in \(y\) with constant \(L\), and the exact solution has bounded second derivative. Explicit Euler, \[ y_{n+1}=y_n+hf(t_n,y_n), \] satisfies on \(0\le t_n-t_0\le T\) \[ \|y(t_n)-y_n\| \le \frac{Mh}{2L}(e^{L(t_n-t_0)}-1) \] when \(\|y''\|\le M\), with the \(L=0\) limit understood.
Proof. Taylor's theorem and subtraction give \[ \|e_{n+1}\| \le(1+hL)\|e_n\|+\frac M2h^2. \] Iterating the recurrence and bounding \((1+hL)^n\le e^{Lnh}\) yields the result.
Runge--Kutta order
An \(s\)-stage Runge--Kutta method has \[ k_i=f\!\left(t_n+c_ih, y_n+h\sum_j a_{ij}k_j\right), \qquad y_{n+1}=y_n+h\sum_i b_ik_i. \] Explicit methods have \(a_{ij}=0\) for \(j\ge i\). Order conditions arise by matching Taylor expansions indexed by rooted trees. Up to order two, \[ \sum_i b_i=1,\qquad \sum_i b_ic_i=\frac12. \] Classical RK4 satisfies all conditions through order four.
Embedded error estimation
Embedded pairs share stages but use weights \(b,\widehat b\) of different orders. Their difference estimates local error: \[ e_{n+1}^{\mathrm est} =h\sum_i(b_i-\widehat b_i)k_i. \] A controller proposes \[ h_{\mathrm new} =\text{safety}\cdot h \left(\frac{\text{tol}}{\|e^{\mathrm est}\|}\right)^{1/(p+1)}. \] Weighted component norms combine absolute and relative scales. Rejected steps must recompute stages at the smaller step.
Dense output and events
Interpolation using stage data provides \(y(t)\) between grid points and locates events \(g(t,y(t))=0\). Event time accuracy depends on both dense-output order and transversality \(\mathrm{d} g(t,y(t))/\mathrm{d}t\ne0\); grazing events are ill conditioned and can be missed without specialized detection.