Skip to content

Supplementary code for "Analytic continuation of local (un)stable manifolds with rigorous computer assisted error bounds.

License

Notifications You must be signed in to change notification settings

skepley/analytic_continuation

Repository files navigation

analytic_continuation

DOI

Shane Kepley

Overview

This code repository is supplemental to the paper "Analytic continuation of local (un)stable manifolds with rigorous computer assisted error bounds" by William Kalies, Shane Kepley, and J.D. Mireles James. It provides instructions for reproducing the computational results presented therein.

Dependencies

This code requires the MatLab package IntLab by Sigfried M. Rump for all interval arithmetic calculations. The official webpage for Intlab is here. The present version of this code was tested and runs successfully with Intlab 9.1 and MatLab R2017b. Other versions of IntLab or MatLab are not test and may cause unexpected problems.

Instructions

Reproducing the results

The main script is the file lorenzExample_stable_origin.m which produces the manifold computations found in the manuscript. Running the program with the default parameters (that is making no changes to the code) yields the "slow" stable manifold described on page 40 of the manuscript and illustrated in figure 2. This manifold may be compared with the data recorded in Table 1 which was computed using IntLab 6, Matlab 2014b, and an older implementation of our integrator. We note that due to several improvements in our code, in the IntLab library, and in Matlab itself, the resulting atlas has fewer charts and smaller error than reported in our manuscript. The running time for this manifold is now about 4 hours.

Altering the code

One may also compute a smaller manifold by changing the coefficient of the variable “stopTime” from -1 to another negative value: -1 < tau < 0 on line 32 of the program. For example, setting the integration time to -.5 yields a smaller atlas containing only 633 charts with error ~6.815e-9 in under an hour of computation time. Note that patches which leave the bounding box are thrown away. If the middle of an arc exits the bounding box before the ends of the arc then the cutting produces disconnected results and thus, the final results of the computation need not be connected sets. The user can avoid this by taking a large enough bounding box, but the resulting manifolds are harder to visualize (in our experience). Taking $\tau &lt; -1$ is possible but not tested with these choices of parameters. At some point the code will simply not run properly when $\tau$ is taken too small.

Additional customization

Users may also experiment with changing the truncation order in space or time to illustrate its the impact of truncation on error bounds.. These are specified by $M,N$ in the script. The error bound is quite sensitive to the choice of truncation order as discussed in more detail on page 32 of the manuscript. If the user selects tolerances which our program is unable to meet, then one of the validations will result in negative/complex roots for the radii polynomials. In this case a warning is thrown, and the computation of the offending arc stops. However, the non-offending arcs will continue to integrate until the desired time (or they also fail to validate). Since it is easy to miss this warning, the final plot of the manifold generated by the program reports an error bound of ``inf’’, meaning that at least one chart validation failed. It is then up to the user to decide how adjust the parameters for a successful computation.

Please report bugs to [email protected]

About

Supplementary code for "Analytic continuation of local (un)stable manifolds with rigorous computer assisted error bounds.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages