Notes from Parker & Chua (Practical Numerical Algorithms for Chaotic Systems) Chapter 7 – Dimension Strange attractors possess non-integer dimension, while the dimension of a non-chaotic attractor is always an integer. IMPORTANT – an attractor can be reconstructed from a sampled time waveform of just one component of the state. 7.1 Dimension There are several different types of dimension: ο· Euclidian space – the minimum number of coordinates needed to specify a point uniquely. ο· Dynamical system – the number of state variables used to describe the dynamics of the system. ο· Differential topology – the dimension of a manifold is the dimension of the Euclidean space that the manifold resembles locally. ο· Fractal – a dimension that allows non-integer values. There are at least five different types of fractal dimension: o Capacity – most well-known. o Information o Correlation o kth nearest-neighbor o Lyapunov 7.1.1 Definitions Capacity This is the simplest type of dimension… Procedure 1. Cover an attractor π΄ with volume elements (spheres, cubes, etc.) each with diameter π. 2. Let π(π) be the minimum number of volume elements needed to cover π΄. 3. If π΄ is a π·-dimensional manifold – π· necessarily an integer – then the number of volume elements needed to cover π΄ is given by π(π) = ππ −π· for some constant π. 4. The capacity π·πππ , is obtained by solving for π· and taking the limit as π approaches zero: lnπ(π) π→0 ln(1/π) π·πππ β lim a. If the limit does not exist, then π·πππ is undefined. b. Since a d-dimensional manifold locally resembles βπ , π·πππ of a manifold equals the topological dimension, which is an integer. c. For objects that aren’t manifolds, π·πππ can take on non-integer values. 5. *** Example 7.1 – The Unit Interval 1. As volume elements, choose intervals of length π = 1/3π . It then takes π(π) = 3π volume elements to cover the unit interval [0,1] As π → 0, π(π) increases proportionally. In fact ln3k π·πππ β lim =1 π→∞ ln3k meaning the unit interval has dimension 1. Example 7.2 – The Middle-third Cantor Set 1. As volume elements, choose intervals of length π = 1/3π . It then takes π(π) = 3π volume elements to cover the unit interval [0,1] Information Dimension Whereas capacity is a purely metric concept that utilizes no information about the time behavior of the dynamical system, information dimension is defined in terms of relative frequency of visitation of a typical trajectory. It also depends on refining a covering of π(π) volume elements of diameter π. Then, let ππ is the relative frequency with which a typical trajectory enters the ith volume element of the covering, and π(π) π»(π) β ∑ ππ ln ππ π=1 and the information dimension is defined as π»(π) π→0 ln(1/π) π·πΌ β lim Procedure 1. *** Correlation Dimension (π«πͺ ) This is another probabilistic type of dimension. It also depends on refining a covering of π(π) volume elements of diameter π, and is defined by 2 ln ∑π(π) i=1 Pi π·πΆ β lim π→0 ln π where ππ is the relative frequency with which a typical trajectory enters the ith volume element. Interpretation Suppose N points of a trajectory have been collected, either through simulation or from measurements. Define the correlation as 1 {π‘βπ ππ’ππππ ππ πππππ ππ πππππ‘π (π₯π , π₯π ) π π’πβ π‘βππ‘βπ₯π − π₯π β < π} π→∞ π 2 πΆ(π) β lim Then ln πΆ(π) π→0 ln π Proof: let ππ be the number of points lying in the ith element. Then ππ ππ = lim π→∞ N Since the volume element has diameter π, all the ππ points lie within π of each other. If we don’t count the points (π₯π , π₯π ), π = π, and we treat (π₯π , π₯π ) as distinct from (π₯π , π₯π ), we then have ππ2 − ππ points inside the volume element. It follows that π·πΆ β lim π(π) 1 πΆ(π) = lim 2 ∑ (ππ2 − ππ ) π→∞ π π=1 π(π) ππ2 ππ − lim 2 2 π→∞ π π→∞ π = ∑ lim π=1 π(π) ππ π→∞ π = ∑ ππ2 − lim π=1 π(π) = ∑ ππ2 π=1 which gives 2 ln ∑π(π) ln πΆ(π) i=1 Pi π·πΆ β lim = lim π→0 π→0 ln π ln π An objection to the preceding derivation might be raised: because ππ2 − ππ is the number of points in a single volume element, it doesn’t include pairs of points that are within π of each other but that are actually in different volume elements. To dispense with this potential problem assume that there are actually πππ2 pairs of points within π of each other, where π > 1 is a correction factor. This leads to ln ππΆ(π) π→0 ln π π·πΆ = lim ln π πΆ(π) + lim π→0 ln π π→0 ln π πΆ(π) = lim π→0 ln π Thus, the ‘error’ is of no consequence. = lim Example 7.6 – Interval and point 1. Let the set under study be the subset of β that consists of the unit interval [0,1] and the isolated point 2. 2. Assume that a. the probability of finding a point at 2 is 1/2, and of finding a point on the interval [0,1]is also 1/2. b. the density is uniform over the interval. 3. Use intervals of length π = 1/3π as volume elements. 4. Then π(π) = 3π + 1, ππ = 1/(2 β 3π ) for the volume elements covering the interval, and ππ = 1/2 for the single volume element covering the isolated point, and we can make the following substitution: 2 ln ∑π(π) i=1 Pi π·πΆ = lim 1 π→∞ ln ( π ) 3 π 1 1 ln [4 + ∑3i=1 ] 4 β 32π = lim 1 π→∞ ln ( π ) 3 1 1 ln [ (1 + π )] 4 3 = lim π→∞ ln(1/3π ) = lim 1 ln [4] π→∞ ln(1/3π ) =0 IMPORTANT: dimension is an active area of research, and the relationships – even the meanings – of the different dimensions are unclear, especially in experimental settings or when applied to simulations. ο· Part of the problem is that we don’t have an exact definition of a strange attractor. ο· Also, statistical properties of the dimensions are unclear. Given that, how do the different dimensions relate to each other? 1. Dimension doesn’t appear to be useful for describing an attractor. a. We don’t know how much information the different values of dimension actually carry. (there’s an infinite number of possible dimensions, the Reyni dimensions, that are themselves embedded in an entire continuum of dimensions.) b. To distinguish between two attractors on the basis of dimension alone, is it sufficient to know that values of all these different dimensions, of just a few, or is additional information needed? 2. Dimension can in theory be used to distinguish between strange and non-strange attractors. a. Non-strange attractors have integer dimension. b. Almost all chaotic attractors have non-integer dimension. c. HOWEVER…this is useless in practice: i. Dimension-calculating algorithms have low precision, making it impossible to judge whether a dimension is actually an integer. d. BETTER – just look at the attractor, or use a shooting method. 3. The dimension of an attractor gives a lower bound on the number of state variables needed to describe the dynamics on the attractor. a. Physicists say the dimension is a lower bound on the number of degrees of freedom of the attractor. 4. *** 7.1.2 Algorithms The input to a dimension-finding algorithm is a finite sequence {π₯1 , … , π₯π } of points on an attractor. ο· Typically, the points are evenly-spaced time samples of one or more trajectories that have achieved the steady state. ο· The algorithms are not given full information about an attractor; they are given only partial information about a finite number of trajectories on the attractor. Correlation Dimension The correlation dimension may be found directly from its defining equation using a boxcounting scheme to estimate ππ , but this approach is inefficient. The Grassberger-Procaccia (1983) algorithm is faster. ο· The correlation dimension is the slope of a log-log plot of πΆ(π) versus π. ο· For a given π, compute all inter-point distances, πππ = βπ₯π − π₯π β, and counting the number, ππ (π), of πππ < π for π, π = 1, … , π. o Then πΆ(π) = ππ (π)/π 2. ο· The x-axis of the log-log plot is ln π. To obtain a set of points that are evenlyspaced in the x direction, a simple binning algorithm is used. ο· Calculate π(π) for geometrically-spaced values of π: π0 , π02 ,… π0πΎ , π0 , πΎ > 0. o Maintain a K-dimensional array ππ [] of integers. o ππ [π] is the count of the inter-point distances that satisfy π0π−1 < πππ < π0π . Then π π(π0π ) = ∑ ππ [π] , π = 1, … , πΎ π=1 o ππ [] is initialized to all zeros. o There are two ways to fill ππ []: 1. Choose π0 equal to some small integer b. For each of the inter-point distances πππ , set k to the integer of log π πππ and increment ππ [π] by one. a. The value of k is often negative, so a constant offset must be added to ensure that ππ [] is positive. b. The drawback of this approach is that log( ) is an expensive floating-point operation. 2. Take advantage of the floating-point representation used in computers, where πππ = ±ππ π , where e is an integer, the base b is also an integer, usually some power of 2, and the mantissa m is a fraction normalized such that 1/π ≤ π < 1. In the 32-bit IEEE standard, π = 2. a. Choose π0 = 2ππππ , where ππππ is the smallest exponent possible in the floating-point representation. b. Choose πΎ = ππππ₯ − ππππ + 1 where ππππ₯ is the largest possible exponent. c. For each inter-point distance πππ , increment ππ [π − ππππ + 1] by one where e is the exponent of the floating-point representation of πππ . i. This exponent is offset by −ππππ + 1 to ensure that the index is positive. Pseudocode: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 begin find_cor_dim(x[][],N) set K=emaxοemin+1 set offset = 1 - emin set kmin = K set kmax = 1 for k = 1:K set Ne[k] = 0 end for i = 1:N-1 K will be the number of ‘bins’ used to store the πΆ(π) values ο· Set emin = 0 Set offset = 1 kmin and kmax are the exponents for sequential values of each bin’s limits: ππ0 → π0 , π20 ,… π0πΎ , π0 , πΎ > 0. This doesn’t generate an N×N matrix of distance values…it calculates a distance, compares it with for j = i+1:N set r = ||x[i][] ο x[j][]|| set e to the exponent of r set k = e + offset set Ne[k] = Ne[k] + 1 if k < kmax set kmax = k end if k > kmin set kmin = k end end end set sum = 0 for k = kmin: kmax set sum = sum + Ne[k] plot x = k versus y = ln(2*sum/N2)/ln2 end end Remarks: 1. In the IEEE floating-pint standard, the exponent is stored with a constant value, termed a bias, added to it. The bias is chosen such that the exponent is never negative. Thus, ππππ = 0, and offset = 1. When plotting, the slope is all that is sought, and the exponents (i.e., the k’s) therefore do not have to be debiased before plotting. 2. Owing to duplications, not all the inter-point distances are computed. Only the (π 2 − π)/2 values πππ for π = 1, … , π − 1 and π = π + 1, π + 2, … , π are computed. It follows that the entries in ππ [] are half the actual amount. This explains why sum is multiplied by two (Line 24) prior to plotting. 3. There will be some ππππ and ππππ₯ such that ππ [π] = 0 for any π > ππππ₯ and for any π < ππππ . Only values of k ππππ ≤ π ≤ ππππ₯ are plotted. 4. If more points on the plot are desired, raise r to the mth power for some integer π > 0, and use π₯ = π/π when plotting. This increases the number of points plotted by the factor m. A value of π = 2 is reasonable. It doubles the number of points plotted, and the cost is just one multiplication per πππ . o *** ο· ***