Sunteți pe pagina 1din 15

Cursul 10

Fractali de tip Newton


Vom prezenta n continuare o nou a modalitate de generare a fractalilor, modalitate care si are originea ntr-o problem a formulat a n anul 1879 de Arthur Cayley (1821 1895) privind convergent a metodei lui Newton de aproximare a r ad acinilor polinoamelor n mult imea numerelor complexe. Problema s-a dovedit a foarte dicil a, rezolvarea ei complet a ind dat a 40 de ani mai t arziu de c atre Gaston Julia (1893 1978) si Pierre Fatou (1878 1929). Incepem prin a prezenta metoda lui Newon (numit a si metoda tangentei ). Fie p : C C o funct ie polinomial a (un polinom) de grad n 1. Ne propunem s a i a am r ad acinile prin transformarea ecuat iei p(z ) = 0, ntr-o problem a de punct x, adic a ntr-o ecuat ie de forma f (z ) = z. (2) (1)

In acest scop, consider am o funct ie : C C care nu ia niciodat a valoarea zero, si folosind echivalent a p(z ) = 0 z + (z )p(z ) = z, consider am funct ii f de forma f (z ) = z + (z )p(z ). R ad acinile lui p coincid deci cu punctele xe ale lui f , mai trebuie s a alegem funct ia astfel nc at aceste puncte xe s a e atractori, m acar de tip local. Cerem a sadar ca f (z ) = 0, si obt inem: 1 + (z )p(z ) + (z )p (z ) = 0 1 + (z )p (z ) = 0 (z ) = 1 p ( z ) ,

dac a p (z ) = 0. Ne vom restr ange prin urmare la cazul r ad acinilor simple. Fie acum z C o r ad acin a simpl a a lui p, adic a p(z ) = 0 si p (z ) = 0. Din continuitatea derivatei lui p rezult a c a exist a o vecin atate V0 a lui z pe care p nu se anuleaz a, si unde putem deni f : V0 C prin f (z ) = z
1

p(z ) . p (z )

(3)

Deoarece f (z ) =

p(z )p (z ) = 0, p 2 (z )

rezult a c a f este o contract ie pe o vecin atate V0 V0 a lui z , si aplic and Teorema de punct x a lui Banach, obt inem urm atorul rezultat: ie polinomial a si z Teorema 1 (Metoda lui Newton). Fie p : C C o funct o r ad acin a simpl a a sa. Atunci exist a r > 0 astfel nc at pentru orice z0 S (z , r) sirul denit de relat ia p(zn ) zn+1 = zn , (4) p (zn ) pentru orice n N, este convergent la z . Demonstrat ie. S irul denit de (4) este sirul aproximat iilor succesive ata sat lui f zn+1 = f (zn ), (5) n adic a sirul (f (z0 )) al valorilor n z0 ale iteratelor funct iei f asociat a lui p prin relat ia (3), care, dup a cum am argumentat deja, este o contract ie pe S (z , r) al c arei atractor este chiar r ad acina z a lui p. S a aplic am metoda lui Newton n c ateva cazuri simple. Incepem cu p(z ) = z 1 care are numai r ad acina z = 1. Funct ia f asociat a are forma f (z ) = 1 pentru orice z C, si deci sirul (5) este zn = 1, pentru orice n 1. Rezultatul este corect dar banal. Consider am acum ecuat ia z2 1 = 0 care are dou a soluii, z1 =1 si z2 = 1. Funct ia f dat a de (3) poate pus a sub forma ( ) 1 1 z+ , (6) f (z ) = 2 z si, prin urmare, sirul aproximat iilor succesive este dat de relat ia ( ) 1 1 zn+1 = zn + , (7) 2 zn pentru orice n N. Recunoa stem aici sirul lui Heron pentru calculul lui a, n cazul a = 1, prin urmare, dac a data init ial a z0 = este pe semiaxa real a pozitiv a, atunci tot i termenii zn r am an pe acest a semiax a si, mai mult, sirul = 1. Este u sor de ar atat c a dac a z0 = , cu R converge la punctul x z1 +, atunci (zn ) este real si tinde la z2 = 1. Aceast a comportare simetric a este mai general a: deoarece f (z ) = f (z ), pentru orice z C \ {0}, rezult a c a sirul ( zn ) care pleac a din z 0 = z0 va avea termenii z n = zn , pentru orice n N. Studiul convergent ei sirului (zn ) n
2

funct ie de data sa init ial a poate redus astfel numai la cazul Re z0 0, de exemplu. Mai mult, deoarece ( ) i 1 f (i ) = , 2 rezult a c a dac a data init ial a z0 = i , cu R , este de pe axa pur imaginar a Re z = 0, atunci ntregul sir r am ane pe aceast a ax a si deci este divergent (dac a ar convergent ar trebui s a tind a la unul dintre cele dou a punctele xe, z1 sau z2 ). Deoarece se poate nt ampla ca pentru un n0 N s a avem zn0 = 0 si atunci zn0 +1 s a nu mai e bine denit, pentru un studiu unitar se prefer a extinderea mult imii C la C = C {} si prelungirea funct iei f dat a de (6) la C, ad aug and la denit ie f (0) = si f () = . Prin vecin atate a punctului de la innit se nt elege orice mult ime V pentru care exist a R > 0 astfel nc at |z | R implic a z V . Din Teorema 1 avem urm atorul rezultat part ial: dac a data init ial a z0 este sucient de aproape de unul dintre punctele xe, atunci sirul converge c atre acel punct x. Studiul complet a fost dat de Cayley, care a stabilit urm atoarele: Teorema 2 (Cayley). Fie zn sirul dat de relat ia (7). Dac a Re z0 > 0 atunci zn +1, dac a Re z0 < 0, zn 1 iar dac a Re z0 = 0 sirul r am ane pe axa imaginar a reunit a cu punctul de la innit, av and una din comport arile urm atoare: sau zn = de la un loc ncolo, sau este periodic de la un loc ncolo, sau vagabondeaz a la nesf ar sit pe axa imaginar a f ar a s a aib a vreo limit a. Demonstrat ie. Scriind relat ia (7) sub forma zn+1 = obt inem imediat c a zn+1 1 (zn 1)2 = , zn+1 + 1 (zn + 1)2 de unde, cu substitut ia un = obt inem relat ia de recurent a un+1 = u2 n, pentru orice n N. Termenul general al sirului (un ) este un = u2 0 ,
3
n

2 zn +1 , 2zn

zn 1 , zn + 1

(8)

pentru orice n N, si, invers and substitut ia (8), obt inem 1 + un 1 + u2 0 zn = = n, 1 un 1 u2 0 pentru orice n, de unde urmeaz a c a zn +1 dac a |u0 | < 1 si zn 1 dac a |u0 | > 1. Dar |u0 | < 1 nseamn a |z0 1| < |z0 + 1|, echivalent a cu Re z0 > 0. S a observ am c a pentru funct ia extins a f : C C, punctul de la innit este punt x dar, spre deosebire de z1 si z2 care sunt atractori locali, punctul de la innit este repulsor, deoarece n orice vecin atate a lui exist a date init iale z0 din care plec and, sirul (zn ) p ar ase ste denitiv la un moment dat acea vecin atate. # Urm atoarea clas a C coloreaz a cu ro su bazinul de atract ie al atractorului z1 , format din punctele z0 din care sirul converge la z1 = +1 si coloreaz a cu albastru bazinul lui z2 = 1. Celelate puncte sunt l asate negre. Peste desen sunt trasate n nal, cu alb, axele de coordonate.
public class Newton2 : FractalForm { Complex i = Complex.setReIm(0, 1); Complex zStar1 = 1; Complex zStar2 = -1; Complex f(Complex z) // f(z)=0.5*(z+1/z) { return 0.5 * (z + 1 / z); } public override void makeImage() { setXminXmaxYminYmax(-1.5, 1.5, -1.5, 1.5); Complex z; Color col; int ix, jy, k, nrIter = 300; for (ix = imin; ix <= imax; ix++) { for (jy = jmin; jy <= jmax; jy++) { z = new Complex(getX(ix), getY(jy)); col = Color.Black; for (k = 0; k < nrIter; k++) { if ((z - zStar1).Ro2 < 0.01) {
4
n

col = Color.Red; break; } if ((z - zStar2).Ro2 < 0.01) { col = Color.Blue; break; } z = f(z); } setPixel(ix, jy, col); } if (!resetScreen()) return; } setAxis(); resetScreen(); } }

