The Modern Taylor Method Solver of ODEs:
Taylor Center


Keywords: ODE Solver, Taylor Solver, Taylor Method, Taylor Series, Numeric Integration, High Accuracy, Ultimate Accuracy, Finite Step, Dynamic Graphics, 3D Stereo, 3D Cursor, Trajectories, Interactive environment, Windows, Linux.

The Modern Taylor Method is a descender of its classical counterpart. It is an efficient method for numerical integration of the Initial Value Problems for Ordinary Differential Equations (ODEs). What distinguishes it from all other numerical methods for ODEs is that only the Taylor Method can compute the increments of the solution with principally unlimited order of approximation so that the integration step does not approach zero whichever high accuracy is specified. That is possible because the method performs the automatic differentiation - exact computing of the derivatives up to any desired order N, allowing to obtain the Taylor series of any length for the solution components.

To download the (32-bit) Demo for Windows click here, then download and unzip the file ("Save", don't "Open" it in your browser). Unzip and keep it in an empty folder, TCenter.exe being the only executable to run. Preserve these files and sub-folders structure (in order that the program work properly). See a short guide navigating you through the DEMO. You can also download the full User Manual (in MS Word doc format), or the articles (in pdf)  published in the Proceedings CSC 2005DMS 2007 , and in CODEE Journal, September 2012.

From the algorithmic point of view, this software parses the right hand sides of the ODEs and auxiliary equations, and compiles them into a sequence of pseudo instructions of Automatic Differentiation. Then the programmatic emulator of those instructions runs them performing the evaluation of the derivatives and integration of the Initial Value Problem.

To make inquires, please contact Alexander Gofen at .

With the current version of the product you can:

In particular, the Demo includes a fascinating example of the so called Choreography for the Three Body motion, an eight-shaped orbit, discovered just recently by Chenciner and Montgomery (2000) . Click here to learn more about the Choreographies of N-body problem. You can "feed" the equations found there into the Taylor Center, integrate them, draw the curves and play the motion in the real-time mode all in the same place. Another recent fascinating example of the four body non-planar trajectories inscribed in a cube discovered by Cris Moore & Michael Nauenberg (also here) is incorporated too.

Taylor Center is available both as a 32-bit and 64-bit application for Windows. The executable module is only 1 Mb (32-bit version) and near 3 Mb (64-bit). As a 32-bit application, the program can use no more than 4 Gb of available memory for variables and their expansions the limit far exceeding any practical needs. (The new 64-bit version does away with this 4 Gb limitation, but meanwhile the compiler unfortunately maps 10 byte float point numbers into the 8 byte type due to the limitation of the currently existing 64-bit Delphi compiler, mimicking the Win64 blunder - using SSE instead of the x87 FPU).

The memory consumption depends on the number of variables VarNum (a function of the number of ODEs and their complexity) and on the specified Order of approximation. If the expansions are not stored, the program takes 2*VarNum*Order*10 bytes of memory. If the expansions in P points are stored, it additionally requires P*VarNum*Order*10 bytes.

Here is a benchmark for the 10 body planar problem comprised of 2*(10+10)+1=41 ODEs and 10*9/2*(2+1)=135 auxiliary equations, which are parsed into 811 AD instructions. For this problem 10000 steps of integration took 32 s (or 3.2 ms per step) on 2.4 GHz Pentium with polynomial expressions spelled out, and it took 29 s (or 2.9 ms per step) with polynomial expressions encoded.

For a benchmark for the 99 body spatial problem comprised of 3*(99+99)+1=595 ODEs and 99*98/2*(3+1)=19404 auxiliary equations, 100 steps took 65 s with polynomial expressions spelled out, and took 42.5 s with polynomial expressions encoded.

Generally for each system of ODEs there exists such a small value of the accuracy requirement, that at this high accuracy the Taylor methods beats any fixed order method due to the unlimited order of approximation in the Taylor method.

The future version will include the following:

    Here is how the front panel of the Taylor Center looks like:

And here are the trajectories of a slightly disturbed (Lagrange) case of the Three Body Problem (Demo/Three bodies/Disturbed/2D). However there is a dramatic difference between viewing a still image like in this page vs. dynamically evolving real time motion displayed in the running Taylor Center. In the Demo you will be fascinated to watch all possible pairs of the three bodies coupling randomly in turn with acceleration or deceleration.

3  Bodies 2D

Here is a Double spiral (Demo/Spirals/Double spiral)   a solution of the system

x' = x²   -  y²+ 2xy - x  -3.5y + 1,            x(0)=0.1    
y' = -x² + y² + 2xy - y +3.5x  - 1,            y(0)=0        

corresponding to one complex ODE  z' = (1 - i)z² + (-1 + 3.5i)z + 1 - i,    z = x + iy. Similarly to the previous example, it is one thing to see this Double Spiral as a static image 

It is quite different thing to watch the real time motion along this spiral observing that every lap of the spiral takes exactly the same time to run (with a huge acceleration in big laps), as it follows from the complex analysis.

And here is an array of 5 Initial Value Problems integrated simultaneously for the same system of ODEs with various initial values:



The unique feature of this software is that 3D viewing and real time animation is implemented also in stereo mode. To view stereo images, you need anaglyphic Red/Blue glasses (Left - Red, Right - Blue). Such glasses may be ordered here: look for a Red/Blue type (not Red/Cyan).

If you have the anaglyphic glasses, click to view 3D stereo images. You may view non-planar curves also in conventional axonometry projection (where their spatial properties are lost). However, in order to improve axonometric view of such curves, this software can draw them as though tubes of a required thickness implementing the proper skew resolution at points of illusory intersections like in this family of curves representing the Möbius surface outline:

You may also construct and display an enhanced field of directions or a phase portrait for selected pairs of variables built not with small vectors, but rather with analytic elements i.e. curvy strokes representing finite pieces of trajectories obtained in multi-step integration at points of a grid or at arbitrary points of your choice. Due to the high order of the Taylor method, these strokes are typically long enough to represent the near continuous family of the solutions or the phase portrait like that below for the system:

x' = -y + 2x2 + xy - y2

y' = x + x2 - 3xy

Here is another beautiful phase portrait made by this software for a system (credit to John H Hubbard and Beverly H West)

x' = 1
y' = y2 - x

The image below depicts the two curves of this phase portrait near the separatrix. The initial values of these curves differ only in the last binary digit of their 64 bit mantissa:

Normally, in order to populate and reach the maximal accuracy in 64 bit mantissa, 19 or 20 significant decimal digits suffice. The routine converting real decimal numbers into this float binary format may take also extra decimal digits, yet the binary result will be rounded to 64 significant binary digits anyway. In this example the two decimal numbers are represented with 22 decimal digits, however the difference between their binary form is exactly one last bit of the mantissa (the goal set in this experiment).

This smallest difference in the initial values however was enough to finally direct the black curve upward yet the red curve downward, demonstrating the ultimate accuracy of integration for this 64-bit mantissa real type. The relative error tolerance in this case was set to 10-25 <
10-19 meaning that at every of 80 finite steps, all 64 binary digits of the result were true, so that the highest accuracy at every step (in a format with 64 bit mantissa) was achieved. 

For pedagogical aspects of the Taylor Center look here: