Anar al contingut

Fractal de Newton

De L'Enciclopèdia, la wikipedia en valencià
Archiu:Julia set for the rational function.png
Julia va establir la funció racional associada al método de Newton per a f(z) = z3 − 1.

El fractal de Newton és una frontera en el pla complex delimitada per mig del método de Newton aplicat a un polinomi fix p(Z) ∈ ℂ[Z] o a una funció transcendent. És el conjunt de Julia de la funció meromorfa zzPlantilla:Sfrac, que ve dau pel método de Newton. Quan no hi ha cicles atractius (d'orde major que 1), dividix el pla complex en regions Gk, cada una de les quals està associada en una raïl ζk del polinomi, k = 1, …, deg(p). D'esta manera, el fractal de Newton és similar al conjunt de Mandelbrot i, de la mateixa manera que atres fractales, exhibix una apariència intrincada que sorgix d'una descripció simple. És rellevant en anàlisis numèric perque mostra que (fòra de la regió d'orde de convergència) el método de Newton pot ser molt sensible a l'elecció del punt d'inici.

Molts punts del pla complex estan associats en una de les raïls deg(p) del polinomi de la següent manera: el punt s'usa com a valor inicial z0 per a la iteración de Newton zn + 1 := znPlantilla:Sfrac, produint una seqüència de punts z1, z2, …,

Si la seqüència convergix a la raïl ζk, llavors z0 era un element de la regió Gk. No obstant, per a cada polinomi de grau a lo manco 2 hi ha punts per als quals la iteración de Newton no convergix a cap raïl: eixemples són els llímits de les conques d'atracció de les diverses raïls. Inclús hi ha polinomis per als que conjunts oberts de punts de partida no convergixen a cap raïl: un eixemple simple és z3 − 2z + 2, a on alguns punts són atrets pel cicle 0, 1, 0, 1… en lloc de per una raïl.

Un conjunt obert para el qual les iteraciones convergixen cap a una raïl o cicle donat (que no és un punt fix), és un conjunt de Julia per a la iteración. El conjunt complementari a l'unió de tots estos, és el conjunt de Julia. Els conjunts de Fatou tenen un llímit comú, a saber, el conjunt de Julia. Per lo tant, cada punt del conjunt de Julia és un punt d'acumulació per a cada u dels conjunts de Fatou. És esta propietat la que causa l'estructura fractal del conjunt de Julia (quan el grau del polinomi és major que 2).

Per a traçar imàgens interessants, primer es pot elegir un número específic d de punts complexos (ζ1, …, ζd) i calcular els coeficients (p1, …, pd) del polinomi

p(z)=zd+p1zd1++pd1z+pd:=(zζ1)(zζ2)(zζd).

Després, per a una retícula rectangular

zmn=z00+mΔx+inΔy;m=0,,M1;n=0,,N1

de punts en , es troba l'índex k(m,n) de la raïl corresponent ζk(m,n) i s'usa per a omplir una cuadrícula de M × N píxels, assignant a cada punt (m,n) un color fk(m,n). Ademés o alternativament, els colors poden dependre de la distància D(m,n), que es definix com el primer valor D tal que Plantilla:Absf < ε per a alguns ε > 0 menuts prèviament fixats.

Generalisació dels fractales de Newton

[editar | editar còdic]

Una generalisació de la iteración de Newton és

zn+1=znap(zn)p(zn)

a on a és qualsevol número complejo.[1] L'elecció particular en a = 1 correspon al fractal de Newton.


Els punts fixos d'esta aplicació són estables quan a es troba dins del disc de radi 1 centrat en 1. Quan a està fòra d'este disc, els punts fixos són localment inestables, no obstant, l'aplicació encara exhibix una estructura fractal en el sentit de Conjunt de Julia. Si p és un polinomi de grau d, llavors la seqüència zn està acotada sempre que a estiga dins d'un disc de ràdio d centrat en d.

De manera més general, el fractal de Newton és un cas especial de conjunt de Julia.

Fractales composts de potències i funcions trigonométricas.

Fractal Nova

[editar | editar còdic]
Archiu:NovaFractal p(z)=z³-1 c=-1→1.gif
Animació del fractal Nova "Julia" per a p(z) = z3 − 1 en c anant de -1 a 1, coloreado per la raïl alcançada
Archiu:NovaFractal p(z)=z³-1 C=0.5e^iφ.gif
Animació del fractal Nova "Julia" per a p(z) = z3 − 1 en c = Plantilla:Sfraci i φ anant de 0 a 2Π, coloreado per la raïl alcançada
Artícul principal → Fractal Nova.


El fractal Nova, inventat a mitan de la década de 1990 per Paul Derbyshire,[2][3] és una generalisació del fractal de Newton en l'adició d'un valor c en cada pas:[4]

zn+1=znap(zn)p(zn)+c=G(a,c,z)

La variant "Julia" del fractal Nova manté constant c sobre l'image i inicializa z0 a les coordenades de píxels. La variant "Mandelbrot" del fractal Nova inicializa c en les coordenades de píxels i establix z0 en un punt crític, a on[5]

zG(a,c,z)=0.

Els polinomis d'us comú com p(z) = z3 − 1 o p(z) = (z − 1)3 conduïxen a un punt crític en z = 1.

Generació

[editar | editar còdic]

Per a generar el fractal de Newton, és necessari tindre una funció inicial i la seua funció derivada:

f(z)=z31f(z)=3z2

Les tres raïls de la funció són

z=1, 12+32i, 1232i

Les funcions definides anteriorment es poden traduir en pseudocódigo de la següent manera:

//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
}

Ara és solament qüestió d'aplicar el método de Newton usant les funcions donades.

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
{
    ret,
    green,
    blue
}

Per a cada pixel (x, i) com a objectiu, fer que:
{
	zx = scaled x coordinate of pixel (scaled to lie in the Mandelbrot X scale (-2.5, 1))
    zy = scaled i coordinate of pixel (scaled to lie in the Mandelbrot I scale (-1, 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.i) < tolerance)
			{
				return colors[i]; //Return the color corresponding to the root
			}
		}
		
    }
    
    return black; //If no solution is found
}


Referències

[editar | editar còdic]
  1. Simon Tatham. «Fractals derived from Newton–Raphson».
  2. Damien M. Jones. «class Standard_NovaMandel (Ultra Fractal formula reference)».
  3. Damien M. Jones. «dmj's nova fractals 1995-6». Archivat des d'el original, el 20 d'agost de 2017. Consultat el 4 de giner de 2022.
  4. Michael Condron. «Relaxed Newton's Method and the Nova Fractal».
  5. Frederik Slijkerman. «Ultra Fractal Manual: Nova (Julia, Mandelbrot)».