The Modern Taylor Method ODEs Solver:
The
Taylor Center

Home

Keywords: ODE, Taylor Method, Taylor Solver, Taylor Series, Numeric Integration, High Accuracy Integration, Ultimate Accuracy, Finite Step, Dynamic Graphic, 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 galex@ski.org .

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.

The
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).

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 41 ODEs, 45+90=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 via the polynomial manager.


Generally for each system of ODEs there exists such a small value of the accuracy tolerance, 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 also construct and display a field of directions for selected pairs of variables, or rather the field of 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 pedagogical aspects of the
Taylor Center look here: