Standard Maps 3.3.1 J.D. Meiss Program in Applied Mathematics University of Colorado Boulder, CO 80309 jdm@boulder.Colorado.EDU What you need Standard Maps is a Macintosh application, and assumes you are using System 6.0 or later. If you have color, then it will run in full color; however, it will also run on an old Mac with black and white only. Otherwise, as far as I know, this program will run on any Mac. The FAT application has PPC code and 68K+FPU code, and so will run on either a Power Mac, or a 68K mac that has a coprocessor. If you don't have a coprocessor or a powerMac, or don't want the large size of the FAT appplication, there are individual appplications that require the PPC, 68K+FPU or one that runs on any mac (68K with NoFPU on up) at Login using the username anonymous. The latest of the applications will always be there. For help There are two "help" facilities in the program. The first is Balloon help. Turn this on (with the balloon help menu or the help key) if you have System 7 to see what each menu item does. Additionally, if you turn on "Give Helpful Tips" by checking the menu item (it is on by default at launch), I attempt to give you more information about what is happening. What it does Standard Maps displays the dynamics of several "area preserving" mappings. It will also find periodic orbits, cantori, and stable and unstable manifolds of any (symmetric) periodic orbit. A basic reference on all this is (Meiss, 1992). You can also consult a number of textbooks, such as (Lichtenberg and Lieberman, 1982), (Arrowsmith and Place, 1990), and (MacKay and Meiss, 1987). The standard map itself is Since the map is periodic in x with period one, we wrap x into the interval (-.5,.5). Thus the standard map is really a map on the cylinder. However, for many purposes we do need to keep track of x on the real line. Though you probably don't care, in the program "x" is a structure where x.f is the fractional part and x.i is the integer part. To iterate a map, simply click on the initial point. Click again to change initial conditions. To find a periodic orbit, you must choose a "frequency" (p,q), where p and q are integers. This means that the orbit rotates "p" times around in "q" iterations. "Around" for the standard map means that x has increased by one, so a (p,q) orbit satisfies The frequency could also be written p/q. For the Hénon map, we measure "around" by counting how many times the point rotates around the fixed point. This leads to a problem that we haven't quite resolved satisfactorily. See the bugs section. You can find orbits with irrational frequency w by looking at periodic orbits that limit on that frequency, p/q Æ w. Cantori and all that A cantorus is the remnant of an invariant circle. For an integrable, or slightly perturbed integrable mapping (e.g. k small for the standard map), the quasiperiodic orbits with "sufficiently" irrational frequencies cover a circle, forming invariant circles (according to the KAM theorem). When you increase k the invariant circles are destroyed, but there are still quasiperiodic obits-they just cover a Cantor set instead of a circle. To find such a cantorus, set k = 1.0 for the standard map, and select the "Farey Path" menu. What then happens is that you are asked to select a pair of orbits. The default is (0,1) and (1,1). These orbits form the head of a Farey tree. Then you are asked to select a Farey path, the default being "lrlrlrlr...". This path leads to the frequency, w = 1/g2, where g = (1 + ˆ5)/2, the golden mean. This happens to be the "most irrational" frequency for the standard map, that is, its invariant circle lasts the longest, up to k = 0.97163540631. Any Farey path that never terminates, and doesn't eventually become all L's or all R's, corresponds to an irrational, and thus either an invariant circle or cantorus. Farey paths that are eventually "LLLLL..." or "RRRR...." correspond to homoclinic orbits to periodic points. Reversibility Each of the maps in the program is reversible. This means that there is an involution S that inverts the map: STS = T-1, where S is an involution (S2 = I) that reverses orientation. A good example is simply S(x,y) = (-x,y). The implications of this for our purposes are that symmetric periodic orbits can be found by a one-dimensional, instead of a two-dimensional search. In general S will have a fixed set which is a curve (we call it a symmetry line, though it might not be straight). Periodic orbits that have points on the fixed set are called "symmetric". The program only finds symmetric periodic orbits. Actually, associated with any symmetry S = S1, there is a family of symmetries The first member is S2 = TS. This is also reversor for T. Additionally, since maps on the cylinder have a translation symmetry R(x,y) = (x-1,y), there are other symmetries S3 = SR, and S4 = TSR. The fixed lines of these four symmetries allow us to find periodic orbits of different kinds. There are two primary kinds of periodic orbits, stable (elliptic) or minimax orbits and unstable (hyperbolic) minimizing orbits. For more info on this see (Meiss, 1992). These orbits are found by searching for an orbit that starts on different symmetry sets. The program can automatically choose which symmetry line is appropriate for minimizing and minimax orbits, though this doesn't work for any parameter value properly yet (for example we demand that k be positive for the standard map). For the standard map, we set The fixed set of S is Fix(S) = {x = 0}. For the other symmetries we have It turns out that when k > 0 the minimax orbits (they are elliptic for small k) have points on Fix(S), and the minimizing orbits have points on Fix(TS) for q even and Fix(SR) for q odd. Another simplification is that symmetric orbits have points on two of the symmetry lines, and so one can find the orbits by iterating for half the period (q). This is what we do. For more information on symmetry see (Devaney, 1976; Kook and Meiss, 1989; Quispel and Roberts, 1988; Sevryuk, 1986). Hidden Options On Startup: Option Key: Disables the verbose text output Shift Key: Starts up with Hénon map instead of Standard Map Otherwise: -shift-k: Change the map parameter WITHOUT resetting the scale to its default Shift Key: As per the usual Macintosh conventions, this contrains curve drawing (e.g. lines are horizontal, etc) SpaceBar: Single iterate of themap when in Single Step" mode or drawing a manifold.. Known Problems (might be called bugs) 1) Overly sensitive to initial guesses for the Hénon map. Thus we sometimes are unable to find a p.o. even though it is not too unstable. One problem is that the fixed points are solutions of our zero finder. 2) If you search for a p.o. for Hénon that ends on Fix(S), the program fails. This is because we increment x.i upon crossing Fix(S) = {x=y}, giving a discontinuity that the secant method doesn't like. You can always start the orbit on Fix(S) though. 3) The choice of symmetry line for the "minimizing" and "minimax" orbits is not always correct. E.g., the two frequency map when k2 „ k1. 4) Choice of palettes for the off screen pixmap are wrong sometimes. This is true if you are running another application that mucks with the palette. I think I'll change the offscreen routines to GWorlds. Probably I just have to worry about setting the Device properly. Versions 3.0.1 Couldn't choose the two-harmonic map. Now fixed. 3.0.2 Minor cleaning up 3.0.3 Cleaned up SetValues code-new dialogs, made common libraries 3.0.4 Added "Standard NonTwist Map". Moved labels on printed graphs. 3.0.5 Added support for printing and redrawing stable manifolds. 3.0.6 Redid background drawing routines. Fixed Print error on cancel. Renamed Print menus. 3.0.7 Added McMillan Map Reorganized resources for help and balloons Fixed spacing for points on stable manifolds 3.0.8 Added "Choose Initial Condition" command and reorganized logic of "Iterate" 3.0.9 Fixed bug in Paste Bitmap when faster graphics on Added Position display in Plot window Choose Niterates based on 20 tick response time instead of arbitrarily Made TextEdit copy & paste to/from clipboard 3.1 Added Default-outline to Stop Button 3.2b1 Added one more iterate to plot for Stable manifold Changed number of points on stable manifold to a long (for big partitions) Treat PhasePt structure as array (faster than allocating each step) 3.2b2 Allowed Stable Manifold to be clipped Fixed Double Buffer out of memory crash 3.2b5 Modeless (Infinity Windoid) dialog for curve drawing (it violates the guidelines because it doesn't float, but it is the right idea...) Added curve drawing for square, circle and line Moved hasColor to SetColors routine 3.2b6 Added |x| clipping. Fixed curve clipping Added color choice on curveDialog Added arbitrary path for curve iteration 3.2b7 Added 'clut' resource for nice color choice Added iterate curve colors option Turned on textedit autoscroll 3.2b8 Accept suspend/resume events Update Output Text before Setvalues bug fixed 3.2b9 Long period stable manifolds now correct CycleColors menu/curve option 3.2b10 Removed corrupted 'ictb' causing crash in SetValues dialog (probably since 3.0.3!) Toggle Balloon help with help key on extended keyboard 3.2b11 Added StopDialog while printing, to allow cancel 3.2 Use UPP's for PPC code (conditional compile for 68K case) PPC version (Using CodeWarrior) Open SetValues at start to avoid heap fragmentation Fixed text of piecewise linear map to correspond to map! 3.2.1 Proper update of ShowPosition panel when it is closed. TeIdle only when Text window is frontmost. 3.2.2 Added Inverse Image choice for Curve Iteration Made ShowPosition update when in DragCurve Now doing a setPort on "ShowAxes" so no crash if thePort happened to be backbuf! Increment Color in Curve Iteration now always chooses a new color Hold down option on startup to disable "Print Tips" Hold down shift on startup to set Map to Henon 3.2.3 Change axis drawing, so that an axis is centered if the origin is off screen. Moved the ymin label up a bit. Symmetry Choice for minimizing and minimax orbits now works for k<0. Made Position window hide if Plot is not front window Fixed backbuffer color setting after print 3.2.4 Flipped sign y in Hénon to make it look like the "heart of Chaos" (Easton) Improved "standard plot range" for Hénon. Added Suris Map + perturbation Made Std Range know about yClipping option. 3.2.5 Compute pixel value using nearest int instead of floor Suris Map action computed by faster Fourier Series 3.2.6 If window was smaller than 10-5, short values for pixels incorrect. Use "WithinWindow" clipping. Thanks to C. Goedde for noticing this. 3.3 Fixed the Balloon help strings, Removed Testing Code. Added Splash Screen and changed the "about box" Added "cmd-Shift-k" option to disable rescaling of plot when changing parameters. Changed axis labels so they are meaningful if the range is less than 10-3. Fixed Size of Bounding rectangle around copied bitmaps. 3.3.1 Changed "int" to either "short" or "long" as appropriate, so we don't rely on the default Added checking for the TexEdit handle size-it cannot be over 32K. Made a FAT version Latest Version The latest version of this program can always be found in Use anonymous ftp, in the directory /pub/dynamics/programs. There are FPU, PPC and NOFPU versions of this program in that directory. Use the FPU if you have a 68040 or a 68881 FPU, and the PPC version if you have a Power Mac (Wow is it fast-thanks to CodeWarrior and version 2 of Apples MathLib). References Arrowsmith, D. K. and C. M. Place (1990), An Introduction to Dynamical Systems, (Cambridge University Press, Cambridge). Devaney, R. (1976), "Reversible Diffeomorphisms and Flows," Trans. Am. Math. Soc. 218: 89-113. Kook, H. T. and J. D. Meiss (1989), "Periodic Orbits for Reversible, Symplectic Mappings," Physica 35D: 65-86. Lichtenberg, A. J. and M. A. Lieberman (1982), Regular and Stochastic Motion, (Springer-Verlag, New York). MacKay, R. S. and J. D. Meiss (1987), Hamiltonian Dynamical Systems: a reprint selection, (Adam-Hilgar Press,London). Meiss, J. D. (1992), "Symplectic Maps, Variational Principles, and Transport," Rev. Mod. Phys. 64: 795-848. Quispel, G. R. W. and J. A. G. Roberts (1988), "Reversible Mappings of the Plane," Phys. Lett. 132: 161-163. Sevryuk, M. B. (1986), Reversible Systems, Lecture Notes in Mathematics, (Springer-Verlag, New York).