Figura 1. Class Newton2 Rezultatul este ar atat n Figura 1 si conrm a categoric studiul anterior. Un desen mai diversicat se obt ine c and ilustr am viteza de convergent a a sirului (zn ) n raport cu data sa init ial a. In acest scop, clasa Newton2ETA listat a mai jos coloreaz a punctele z0 pe baza timpului de sc apare, utiliz and a sa numitul Escape Time Algorithm : culoarea lui z0 este stabilit a n funct ie de num arul
5

de iterat ii efectuate p an a la luarea unei decizii privind comportamentul sirului generat de el (adic a p an a c and zn ajunge ntr-o vecin atate prestabilit a a limitei sale, sau p an a este atins un num ar maxim de iterat ii). Benzile colorate din Figura 2 sunt formate din puncte care ajung n acela si timp la o distant a fat a de limitele lor mai mic a dec at 0.01.
public class Newton2ETA : FractalForm { Complex i = Complex.setReIm(0, 1); Complex zStar1 = 1; Complex zStar2 = -1; Complex f(Complex z) // f(z)=0.5*(z+1/z) { return 0.5 * (z + 1 / z); } public override void makeImage() { setXminXmaxYminYmax(-10.5, 10.5, -10.5, 10.5); Complex z; int ix, jy, k, nrIter = 300; for (ix = imin; ix <= imax; ix++) { for (jy = jmin; jy <= jmax; jy++) { z = new Complex(getX(ix), getY(jy)); for (k = 0; k < nrIter; k++) { if ((z - zStar1).Ro2 < 0.01 || (z - zStar2).Ro2 < 0.01) break; z = f(z); } setPixel(ix, jy, getColor(k * 50)); } if (!resetScreen()) return; } setAxis(); resetScreen(); } }

Am ajuns, n sf ar sit, la problema lui Cayley : s a se stabileasc a bazinele celor 3 trei atractori locali ai funct iei f asociate polinomului p(z ) = z 1.
6

Figura 2. Class Newton2ETA Dup a cum este bine stiut, ecuat ia z 3 1 = 0, are ca solut ii r ad acinile de ordin trei ale unit a tii: 2 2 1 3 1 = = cos + i sin = +i , 3 3 2 2 3 4 1 4 + i sin = i , 2 = 2 = cos 3 3 2 2 care sunt r ad acini simple, polinomul av and descompunerea
1

(9)

0 = 0 = cos 0 + i sin 0 = 1,

p(z ) = (z 0 )(z 1 )(z 2 ). Aceste r ad acini sunt punctele xe al funct iei f dat a de (3), pe care o scriem sub forma 2z 3 + 1 , f (z ) = 3z 2 pentru orice z C \ {0}. La fel ca n cazul precedent, extindem funct ia f la C = C {} ad aug and cazurile f (0) = si f () = . S a not am cu B0 , B1 si B2 cele trei bazine de atract ie ale punctelor xe 0 , 1 si 2 , adic a Bi = {z0 C | f n (z0 ) i }, pentru i = 1, 2, 3.
7

S a stabilim mai nt ai o proprietate geometric a: din 3 = 1 rezult a imediat c a f (z ) = f (z ), pentru orice z , si prin urmare, dac a sirul ( zn ) pleac a din z 0 = z0 atunci z 1 = f (z0 ) = f (z0 ) = z1 , de unde urmeaz a c az n = zn , pentru orice n N. Dac a zn 0 atunci z n 0 = 1 , adic a z0 B0 implic a z0 B1 . Analog se pot obt ine toate celelalte implicat ii pentru a stabili c a bazinul B1 este B0 rotit cu 120 n jurul originii, iar B2 este B1 rotit cu acela si unghi.

Figura 3. S irul (zn ) pentru z0 = 0.2 R + Vom ar ata acum c a mult imile B0 , B1 si B2 sunt deschise. Din Teorema 1 stim c a exist a r > 0 astfel nc at z0 S (0 , r) implic a f n (z0 ) 0 . Not am S0 = S (0 , r) si avem, deci, S0 B0 . Denim S1 = f 1 (S0 ) = {z | f (z ) S0 }, si avem imediat c a z0 S1 implic a z 1 S0 si deci f n (z0 ) 0 , adic a S1 B0 . S a observ am c a S1 este mult ime dechis a, ind contraimaginea printr-o funct ie continu a a unei mult imi deschise. Denim n mod recurent Sn+1 = f 1 (Sn ), pentru orice n 0, si obt inem astfel un sir de mult imi deschise incluse n B0 . Avem deci Sn B0 .
n

Pentru a stabili incluziunea invers a, x am arbitrar un z0 n B0 si consider am n sirul zn = f (z0 ). Din zn 0 , rezult a c a exist a n0 N astfel nc at zn
8

S0 = S (0 , r), pentru orice n n0 . Dar zn0 = f (zn0 1 ) S0 nseamn a zn0 1 f 1 (S0 ) = S1 , si, din aproape n aproape, obt inem z0 Sn0 . Am ar atat astfel c a Sn = B0 ,
n

de unde urmeaz a c a mult imea B0 este deschis a, ca reuniune de mult imi deschise. Rat ionamentul precedent este mai general, exact la fel se poate ar ata, pentru orice funct ie continu a f , c a bazinul de atract ie al oric arui atractor local este o mult ime deschis a. S a analiz am acum cazul z0 = x0 R sor de v azut c a sirul (zn ) + . Este u s i c a tinde la 1 pentru orice x R . Vezi Figura 3 n r am ane pe semiaxa R 0 + care este trasat, cu ro su, gracul restrict iei lui f la R+ . Rezult a ca ntreag a semiax a R este inclus a n bazinul B0 si, prin urmare, si + celelalte dou a semiaxele obt inute prin rotat ii de 120 n jurul originii sunt incluse n B1 , respectiv n B2 . De aici deducem c a originea se a a pe frontiera ec aruia dintre cele trei bazine. Pe baza informat iilor str anse p an a acum bazinele de atract ie, colorate n albastru, galben si ro su, ar putea ar ata ca n Figura 4

Figura 4. O ncercare de trasare a bazinelor B0 , B1 si B2 . Dar rezolvarea nu este a sa de simpl a. S a consider am, de exemplu, predecesorii lui zero, adic a acele puncte z0 pentru care exist a n0 1 astfel nc at zn0 = n0 1 1 f (z0 ) = 0. Not am Z0 = {0} si denim Z1 = f (Z0 ), Z2 = f (Z1 ), si a sa
9

mai departe. Mult imea predecesorilor lui zero este, prin urmare, Z= Zn .
n

(10)

S a observ am c a Z1 are trei elemente, si anume solut iile ecuat iei f (z ) = 0, care sunt 1 ( ) 0 = + i sin cos , 3 3 3 2 ) ( 3 1 3 , + i sin 1 = cos 3 3 3 2 ( ) 1 5 5 2 = cos + i sin . 3 3 3 2 Z2 are nou a elemente, solut iile ecuat iilor f (z ) = 0 , f (z ) = 1 si f (z ) = 2 , si a sa mai departe. S tim c a punctul zero se a a n acela si timp pe frontiera ec aruia dintre cele trei bazine, vom ar ata c a ecare predecesor al s au are exact aceea si proprietate! Fie, de exemplu, a3 Z3 un predecesor de ordin 3 al lui zero. Not am a2 = f (a3 ) si a1 = f (a2 ). Din a3 Z3 rezult a a2 Z2 si, n continuare, a1 Z1 , de unde urmeaz a c a (f f f )(a3 ) = f (f (f (a3 ))) = f (f (a2 )) = f (a1 ) = 0 si (f f f ) (a3 ) = f (f (f (a3)))f (f (a3 ))f (a3 )

= f (a1 )f (a2 )f (a3 ) = 0, deoarece derivata f se anuleaz a numai n punctele xe 0 , 1 si 2 , care evident 3 nu sunt predecesori ai lui zero. Urmeaz a c a aplicat ia f = f f f este local inversabil a cu inversa g derivabil a (este un difeomorsm local) si deci p astreaz a 3 frontierele. Bazinele Bi ind invariante prin f , din f 3 (a3 ) = 0 B0 B1 B2 obt inem c a a3 = g (0) g (B0 ) g (B1 ) g (B2 ) = B0 B1 B2 , si deci n orice vecin atate a lui a3 se g asesc puncte si din B0 , si din B1 , si din B2 . Privind Figura 4, nt elegem c a frontierele bazinelor nu sunt a sa simple cum le-am trasat noi, ni ste semidrepte plec and din origine. Punctul 0 , de exemplu, se a a pe semiaxa trasat a de noi ntre B0 si B1 , si n el trebuie s a se nt alneasc a toate cele trei culori. De fapt situat ia este mult mai grav a: n orice punct n care se nt alnesc dou a culori trebuie s a se nt alnesc a si a treia, nt eleg and prin aceasta c a frontierele celor trei bazine coincid. Studiul complet este dat de urm atoarea teorem a:
10

Teorema 3 (Julia). Fie Jf = C \ (B0 B1 B2 ). Mult imea Jf este innit a, nem arginit a, nchis a, nu are puncte izolate si nici puncte interioare. Jf este nchiderea mult imii predecesorilor lui zero si, n acela si timp, este frontiera ec aruia dintre cele trei bazine de atract ie, adic a Jf = B0 = B1 = B2 . Urm atoarea clas a C # coloreaz a cele trei bazine cu albastru, galben si ro su. Mult imea Jf , pe care o vom numi mult imea Julia asociat a funct iei f , ar trebui s a apar a colorat a n negru, dar datorit a discretiz arii planului n pixeli, punctele ei sunt cele aate ntre doi pixeli vecini de culori diferite (l ang a un asemenea punct mai trebuie s a mai e si un al treilea pixel cu a treia culoare). Vezi Figura 5.
public class Newton3 : FractalForm { Complex i = Complex.setReIm(0, 1); Complex eps0 = Complex.setRoTheta(1.0, 0.0 * Math.PI / 3.0); Complex eps1 = Complex.setRoTheta(1.0, 2.0 * Math.PI / 3.0); Complex eps2 = Complex.setRoTheta(1.0, 4.0 * Math.PI / 3.0); Complex f(Complex z) // f(z)=(2*z*z*z+1)/(3*z*z) { return (2 * z * z * z + 1) / (3 * z * z); } public override void makeImage() { setXminXmaxYminYmax(-1.5, 1.5, -1.5, 1.5); Complex z; Color col; int ix, jy, k, nrIter = 300; for (ix = imin; ix <= imax; ix++) { for (jy = jmin; jy <= jmax; jy++) { z = new Complex(getX(ix), getY(jy)); col = Color.Black; for (k = 0; k < nrIter; k++) { if ((z - eps0).Ro2 < 0.01) { col = Color.DarkBlue; break; } if ((z - eps1).Ro2 < 0.01) {
11

col = Color.Yellow; break; } if ((z - eps2).Ro2 < 0.01) { col = Color.Fuchsia; break; } z = f(z); } setPixel(ix, jy, col); } if (!resetScreen()) return; } setPixel(eps0, Color.White); setPixel(eps1, Color.Black); setPixel(eps2, Color.White); resetScreen(); } }

