Article View: sci.fractals
Article #433Re: 1-D M-set
From: Jay R. Hill
Date: Mon, 30 Aug 1993 22:46
Date: Mon, 30 Aug 1993 22:46
94 lines
5583 bytes
5583 bytes
In article <1993Aug28.013942.18928@ast.saic.com>,
hilljr@jupiter.saic.com (Jay R. Hill) writes:
> In article <1993Aug27.120648.11566@mnemosyne.cs.du.edu>,
lmitchel@nyx.cs.du.edu (lloyd mitchell) writes:
>> It seems to me that most of the points on the spike are periodic, but the
>> windows are very small and the periods are very high. I say this based on
>> a hunch from looking at the spike; we've all seen periodic windows but I
>> don't know of any chaotic windows.
>
> The trouble is the chaotic windows are dirty, with periodic specs in them.
>
The Mandelbrot Set Chaosometer
Those of you who have followed my posts about the area of the M-Set
and related computations will have noticed the recurant theme: How
to aviod long computations by early identification of three classes
of orbits for the z <- z^2 + c iteration. These are the escapers,
periodics and chaotics. The sci.fractals.FAQ states the Lyapunov
exponent can identify chaos. If the Lyapunov exponent, lambda, is
positive, then the iteration is chaotic. The exponent is defined as
> lambda = limit as N->infinity of 1/N times sum from n=1 to N of
> log2(abs(dx sub n+1 over dx sub n))
Now for the Mandelbrot Set this is
lambda = lim (1/N) sum{ log2 | 2*z[n] | } (1)
since z[n+1] = z[n]*z[n] + c. It is not clever to do lots of logs,
so I have reworked the formula and use
J = product{ 2*abs(z[n]) }, n=1,...,N (2)
Then lambda = (ln J)/(N*ln 2), but you need only compare J to 1.
If J>1 you have chaos. If you are iterating c in the center of a
component, J will be equal to or very close to zero. Evaluating the
logarithm to get lambda gets an error. Using formula (2) saves
evaluating the logs in formula (1) and gets the same results. The
factor of 2 in (2) tends to keep J of reasonable size during the
iteration.
Now, how well does equation (1) or (2) work as a detector of chaos
in Mandelbrot calculations? I have mixed results. Along the real
line (See the Re: 1-D M-set thread) J remains 'undecided' until n is
greater than some value, call it k. In or near a periodic component,
I find k is at least equal to the period. For example, in the
period 4096 component centered at -1.4011551704444 (in the Feigenbaum
sequence approaching -1.401155189092) J-1 remains positive most of
the time, dropping briefly below zero at n=1024 and 2048. Only after
n>4096 does J become very small. But even then it jumps to above 1
a few more times, depending on how close c is to -1.4011551704444.
I have traced the Feigenbaum component sequence to that with period
262144. Now if I were to have used the Chaosometer to cut off
computations for chaotic points early, I'd have missed these small
high period components.
On the otherhand, chaotic points on the real line (with lambda=0.25,
for example) drive J quickly to very large values (>1e200). These
can certainly be abandonded as chaotic saving us the trounble of
following the iterations to some MAXITER since the iteration will
not ever diverge (-2 > c > -1.401155...). For these points the
test is useful.
The next example I tried is c = complex points on the boundary of
the main cardioid. As I posted earlier, these are either periodic
(tangent to a touching bud) or chaotic. I posted a list of chaotic
c, some of which I tested here. The formula does not work as well as
I would like, since 'limit N->inf' is computationally vague. Let's
start with a definitely periodic point: c=(0.25+0.5i). After more
than a million iterations, lambda approaches zero but only mostly
from the minus side, but not completely. It occasionally jumps into
posative for one or two iterations. A chaotic point near 0.25+0.5i
is c=(0.2850441472+0.4607492096i). Again, lambda approached zero,
but now mostly from positive side and even after more than a million
iterations, it still drops to negative (hinting at periodic).
It would appear that lambda for c on the edge of a component will
approach zero in a jerky manner and the test is not very useful.
The test will work well for points on filements, points far away
from component edges.
I recommend it for use in Mandelbrot calculations along with period
detection and other tests and devices. Since the only filement we
know well is the real line, the test should at least be used when
imag(c)==0.
Warmly,
--Jay 'Not tonight honey, I'm calibrating my Chaosometer' Hill
{ hilljr@jupiter.saic.com } begin writeln(3*ln(640320)/sqrt(163):17:15) end.
void main(){double sqrt(), y=1/sqrt(2.), a=.5, m=1,z; int n=0;
for(;m*=2,z=sqrt(1-y*y),y=(1-z)/(1+z),a=a*(1+y)*(1+y)-m*y,n<4;n++);
printf("%17.15lf\n",1/a);}
Technical Details
Message-ID:
<1993Aug30.224624.2221@ast.saic.com>Path:
arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!math.ohio-state.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!ast.saic.com!jupiter!hilljrReferences:
<1993Aug27.120648.11566@mnemosyne.cs.du.edu> <1993Aug28.013942.18928@ast.saic.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: ff06e,9bcbd5b5026a7118 X-Google-Attributes: gidff06e,public X-Google-Thread: 10ed18,4141047fe45fffb X-Google-Attributes: gid10ed18,public X-Google-ArrivalTime: 1993-08-30 16:08:27 PST Newsgroups: sci.fractals,bit.listserv.frac-l Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!math.ohio-state.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!ast.saic.com!jupiter!hilljr From: hilljr@jupiter.saic.com (Jay R. Hill) Subject: Re: 1-D M-set Message-ID: <1993Aug30.224624.2221@ast.saic.com> Followup-To: sci.fractals Lines: 94 Sender: news@ast.saic.com Organization: SAIC References: <1993Aug27.120648.11566@mnemosyne.cs.du.edu> <1993Aug28.013942.18928@ast.saic.com> Date: Mon, 30 Aug 1993 22:46:24 GMT