Total: 1
A Taylor method for solving an ordinary differential equation initial-value problem ˙x=f(t,x), x(t0)=x0, computes the Taylor series (TS) of the solution at the current point, truncated to some order, and then advances to the next point by summing the TS with a suitable step size. A standard ODE method (e.g. Runge-Kutta) treats function f as a black box, but a Taylor solver requires f to be preprocessed into a code-list of elementary operations that it interprets as operations on (truncated) TS. The trade-off for this extra work includes arbitrary order, typically enabling much larger step sizes. For a standard function, such as exp, this means evaluating v(t)=exp(u(t)), where u(t),v(t) are TS. The sub-ODE method applies the ODE dv/du=v, obeyed by v=exp(u), to in-line this operation as ˙v=v˙u. This gives economy of implementation: each function that satisfies a simple ODE goes into the "Taylor library" with a few lines of code--not needing a separate recurrence relation, which is the typical approach. Mathematically, however, the use of sub-ODEs generally transforms the original ODE into a differential-algebraic system, making it nontrivial to ensure a sound system of recurrences for Taylor coefficients. We prove that, regardless of how many sub-ODEs are incorporated into f, this approach guarantees a sound system. We introduce our sub-ODE-based Matlab ODE solver and show that its performance compares favorably with solvers from the Matlab ODE suite.