Frattale di Newton
Il frattale di Newton è un insieme di frontiera nel piano complesso che è caratterizzato dal metodo di Newton applicato a un polinomio o funzione trascendentale. È l'insieme di Julia della funzione meromorfa
che è data dal metodo di Newton . Essa, quando non ci sono cicli attrattori (di ordine superiore a 1), divide il piano complesso in regioni , ognuna delle quali è associata alla radice del polinomio, .
In questo modo il frattale di Newton è simile all'insieme di Mandelbrot, e come altri frattali mostra un aspetto complesso che deriva da una semplice descrizione. È rilevante per l'analisi numerica perché mostra che (al di fuori della regione di convergenza quadratica) il metodo di Newton può essere molto sensibile alla scelta del punto di partenza.[1] Molti punti del piano complesso sono associati a una delle radici del polinomio nel modo seguente: il punto è usato come valore iniziale e i punti successivi sono dati dal metodo di Newton:
- ,
che produce una successione di punti . Se la successione converge alla radice , allora era un elemento della regione . Tuttavia, per ogni polinomio di grado almeno 2 ci sono punti per i quali l'iterazione di Newton non converge a nessuna radice: gli esempi sono i confini dei bacini di attrazione delle varie radici. Esistono anche polinomi per cui gli insiemi aperti di punti di partenza non convergono in nessuna radice: un semplice esempio è , dove alcuni punti sono attratti dal ciclo 0, 1, 0, 1 ... anziché da una radice.[1]
Un insieme aperto per il quale le iterazioni convergono verso una data radice o un ciclo di radici (che non è un punto fisso), rappresenta un insieme di Fatou per l'iterazione. L'insieme complementare all'unione di tutti questi è l'insieme di Julia. Gli insieme di Fatou infatti hanno un confine comune, ossia l'insieme di Julia. Pertanto ogni punto dell'insieme di Julia è un punto di accumulazione per ciascuno degli insiemi di Fatou. È proprio questa proprietà che causa la struttura frattale dell'insieme di Julia (quando il grado del polinomio è maggiore di 2).
Rappresentazione
modificaPer tracciare immagini interessanti, si può prima scegliere un numero specificato di punti del piano complesso e calcolare i coefficienti del polinomio
Quindi per un reticolo rettangolare , , di punti in , si individua l'indice della radice corrispondente e si usa per riempire la griglia raster × Assegnando ad ogni punto un colore . In più o in alternativa i colori possono essere assegnati in funzione della distanza , definita come primo valore cosicché per un preassegnato piccolo a piacere.[2]
Per implementare il 'frattale di Newton' è richiesta una funzione di partenza e la sua derivata:
Le radici della funzione sono , e .
le funzioni sopra definite possono essere tradotte in pseudocodice come segue:
//z^3-1
float2 Function (float2 z)
{
return cpow(z, 3) - float2(1, 0); //cpow è una funzione esponenziale per numeri complessi
}
//3*z^2
float2 Derivative (float2 z)
{
return 3 * cmul(z, z); //cmul è una funzione che gestisce la moltiplicazione di numeri complessi
}
Si tratta poi di implementare il metodo di Newton usando le funzioni definite.
Per ogni pixel (x, y) sul target, fai:
{
zx = scaled x coordinate of pixel (scaled to lie in the Mandelbrot X scale (-2.5, 1))
zy = scaled y coordinate of pixel (scaled to lie in the Mandelbrot Y scale (-1, 1))
float2 z = float2(zx, zy); //Z è dettato in origine sulle coordinate del pixel
float2 roots[3] = //Radici (soluzioni) del polinomio
{
float2(1, 0),
float2(-.5, sqrt(3)/2),
float2(-.5, -sqrt(3)/2)
};
color colors[3] = //assegna un colore per ogni radice
{
red,
green,
blue
}
int iteration = 0;
while (iteration < maxIteration)
{
z -= cdiv(Function(z), Derivative(z)); //cdiv è una funzione che gestisce la divisione di numeri complessi
float tolerance = 0.000001;
for (int i = 0; i < roots.Length; i++)
{
float difference = z - roots[i];
//Se la ritorsione corrente è abbastanza vicina a una radice colora il pixel.
if (abs(difference.x) < tolerance && abs(difference.y) < tolerance)
{
return colors[i]; //Invia il colore corrispondente alla radice
}
}
iteration++;
}
return black; //Assegna il nero se non si ha una radice
}
Esempi
modifica-
Frattale di Newton per le tre radici di terzo grado ( ), i colori sono assegnati in funzione del numero di iterazioni richieste
-
Frattale di Newton per le tre radici di terzo grado ( ), i colori sono assegnati in funzione delle radici ottenute
-
Frattale di Newton per . I punti del bacino rosso non raggiungono una soluzione definita.
-
Frattale di Newton per un polinomio di settimo grado, colorato secondo le radici ottenute e sfumato secondo il rateo di convergenza.
-
Frattale di Newton per , colorato secondo le radici ottenute, sfumato a seconda delle iterazioni richieste.
-
Frattale di Newton per
-
Frattale di Newton generalizzato per ,
-
-
-
Generalizzazione
modificaUna generalizzazione dell'iterazione di Newton è: dove è un numero complesso.[3] La scelta speciale corrisponde al frattale di Newton. I punti fissi di questa mappa sono stabili quando giace all'interno del disco di raggio 1 centrato su 1. Quando è all'esterno di questo disco, i punti fissi sono localmente instabili, tuttavia la mappa mostra ancora una struttura frattale nel senso dell'insieme di Julia. Se è un polinomio di grado , allora la sequenza è un insieme limitato a condizione che si trovi all'interno di un disco di raggio centrato su . Più in generale, il frattale di Newton è un caso speciale di frattale di Julia.
Note
modifica- ^ a b Fractal Characteristics of Newton's Method on Polynomials, M.Drexler I.J. Sobey (Oxford University Numerical Analysis Group);C.Bracher(Technical University at Munich) (PDF), su eprints.maths.ox.ac.uk. URL consultato il 31 luglio 2018 (archiviato dall'url originale il 1º agosto 2018).
- ^ http://www.matematica.it/impedovo/articoli/Il%20primo%20frattale%20di%20Cayley.pdf
- ^ Simon Tatham, Frattali derivati da Newton-Raphson, su chiark.greenend.org.uk.
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file sul frattale di Newton