Figura 5. Class Newton3 O reprezentare mai sugestiv a a mult imii Jf este obt inut a n Figura 6, pe baza metodei timpului de sc apare, ETA. In nal, s a remarc am faptul c a metoda lui Newton, care a fost stabilit a pentru r ad acini simple, funct ioneaz a si n cazul r ad acinilor multiple. S a consider am,
12

Figura 6. Mult imea Julia pentru f (z ) = (2z 3 + 1)/3z 2 spre exemplicare, un polinom p cu trei r ad acini distincte a1 , a2 si a3 , av and multiplicit a tile k1 , k2 si, respectiv, k3 , adic a p(z ) = (z a1 )k1 (z a2 )k2 (z a3 )k3 . Atunci p (z ) = k1 (z a1 )k1 1 (z a2 )k2 (z a3 )k3 +k2 (z a1 )k1 (z a2 )k2 1 (z a3 )k3 + k3 (z a1 )k1 (z a2 )k2 (z a3 )k3 1 , deci p ( z ) k1 k2 k3 = + + . p(z ) z a1 z a2 z a3 Obt inem pentru funct ia f dat a de relat ia (3) urm atoarea form a f (z ) = z Deriv am f (z ) = 1 (

(11)

1
k1 z a1

k2 z a2

k3 z a3

. )

