Fractala lui Newton

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Reprezentarea unui fractal obținut cu metoda lui Newton.

Fractala lui Newton este o limită stabilită în planul complex care se caracterizează prin metoda lui Newton aplicată unui polinom sau funcție transcendentală. Este setul Julia al funcției meromorfe care este dat de metoda lui Newton. Când nu există cicluri de atragere (de ordin mai mare de 1), acesta împarte planul complex în regiuni , fiecare dintre ele fiind asociat cu rădăcina a polinomului, . În acest fel, fractala lui Newton este similară cu setul Mandelbrot și, ca și alte fractale, arată un aspect complex care derivă dintr-o descriere simplă. Este relevantă pentru analiza numerică, deoarece arată că (în afara regiunii de convergență pătratică ) metoda lui Newton poate fi foarte sensibilă la alegerea punctului de plecare. [1] Multe puncte ale planului complex sunt asociate cu una dintre rădăcini a polinomului după cum urmează: punctul este utilizat ca valoare inițială pentru iterația Newton , care produce o succesiune de ochiuri . Dacă secvența converge la rădăcină , asa de era un element al regiunii . Cu toate acestea, pentru fiecare polinom de grad cel puțin 2 există puncte pentru care iterația lui Newton nu converge la nicio rădăcină: exemplele sunt limitele bazinelor de atracție ale diferitelor rădăcini. Există, de asemenea, polinoame pentru care seturile deschise de puncte de pornire nu converg în nici o rădăcină: un exemplu simplu este , unde unele puncte sunt atrase de bucla 0, 1, 0, 1 ... în loc de o rădăcină. [1]

Un set deschis pentru care iterațiile converg la o anumită rădăcină sau ciclu de rădăcini (care nu este un punct fix), reprezintă un set Fatou pentru iterație. Setul complementar la unirea tuturor acestora este setul Julia . De fapt, mulțimile Fatou au o graniță comună, și anume mulțimea Julia. Prin urmare, fiecare punct al mulțimii Julia este un punct de acumulare pentru fiecare dintre mulțimile Fatou. Tocmai această proprietate determină structura fractală a mulțimii Julia (când gradul polinomului este mai mare de 2).

Reprezentare

Pentru a desena imagini interesante, puteți alege mai întâi un număr specificat de puncte ale planului complex și calculați coeficienții a polinomului

.

Deci, pentru o rețea dreptunghiulară , , de puncte în , indicele este identificat a rădăcinii corespunzătoare și este utilizat pentru a umple grila raster × Atribuirea fiecărui punct o culoare . În plus sau alternativ, culorile pot fi atribuite în funcție de distanță , definit ca prima valoare astfel încât pentru unul predestinat mic la gust. [2]

Pentru a implementa „fractala lui Newton” sunt necesare o funcție de pornire și derivata sa:

Rădăcinile funcției sunt:

funcțiile definite mai sus pot fi traduse în pseudocod după cum urmează:

 // z ^ 3-1
Funcția float2 ( float2 z )
{
return cpow ( z , 3 ) - float2 ( 1 , 0 ); // cpow este o funcție exponențială pentru numere complexe
}

// 3 * z ^ 2
Derivat float2 ( float2 z )
{
returnează 3 * cmul ( z , z ); // cmul este o funcție care gestionează înmulțirea numerelor complexe
}

Apoi este vorba de implementarea metodei lui Newton folosind funcțiile definite.

 Pentru fiecare pixel ( x , y ) de pe țintă , efectuați :
{
zx = scalate x coordonata pixel (scalată la minciună în scara Mandelbrot X (-2.5, 1))
zy = scalate coordonate y de pixel (scalată la minciună în scara Mandelbrot Y (-1, 1))

float2 z = float2 ( zx , zy ); // Z este inițial dictat la coordonatele pixelilor

float2 rădăcini [ 3 ] = // Rădăcini (soluții) ale polinomului
{
float2 ( 1 , 0 ), 
float2 (-.5, sqrt (3) / 2), 
float2 (-.5 - sqrt (3) / 2)
};
	
culori de culoare [ 3 ] = // atribuiți o culoare pentru fiecare rădăcină
{
roșu ,
verde ,
albastru
}
    
int iterație = 0 ;

while ( iterație < maxIteration )
{
z - = cdiv ( Funcția ( z ), Derivată ( z )); // cdiv este o funcție care gestionează împărțirea numerelor complexe

toleranță la plutitor = 0,000001 ;
        
for ( int i = 0 ; i < rădăcini . Lungime ; i ++ )
{
float difference = z - rădăcini [ i ];
		    
// Dacă replica curentă este suficient de aproape de o rădăcină, colorați pixelul.
if ( abs ( diferență . x ) < toleranță && abs ( diferență . y ) < toleranță )
{
returnează culorile [ i ]; // Trimiteți culoarea corespunzătoare rădăcinii
}
}
iterație ++ ;
}
    
reveni negru ; // Alocați negru dacă nu aveți o rădăcină
}

Exemple

Generalizare

O generalizare a iterației lui Newton este: unde este este un număr complex. [3] Alegerea specială corespunde fractalului lui Newton. Punctele fixe de pe această hartă sunt stabile când se află în interiorul discului de rază 1 centrat pe 1. Când este în afara acestui disc, punctele fixe sunt instabile la nivel local, totuși harta arată încă o structură fractală în sensul întregului Julia . De sine este un polinom de grad , apoi secvența este un set mărginit cu condiția ca se află într-un disc de rază centrat pe . Mai general, fractala lui Newton este un caz special al fractalei Julia .

Notă

Elemente conexe

Alte proiecte

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă cu matematica