Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!decwrl!netcomsv!kmc From: kmc@netcom.COM (Kevin McCarty) Newsgroups: comp.theory.dynamic-sys Subject: Re: Can Chaos Be Predictable? Keywords: chaos, predictability Message-ID: <1991Jun21.064503.8325@netcom.COM> Date: 21 Jun 91 06:45:03 GMT References: <1991Jun20.194552.15875@cunews.carleton.ca> <1991Jun20.203628.14343@alchemy.chem.utoronto.ca> <1991Jun21.003436.28578@cunews.carleton.ca> Distribution: comp.theory.dynamic-sys Organization: Netcom - Online Communication Services UNIX System {408 241-9760 guest} Lines: 77 rdb@scs.carleton.ca (Robert D. Black) writes: >In article <1991Jun20.203628.14343@alchemy.chem.utoronto.ca> mroussel@alchemy.chem.utoronto.ca (Marc Roussel) writes: >> >>If you stuck some initial condition u(0) into your analytic solution and >>found (say) u(10000) in single precision and then in double precision, >>I'll wager that the two answers would be substantially different. >True, but differences in single vs double precision would be true >of most any calculation (square root for example). Chaos enters >into an *iterative* process through the rapid growth of errors in >the initial condition, or from errors resulting from finite >precision arithmetic. Take a closer look at the so-called predictive solution to your formula! Look at its behavior as a function of t. You're taking your initial condition (or a nice, uniformly continuous function of it-- arccos), and you're multiplying it by 2**(t-1), and then you're taking the sine of that. So tell us, what happens to precision when you increment t by 1? You *double* the argument value of the sine. In order to get an answer with one bit of accuracy (e.g., whether the result is closer to 1.0 than 0.0) you need one additional bit of input precision per unit time step. Another way to look at it is that the absolute output error roughly *doubles* with each passing unit of time. In this respect it is no different from f(x) = 2x mod 1. Points initially close together diverge exponentially over time. Compare this with your other example, f(x) = sqrt(x) (on the unit interval [0,1] say). Note that you need hardly any precision at all in the initial condition in order to predict to a pretty good precision the result of iterating f(x) a number of times. In fact, sqrt(x) has an attracting fixed point for almost all initial values. >Because there is a general solution to the difference equation, >we can simply compute U(10000) without computing the first N-1 >values (and suffering accumulated round-off error). The value of >U(10000) is a close approximation to the theoretical value at time >10000. The value of U(10001) is independent and would not be affected >by any error in U(10000). >> ... Small differences in u(0) (or differences in the precision >>of the arithmetic used) will be greatly amplified by the 2**(t-1) term. >Agreed, if your initial condition is not exact, then you quickly >lose accuracy as you go to larger times. However, if we assume The whole point is how fast you lose accuracy. Consider three different dynamical laws described by f(x) = sin**2( 2x ) g(x) = (x + a) mod 1, (0 < a < 1) h(x) = x/2 Analyze the precision to which the n'th iterate is known, as a function of the precision in the initial value of x and the number of iterates. Only f(x) has chaotic behavior. >the initial condition is exact (0.75 say), then we can plug this >exact value into the general formula, and get a close approximation >to the theoretical value at that time (even for large t). If you have an exact value to plug in, then you get better than merely a close approximation to the theoretical output value, you have the *exact* theoretical value, right? However, the promise of classical mechanics that motion is deterministic is an empty promise because it only works for exact initial values. In practical problems using numerical computations, this is never the case. >-- >-- >Robert Black rdb@scs.carleton.ca >School of Computer Science >Carleton University, Ottawa, Canada -- Kevin McCarty kmc@netcom.COM netcom!kmc@apple.com {apple,amdahl,claris}!netcom!kmc