1
k1 z a1

( +
k3 z a3

k2 z a2

)2

k1 k2 k3 + + 2 2 (z a1 ) (z a2 ) (z a3 )2

k1 (z a2 )2 (z a3 )2 + k2 (z a1 )2 (z a3 )2 + k3 (z a1 )2 (z a2 )2 =1 ( )2 , k1 (z a2 )(z a3 ) + k2 (z a1 )(z a3 ) + k3 (z a1 )(z a2 )


13

si obt inem: 1 < 1, k1 pentru orice k1 N . Punctul x a1 este un atractor local, dar cu f (a1 ) = 0 pentru k1 > 1. De fapt metoda este valabil a si pentru funct ii p de forma (11) n care exponent ii ki , i = 1, 2, 3, sunt chiar numere complexe, at at timp c at este ndeplinit a condit ia: 1 |f (ai )| = |1 | < 1, ki pentru orice i {1, 2, 3}. 0 f (a1 ) = 1

Figura 7. Class Newtonk Urm atorul program ilustreaz a un astfel de caz.


public class Newtonk : FractalForm { Complex i = Complex.setReIm(0, 1); Complex a1 = new Complex(1.1, 0.6); Complex a2 = new Complex(-0.1, 0.6); Complex a3 = new Complex(0.1, -1.6); Complex a4 = new Complex(-1.1, -0.6); Complex a5 = new Complex(0.3, 1.5); Complex k1 = Complex.setRoTheta(1.2, 0.1); Complex k2 = Complex.setRoTheta(1.3, 0.2); Complex k3 = Complex.setRoTheta(1.0, 0.1); Complex k4 = Complex.setRoTheta(2.1, 0.05); Complex k5 = Complex.setRoTheta(2.3, 0.1);
14

Complex f(Complex z) { Complex w1 = k1 / (z Complex w2 = k2 / (z Complex w3 = k3 / (z Complex w4 = k4 / (z Complex w5 = k5 / (z return z - 1 / (w1 + }

- a1); - a2); - a3); - a4); - a5); w2 + w3 + w4 + w5);

public override void makeImage() { setXminXmaxYminYmax(-3, 3, -3, 3); Complex z; int ix, jy, k, delta, nrIter = 300; for (ix = imin; ix <= imax; ix++) { for (jy = jmin; jy <= jmax; jy++) { z = new Complex(getX(ix), getY(jy)); delta = 0; for (k = 0; k < nrIter; k++){ if ((z - a1).Ro2 < 0.01) { delta = 0; break;} if ((z - a2).Ro2 < 0.01) { delta = 100; break;} if ((z - a3).Ro2 < 0.01) { delta = 200; break;} if ((z - a4).Ro2 < 0.01) { delta = 300; break;} if ((z - a5).Ro2 < 0.01) { delta = 400; break; } z = f(z); } setPixel(ix, jy, getColor(delta)); } if (!resetScreen()) return; } } }
15

S-ar putea să vă placă și