Φράκταλ του Νεύτωνα

μικρογραφία|Το φράκταλ του Νεύτωνα προς <math>p(z)=\!\,z^3-1</math> |305x305px
Το **φράκταλ του [[Ισαάκ Νεύτων|Νεύτωνα]]** σε μια μη σταθερή μερομορφική συνάρτηση p που απεικονίζει τους μιγαδικούς αριθμούς στον εαυτό της είναι ένα υποσύνολο του συνόλου των μιγαδικών αριθμών. Για την ακρίβεια, είναι το σύνολο Julia \mathcal J_f στη συνάρτηση
:
f\colon z\mapsto f(z) = z-\frac{p(z)}{p'(z)},


η οποία περιγράφει την μέθοδο Νεύτωνα για την εύρεση των μηδενικών της συνάρτησης p. Η ίδια η μέθοδος Νεύτωνα κατασκευάζει μια ακολουθία από μια αρχική τιμή z_0 με τον κανόνα αναδρομής z_{k+1} = f(z_k).
Ανάλογα με την αρχική τιμή z = z_0, η τροχιά του z μπορεί να είναι
:
z,\; f(z),\; f^2(z),\; f^3(z),\, \ldots


παρουσιάζουν αρκετά διαφορετική συμπεριφορά.

Σημείωση: Εδώ ο εκθέτης αναφέρεται στην f ως συνάρτηση και όχι στην τιμή της συνάρτησης. f^{\,n} σημαίνει έτσι την n-πλάσια επαναληπτική εφαρμογή της f στο z (ή την n n-οστή επαναληπτική της f), τυπικά λοιπόν f^{\,0}(z) = z , \, f^{\,n+1}(z) = f(f^{\,n}(z)).

Για τη δυναμική σε ένα περιβάλλον z υπάρχουν ακριβώς δύο δυνατότητες:
# υπάρχει μια γειτονιά του z τέτοια ώστε η ακολουθία των αποστάσεων 
\|z-w\|,\; \|f(z)-f(w)\|,\;\|f^2(z)-f^2(w)\|,\, \ldots
 είναι περιορισμένη, ή
# για οποιαδήποτε (έστω και μικρή) γειτονιά U του z, οι εικόνες επικαλύπτονται 
U,\; f(U),\; f^2(U),\; f^3(U),\, \ldots
 ολόκληρο το μιγαδικό επίπεδο συμπεριλαμβανομένου του σημείου άπειρο (δηλαδή ολόκληρη η σφαίρα αριθμών Ρίμαν).

Τα σημεία στην πρώτη περίπτωση σχηματίζουν το σύνολο Φατού \mathcal F_f του f, τα σημεία στη δεύτερη περίπτωση το σύνολο Julia \mathcal J_f. Ειδικότερα, στο σύνολο Φατού μπορεί να τύχει η ακολουθία των αποστάσεων να συγκλίνει στο μηδέν, οπότε οι τροχιές των σημείων w προσεγγίζουν την τροχιά του z. Αν το p έχει τουλάχιστον τρία μηδενικά, το σύνολο Julia \mathcal J_f είναι πάντα ένα "Φράκταλ", επομένως το \mathcal J_f μερικές φορές ονομάζεται και "*φράκταλ του Νεύτωνα* του p".

## Σημασία για τη μέθοδο Νεύτωνα
Αν η αρχική τιμή της επανάληψης Νεύτωνα είναι κοντά σε ένα μοναδικό μηδέν του p, τότε η μέθοδος συγκλίνει τετραγωνικά προς αυτό το μηδέν (δηλαδή, ο αριθμός των σωστών δεκαδικών ψηφίων διπλασιάζεται μακροπρόθεσμα σε κάθε βήμα). Στην περίπτωση ενός πολλαπλού μηδενός, η μέθοδος Νεύτωνα εξακολουθεί να συγκλίνει γραμμικά. Τα μηδενικά βρίσκονται πάντα στο σύνολο Φατού.

Ωστόσο, όσο πιο κοντά είναι η αρχική τιμή στο σύνολο Julia, τόσο πιο μη διαχειρίσιμο είναι το αποτέλεσμα της μεθόδου Νεύτωνα:
* Ακόμη και αρχικές τιμές που απέχουν πολύ από ένα μηδέν μπορούν να συγκλίνουν προς αυτό, ακόμη και αν άλλα μηδενικά είναι πολύ πιο κοντά στην αρχική τιμή (στην περίπτωση&nbsp;1).
* Υπάρχουν αρχικές τιμές που δεν συγκλίνουν στο μηδέν, αλλά μόνο σε έναν περιοδικό κύκλο (στην περίπτωση&nbsp;1). Ένα τέτοιο παράδειγμα είναι το πολυώνυμο z^3-2z+2. Εδώ υπάρχουν αρχικές τιμές που συλλαμβάνονται από τον ελκτικό κύκλο {0,1}, έτσι ώστε ολόκληρες περιοχές στο επίπεδο δεν συγκλίνουν προς κάποιο μηδέν.
* Αν η αρχική τιμή βρίσκεται στο ίδιο το σύνολο Julia, τότε δεν συγκλίνει στο μηδέν (στην περίπτωση&nbsp;2).

Παραδόξως, το σύνολο Julia (το φράκταλ του Νεύτωνα) μπορεί επίσης να έχει θετική μέτρηση στο σχέδιο: αυτό σημαίνει ότι οι τυχαίες αρχικές τιμές βρίσκονται στο σύνολο Julia και επομένως δεν συγκλίνουν προς ένα μηδέν (ή έναν άλλο ελκτικό κύκλο του f) (αυτή η συμπεριφορά εμφανίζεται μόνο σε λίγες περιπτώσεις και επίσης αποδείχθηκε μόλις πριν από λίγα χρόνια, αλλά είναι αρκετά πιθανή). Έτσι, ακόμη και αν το φράκταλ του Νεύτωνα είναι ένα μηδενικό σύνολο, μπορεί να υπάρχουν ολόκληρα πεδία στα οποία η μέθοδος δεν συγκλίνει σε ένα μηδενικό.

Η εν λόγω δήλωση ισχύει επίσης για τις ορθολογικές συναρτήσεις πραγματικών τιμών. Και πάλι, το πολυώνυμο z^3-2z+2 χρησιμεύει ως παράδειγμα. Επειδή έχει πραγματικούς συντελεστές, οι τιμές επανάληψης του Νεύτωνα για πραγματικές αρχικές τιμές παραμένουν πραγματικής αξίας. Καθώς ο πραγματικός άξονας διέρχεται από περιοχές μη σύγκλισης, υπάρχουν διαστήματα για τα οποία δεν υπάρχει σύγκλιση. Υπάρχει άπειρος αριθμός τέτοιων διαστημάτων.


File:JMB_Newton_Z^3_-_A_=_0_(Tipus=_5003)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1.2_Fc=_0_1_(Iter=_100)Seg=_30.jpg|
File:JMB_Newton_Z^3_-_A_=_0_(Tipus=_5003)(_1600x_1200)_.00001_.00001_2_2.1_7_Pal=_8_2_Fc=_0_1_(Iter=_200)Seg=_60.jpg|
File:JMB_Newton_Z^4_-_A_=_0_(Tipus=_5004)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1.6_Fc=_0_1_(Iter=_100)Seg=_31.jpg|
File:JMB_Newton_Z^4_-_A_=_0_(Tipus=_5004)(_1600x_1200)_.00001_.00001_2_0_7_Pal=_0_13_Fc=_0_1_(Iter=_200)Seg=_62.jpg|
File:JMB_Newton_Z^5_-_A_=_0_(Tipus=_5005)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1_Fc=_0_1_(Iter=_100)Seg=_32.jpg|
File:JMB_Newton_Z^5_-_A_=_0_(Tipus=_5005)(_1600x_1200)_.00001_.00001_2_0_10_Pal=_13_15_Fc=_0_1_(Iter=_200)Seg=_62.jpg|
File:JMB_Newton_Z^6_-_A_=_0_(Tipus=_5006)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1_Fc=_0_1_(Iter=_100)Seg=_31.jpg|
File:JMB_Newton_Z^7_-_A_=_0_(Tipus=_5007)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1_Fc=_0_1_(Iter=_100)Seg=_32.jpg|
File:JMB_Newton_Z^8_-_A_=_0_(Tipus=_5008)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1_Fc=_0_1_(Iter=_100)Seg=_33.jpg|
File:JMB_Newton_Z^10_-_A_=_0_(Tipus=_5010)(_1600x_1200)_.00001_.00001_1_3_7_Pal=_0_1_Fc=_0_1_(Iter=_100)Seg=_117.jpg|


## Παράδειγμα φράκταλ
### Παράδειγμα 1

Στο Σχήμα 1 παρουσιάζεται το φράκταλ Νεύτωνα (με λευκό χρώμα) στο z^3-2z+2, με χρωματική κωδικοποίηση ανάλογα με το ρυθμό σύγκλισης και τα τρία μηδενικά. Οι αρχικές τιμές που βρίσκονται στις περιοχές που έχουν σχεδιαστεί με μπεζ χρώμα συγκλίνουν στο ίδιο μηδέν (σε ανοιχτό μπεζ χρώμα στην εικόνα στα αριστερά), κατ' αναλογία για τις πράσινες και μπλε περιοχές. Τα μηδενικά για τις πράσινες και τις μπλε περιοχές βρίσκονται συμμετρικά προς τον οριζόντιο άξονα συμμετρίας στα δεξιά της εικόνας. Όσο πιο γρήγορα συγκλίνει μια αρχική τιμή στο μηδέν της, τόσο πιο ανοιχτόχρωμη είναι. Οι τιμές στις άπειρες κόκκινες περιοχές δεν συγκλίνουν στο μηδέν, αλλά συλλαμβάνονται από τον ελκυστικό κύκλος \{0,1\}. Το φράκταλ του Νεύτωνα - αναγνωρίσιμο στην εικόνα ως φωτεινή δομή - δεν είναι οριοθετημένο. Στις τρεις κατευθύνσεις που μπορούν να αναγνωριστούν, εκτείνεται στο ∞.
### Παράδειγμα 2
Στο Σχήμα 2 παρουσιάζεται το φράκταλ του Νεύτωνα σε ένα πολυώνυμο με 7 τυχαία επιλεγμένα μηδενικά (λευκές κουκκίδες), το εύρος αντιπροσωπεύει -1 . Παραδείγματος χάριν, το ίδιο το φράκταλ, η ακμή της κίτρινης περιοχής. Ομοίως, είναι η ακμή της πράσινης περιοχής, η ακμή της τυρκουάζ περιοχής, κ.λπ. Αυτή η ιδιότητα είναι κοινή για όλα τα σύνολα Julia. (Τα χρώματα κόκκινο και ροζ χρησιμοποιήθηκαν δύο φορές- παρ' όλα αυτά, τα όρια της κόκκινης και της ροζ περιοχής, αντίστοιχα, αντιστοιχούν επίσης στο φράκταλ του Νεύτωνα).

## Γενίκευση των φράκταλ του Νεύτωνα

Άλλα φράκταλ όπου πολλαπλασιάζονται δυναμικές και τριγωνομετρικές συναρτήσεις. 

File:JMB_Newton_Z^2_Sin(Z)-_A_=_0_(Tipus=_5209)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_7_Fc=_0_1_(Iter=_600)Seg=_54.jpg|
File:JMB_Newton_Z^2_Sin(Z)-_A_=_0_(Tipus=_5209)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_4_Fc=_0_1_(Iter=_95)Seg=_57.jpg|
File:JMB_Newton_Z^3_Sin(Z)-_A_=_0_(Tipus=_5210)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_8_Fc=_0_1_(Iter=_700)Seg=_65.jpg|
File:JMB_Newton_Z^4_Sin(Z)-_A_=_0_(Tipus=_5211)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_6_Fc=_0_1_(Iter=_900)Seg=_124.jpg|
File:JMB_Newton_Z^4_Sin(Z)-_A_=_0_(Tipus=_5211)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_3_Fc=_0_1_(Iter=_270)Seg=_80.jpg|
File:JMB_Newton_Z^5_Sin(Z)-_A_=_0_(Tipus=_5212)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_4_Fc=_0_1_(Iter=_500)Seg=_206.jpg|
File:JMB_Newton_Z^6_Sin(Z)-_A_=_0_(Tipus=_5213)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_5_Fc=_0_1_(Iter=_1000)Seg=_332.jpg|
File:JMB_Newton_Z^6_Sin(Z)-_A_=_0_(Tipus=_5213)(_1600x_1200)_.00001_.00001_1_1_7_Pal=_5_5_Fc=_0_1_(Iter=_1000)Seg=_220.jpg|


### Φράκταλ Nova

Το φράκταλ Nova εφευρέθηκε στα μέσα της δεκαετίας του 1990 από τον Πολ Ντέρμπισαϊρ, είναι μια γενίκευση του φράκταλ του Νεύτωνα με την προσθήκη μιας τιμής  σε κάθε βήμα:

: z_{n+1}=z_n- a \frac{p(z_n)}{p'(z_n)} + c = G(a, c, z)

Η παραλλαγή "Julia" του φράκταλ Nova διατηρεί το  σταθερό σε όλη την εικόνα και αρχικοποιεί το *z*0 στις συντεταγμένες των εικονοστοιχείων. Η παραλλαγή "'Μάντελμπροτ" του φράκταλ Nova αρχικοποιεί το ** στις συντεταγμένες εικονοστοιχείου και θέτει το *z*0 σε ένα κρίσιμο σημείο, όπου

:\frac{\partial}{\partial z} G(a, c, z) = 0.

Συνήθως χρησιμοποιούμενα πολυώνυμα όπως   ή   οδηγούν σε κρίσιμο σημείο στο .

File:NovaFractal p(z)=z³-1 c=-1→1.gif|Κινούμενο φράκταλ "Julia" Nova για  με  για τη μετάβαση από −1 to 1, χρωματισμένο από τη ρίζα που έχει επιτευχθεί.
File:NovaFractal p(z)=z³-1 C=0.5e^iφ.gif|Κινούμενο φράκταλ "Julia" Nova για  με  και  για τη μετάβαση από 0 to 2, χρωματισμένο από τη ρίζα που έχει επιτευχθεί.


## Εφαρμογή
Για να υλοποιηθεί το φράκταλ του Νεύτωνα, είναι απαραίτητο να υπάρχει μια αρχική συνάρτηση καθώς και η παράγωγη συνάρτηση της:

: \begin{align} f(z) &= z^3 - 1 \\\ f'(z) &= 3z^2 \end{align}

Οι τρεις ρίζες της συνάρτησης είναι
: z = 1,\ -\tfrac12 + \tfrac{\sqrt 3}{2}i,\ -\tfrac12 - \tfrac{\sqrt 3}{2}i

Οι παραπάνω συναρτήσεις μπορούν να μεταφραστούν σε ψευδοκώδικα ως εξής:

```c
//z^3-1 
float2 Function (float2 z)
{
	return cpow(z, 3) - float2(1, 0); //cpow is an exponential function for complex numbers
}

//3*z^2
float2 Derivative (float2 z)
{
	return 3 * cmul(z, z); //cmul is a function that handles multiplication of complex numbers
}
```

Τώρα είναι απλώς θέμα εφαρμογής της μεθόδου Νεύτωνα χρησιμοποιώντας τις δεδομένες συναρτήσεις.

```c
float2 roots[3] = //Roots (solutions) of the polynomial
{
	float2(1, 0), 
	float2(-.5, sqrt(3)/2), 
	float2(-.5, -sqrt(3)/2)
};
	
color colors[3] =  //Assign a color for each root
{
    red,
    green,
    blue
}

For each pixel (x, y) on the target, do:
{
	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 (-2, 1))

    float2 z = float2(zx, zy); //z is originally set to the pixel coordinates

	for (int iteration = 0;
	     iteration < maxIteration;
	     iteration++;)
	{
		z -= cdiv(Function(z), Derivative(z)); //cdiv is a function for dividing complex numbers

        float tolerance = 0.000001;
        
		for (int i = 0; i < roots.Length; i++)
		{
		    float2 difference = z - roots[i];
		    
			//If the current iteration is close enough to a root, color the pixel.
			if (abs(difference.x) < tolerance && abs (difference.y) < tolerance)
			{
				return colors[i]; //Return the color corresponding to the root
			}
		}
		
    }
    
    return black; //If no solution is found
}
```


## Δείτε επίσης
*Σύνολο Μάντελμπροτ
*Σύνολο Julia
*Οικοδομήσιμο Σύμπαν

## Παραπομπές


 
 

Κατηγορία:Φράκταλ
Κατηγορία:Μαθηματική λογική
Κατηγορία:Φιλοσοφία των μαθηματικών
Κατηγορία:Ιστορία των Μαθηματικών