zurück zum Mandelbrötchen

ein paar Experimente zum entarteten Fraktal (ein Intervall von -2 bis 2):  Zn+1= Zn^2-2

Diese Rekursion kann man auch als nichtlineare Differenzengleichung auffassen (meiner Meinung nach)

gesucht ist die Lösung dieser Differenzengleichung, d.h. ein Ausdruck, der für alle n die Lösung liefert,

ohne vorher die Iteration bis n durchlaufen zu müssen.

>    restart:with(combinat, fibonacci):#infolevel[all]:=5;

Die folgende Prozedur fp erzeugt die Näherungsfolge der Juliamenge Z^2+c mit c=-2 :

>    fp := proc () local r, i;
r:=args[1];
for i from 1 to args[2]
do
   r:=r^2-2;
od;
  r;
       
end:

>    fp(Z,1);fp(Z,2);fp(Z,3);# usw.

Z^2-2

(Z^2-2)^2-2

((Z^2-2)^2-2)^2-2

ausmultipliziert:

>    sort(expand(fp(Z,1)),x);sort(expand(fp(Z,2)),x);sort(expand(fp(Z,3)),x);#usw.

Z^2-2

Z^4-4*Z^2+2

Z^8-8*Z^6+20*Z^4-16*Z^2+2

in der Literatur -weiss nicht mehr genau wo- habe ich diesen Ausdruck gefunden:

>    f:=(Z,n)->(1/2*Z+1/2*sqrt(Z^2-4))^(2^n)+(1/2*Z+1/2*sqrt(Z^2-4))^(-2^n);

f := proc (Z, n) options operator, arrow; (1/2*Z+1/2*sqrt(Z^2-4))^(2^n)+(1/2*Z+1/2*sqrt(Z^2-4))^(-2^n) end proc

wie es scheint, liefert dieser Ausdruck für jedes n ein Näherungspolynom der Juliamenge Zn+1=Zn^2-2 :

>    f(Z,1):expand(%):t:=radnormal(%):sort(simplify(%),Z);

Z^2-2

>    f(Z,2):expand(%):t:=radnormal(%):sort(simplify(%),Z);

Z^4-4*Z^2+2

>    f(Z,3):expand(%):t:=radnormal(%):sort(simplify(%),Z);

Z^8-8*Z^6+20*Z^4-16*Z^2+2

nach etwas experimentieren habe ich diesen Ausdruck gefunden, der das gleiche liefert:

>    g:=(Z,n)->2*cos(2^n*arctan(sqrt((4/Z^2)-1)));

g := proc (Z, n) options operator, arrow; 2*cos(2^n*arctan(sqrt(4/Z^2-1))) end proc

>    g(Z,1):expand(%):t:=radnormal(%):sort(simplify(%),Z);

Z^2-2

>    g(Z,2):expand(%):t:=radnormal(%):sort(simplify(%),Z);

Z^4-4*Z^2+2

>    g(Z,3):expand(%):t:=radnormal(%):sort(simplify(%),Z);

Z^8-8*Z^6+20*Z^4-16*Z^2+2

nach langen experimentieren habe ich schliesslich eine Wurzelformel gefunden:

>    h := proc (Z, n) options operator, arrow; product(Z-2*cos(Pi*(2*m+1)/(2^(n+1))),m = 0 .. 2^n-1) end proc;

h := proc (Z, n) options operator, arrow; product(Z-2*cos(Pi*(2*m+1)/(2^(n+1))),m = 0 .. 2^n-1) end proc

>    h(Z,1);convert(%,expln):expand(%):simplify(%):p:=sort(radnormal(%),x);

(Z-2^(1/2))*(Z+2^(1/2))

p := Z^2-2

>    h(Z,2);convert(%,expln):expand(%):simplify(%):p:=sort(radnormal(%),x);

(Z-2*cos(1/8*Pi))*(Z-2*cos(3/8*Pi))*(Z+2*cos(3/8*Pi))*(Z+2*cos(1/8*Pi))

p := Z^4-4*Z^2+2

>    h(Z,3);convert(%,expln):expand(%):simplify(%):p:=sort(radnormal(%),x);

(Z-2*cos(1/16*Pi))*(Z-2*cos(3/16*Pi))*(Z-2*cos(5/16*Pi))*(Z-2*cos(7/16*Pi))*(Z+2*cos(7/16*Pi))*(Z+2*cos(5/16*Pi))*(Z+2*cos(3/16*Pi))*(Z+2*cos(1/16*Pi))

p := Z^8-8*Z^6+20*Z^4-16*Z^2+2

>    solve(p,Z);

-(2-(2+2^(1/2))^(1/2))^(1/2), (2-(2+2^(1/2))^(1/2))^(1/2), -(2+(2+2^(1/2))^(1/2))^(1/2), (2+(2+2^(1/2))^(1/2))^(1/2), -(2-(2-2^(1/2))^(1/2))^(1/2), (2-(2-2^(1/2))^(1/2))^(1/2), -(2+(2-2^(1/2))^(1/2))^(...

Maple scheint Ausdrücke wie:   2*cos(1/16*Pi)  nicht zu einer Wurzel vereinfachen zu können, numerisch:

>    evalf((2+(2+2^(1/2))^(1/2))^(1/2),30);evalf(2*cos(1/16*Pi),30);

1.96157056080646089825236447227

1.96157056080646089825236447227

Die grosse Frage ist nun, ob es solche Ausdrücke

-die man auch als geschlossene Lösungen für nichtlineare Differenzengleichungen beschreiben könnte-

auch für andere Juliamengen gibt ?

Allerdings sind alle anderen Juliamengen der Familie Fraktale : Zn+1=Z^2+c

Die einzigen 2 Ausnahmen scheinen c=0 (trivial) und c=-2 zu sein.
Was ich weiss ist ,das auch für bestimmte logistische Gleichungen geschlossene Lösungen existieren, aber nur für den Fall

das der Grenzwert der logistischen Gleichung für n->unendlich kein Fraktal ist.

weiss jemand was darüber ? , so wäre ich für einen Hinweis dankbar.

zurück zum Mandelbrötchen