Re: chaos-to -order transform

*To*: mathgroup at smc.vnet.net*Subject*: [mg27345] Re: chaos-to -order transform*From*: "Seth Chandler" <SChandler at Central.UH.Edu>*Date*: Wed, 21 Feb 2001 03:17:30 -0500 (EST)*Organization*: University of Houston*References*: <96t8ss$pqi@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Perhaps something like this would work. It uses a functional programming construct rather than a procedural one. It runs quite fast on my PC. Using a mouse click to input coordinates is going to require some fancy MathLink or J/Link programming, I believe. Seth J. Chandler Assoc. Professor of Law University of Houston Law Center T[t_] = {{2 Cos[t], Cos[t] - Sin[t]}, {Cos[t] + Sin[t], Cos[t]}}; brambilla[t_, init_, iters_:500] := NestList[Mod[T[t].#, 1] &, init, iters] randomstarts = Table[{Random[], Random[]}, {5}]; Show[GraphicsArray[ Outer[ListPlot[brambilla[#1, #2, 100], Frame -> True, Axes -> False, AspectRatio -> 1, PlotJoined -> True, PlotLabel -> {ToString[#1] <> "\n" <> ToString[#2]}, DisplayFunction -> Identity, TextStyle -> FontSize -> 7, PlotRegion -> {{0, 1}, {0, 1}}] &, {\[Pi]/2 - 0.2, \[Pi]/2 - 0.1, \[Pi]/2 - 0.05, \[Pi]/2 - 0.01}, randomstarts, 1, 1]], DisplayFunction -> Function[Display[$Display, #, ImageSize -> {600, 600/GoldenRatio}]]]; "Roberto Brambilla" <rlbrambilla at cesi.it> wrote in message news:96t8ss$pqi at smc.vnet.net... > Dear math-friends, > some years ago, studying transitions from chaos to order, > I and a my collegue (Casartelli), devised the following example: > (1) consider the positive unit square Q{x,y|0<=(x,y)<1} > (2) consider the following real unitary transform of Q into itself > > T[t_]={{2 Cos[t],Cos[t]-Sin[t]}, > {Cos[t]+Sin[t],Cos[t]}} > > {x1,y1} = T.{x0,y0} (*mod 1*) > > i.e. take only the decimal part. > > Then, given a value of parameter t (0<t<Pi/2) and a starting > arbitrary point (seed) {x0,y0} in Q, build a long list (say some > hundreds)of points > {{x0,y0},{x1,y1},.....{xn,yn}} > where each point is the transformed of the preceding one. > Plotting these lists you obtain very different images depending > on the value of the parameter t and the starting points. > It is useful to put in a single graph many plots corresponding to the > same t value an different starting points (fine with different colors!). > For small value of t, points seem to be scattered in Q in a random > o quasi-random way (chaos). > For t near Pi/2 points arrange in circles (order). > For intermediate t values you will obtain complex figures. > Little changes in t sometimes can produce completely different > figures. > (3) Problem : for which t values significant transitions happen? > > -o0o- > > At that time I used a C-program and for a fixed t and list length, > I could choose the starting point with the mouse, directly clicking > on a unit square picture and I could follow in real time the outspreading > of points into the square. > I had no to memorize the sequences, since points were represented > (memorized) on the screen. All worked very quicly. > > Using Mathematica is possible something analogue? > Actually I use the rfollowing rather unsatisfactory method, > since slow and memory consuming and no movie-effect : > > t=1.14724; (*parameter 0<=t<=Pi/2*) > T={{2 Cos[t],Cos[t]-Sin[t]},{Cos[t]+Sin[t],Cos[t]}}; > > lmax=500; > p={.4,.7}; (*seed,initial point*) > l={p}; > For[k=1,k<=lmax,k++, > p=Mod[T.p,1]; > AppendTo[l,p]; > ] > ListPlot[l,Frame->True,Axes->False,AspectRatio->1] > > Then with Show[] I put figures together etc.. > Is it possible to choose the seed on the figure and > imitate in some way the old C program? > > Bye, Roberto > > > > Roberto Brambilla > CESI > Via Rubattino 54 > 20134 Milano > tel +39.2.2125.5875 > fax +39.2.2125.610 > rlbrambilla at cesi.it > >