Fichier:Jung50e.png
Taille de cet aperçu : 800 × 400 pixels. Autres résolutions : 320 × 160 pixels | 640 × 320 pixels | 1 000 × 500 pixels.
Fichier d’origine (1 000 × 500 pixels, taille du fichier : 23 kio, type MIME : image/png)
Ce fichier et sa description proviennent de Wikimedia Commons.
Description
DescriptionJung50e.png |
English: External rays and equipotential lines of Mandelbrot set as an images of external rays and circles of unit circle under Jungreis function |
Date | 4.01.2009 |
Source | Own work with help of : Richard J. Fateman and G. A. Edgar |
Auteur | Adam majewski |
Compare with
-
Uniformisation of the interior of Mandelbrot set components using multiplier map: internal rays , internal coordinate
c src code
// https://gist.github.com/Gro-Tsen/9f690a9461c99abb4a01249b1838b548
// Gro-Tsen http://www.madore.org/~david/
// Compute the coefficients of the Jungreis function, i.e., the
// Fourier coefficients of the harmonic parametrization of the
// boundary of the Mandelbrot set, using the formulae given in
// following paper: John H. Ewing & Glenn Schober, "The area of the
// Mandelbrot set", Numer. Math. 61 (1992) 59-72 (esp. formulae (7)
// and (9)). (Note that their numerical values in table 1 give the
// coefficients of the inverse series.)
// The coefficients betatab[m+1][0] are the b_m such that
// z + sum(b_m*z^-m) defines a biholomorphic bijection from the
// complement of the unit disk to the complement of the Mandelbrot
// set. The first few values are:
// {-1/2, 1/8, -1/4, 15/128, 0, -47/1024, -1/16, 987/32768, 0, -3673/262144}
// Formula: b_m = beta(0,m+1) where beta(0,0)=1,
// and by downwards induction on n we have:
// beta(n-1,m) = (beta(n,m) - sum(beta(n-1,j)*beta(n-1,m-j), j=2^n-1..m-2^n+1) - beta(0,m-2^n+1))/2 if m>=2^n-1, 0 otherwise
// (beta(n,m) is written betatab[m][n] in this C program).
#include <stdio.h>
#include <math.h>
#include <float.h>
#include <assert.h>
#ifndef NBCOEFS
#define NBCOEFS 8193
#endif
#ifndef SIZEN
#define SIZEN 14
#endif
#if ((NBCOEFS+4)>>SIZEN) != 0
#error Please increase SIZEN
#endif
double betatab[NBCOEFS+1][SIZEN];
int
main (void)
{
for ( int n=0 ; n<SIZEN ; n++ )
betatab[0][n] = 1;
for ( int m=1 ; m<=NBCOEFS ; m++ )
{
for ( int n=SIZEN ; n>=1 ; n-- )
{
if ( m < (1<<n)-1 )
betatab[m][n-1] = 0;
else
{
double v;
assert (n < SIZEN);
v = betatab[m][n];
for ( int k=((1<<n)-1) ; k<=m-(1<<n)+1 ; k++ )
v -= betatab[k][n-1] * betatab[m-k][n-1];
v -= betatab[m-(1<<n)+1][0];
betatab[m][n-1] = v/2;
}
}
printf ("%d\t%.17e\t%a\n", m-1, betatab[m][0], betatab[m][0]);
}
}
Maxima source code
/* batch file for maxima uses : - symmetry around horizontal ( 0X ) axis - Psi_M function to map conjugate plane to parameter plane - jungreis algorithm to time :3818 */ start:elapsed_run_time (); jMax:50; /* precision = proportional to details and time of computations */ iMax:200; /* number of points to draw */ iMaxBig:400; /* computes b coefficient of Jungreis function*/ betaF[n,m]:=block ( [nnn:2^(n+1)-1], if m=0 then 1.0 else if ((n>0) and (m < nnn)) then 0.0 else (betaF[n+1,m]- sum(betaF[n,k]*betaF[n,m-k],k,nnn,m-nnn)-betaF[0,m-nnn])/2.0 )$ b[m]:=betaF[0,m+1]$ /* -------------------------------*/ /* Power of w to j */ wn[w,j]:= if j=0 then 1 else w*wn[w,j-1]$ /* ---------Jungreis function ; c = Psi_M(w) ----------------------------- */ Psi_M(w):=w + sum(b[j]/wn[w,j],j,0,jMax)$ /* exponential for of complex number with angle in turns */ GiveCirclePoint(t):=R*%e^(%i*t*2*%pi)$ /* gives point of unit circle for angle t in turns */ GiveWRayPoint(R):=R*%e^(%i*tRay*2*%pi)$ /* gives point of external ray for radius R and angle tRay in turns */ NmbrOfCurves:9; /* coordinate of w-plane not c-plane */ R_max:1.5; R_min:1; dR:(R_max-R_min)/NmbrOfCurves; /* for circles */ dRR:(R_max-R_min)/iMax; /* for rays */ /* --------------------------------------f_0 plane = w-plane -----------------------------------------*/ /*-------------- unit circle ------------*/ R:1; circle_angles:makelist(i/iMax,i,0,iMax/2)$ CirclePoints:map(GiveCirclePoint,circle_angles)$ /* ---------------external circles ---------*/ circle_radii: makelist(R_min+i*dR,i,1,NmbrOfCurves)$ circle_angles:makelist(i/iMaxBig,i,0,iMaxBig/2)$ WCirclesPoints:[]$ for R in circle_radii do WCirclesPoints:append(WCirclesPoints,map(GiveCirclePoint,circle_angles))$ /* -------------- external w rays -------------*/ ray_radii:makelist(R_min+dRR*i,i,1,iMax); ray_angles:[0,1/3,1/7 , 2/7 ,3/7 ]; /* list of angles < 1/2 of root points */ WRaysPoints:[]; for tRay in ray_angles do WRaysPoints:append(WRaysPoints,map(GiveWRayPoint,ray_radii)); /* -------------------------parameter plane = c plane -----------------------------------*/ MPoints:map(Psi_M,CirclePoints); /* Mandelbrot set points */ CRaysPoints:map(Psi_M,WRaysPoints); /* external z rays */ Equipotentials:map(Psi_M,WCirclesPoints); /* add points below horizontal axis */ for w in CirclePoints do CirclePoints:cons(conjugate(w),CirclePoints); for w in WRaysPoints do WRaysPoints:cons(conjugate(w),WRaysPoints); for w in WCirclesPoints do WCirclesPoints:cons(conjugate(w),WCirclesPoints); for c in MPoints do MPoints:cons(conjugate(c),MPoints); for c in CRaysPoints do CRaysPoints:cons(conjugate(c),CRaysPoints); for c in Equipotentials do Equipotentials:cons(conjugate(c),Equipotentials); /* time */ stop:elapsed_run_time (); time:fix(stop-start); /* ---------------- draw *--------------------------------------------------------------------------*/ load(draw); /* Mario Rodríguez Riotorto http://www.telefonica.net/web2/biomates/maxima/gpdraw/index.html */ draw(file_name = "jung50es_2", pic_width=1000, pic_height= 500, terminal = 'png, columns = 2, gr2d(title = " unit circle with external rays & circles ", point_type = filled_circle, points_joined =true, point_size = 0.34, color = red, points(map(realpart, CirclePoints),map(imagpart, CirclePoints)), points_joined =false, color = green, points(map(realpart, WCirclesPoints),map(imagpart, WCirclesPoints)), color = black, points(map(realpart, WRaysPoints),map(imagpart, WRaysPoints)) ), gr2d(title = "Parameter plane : Image under Psi_M(w) ", points_joined =true, point_type = filled_circle, point_size =0.34, color = blue, points(map(realpart, MPoints),map(imagpart, MPoints)), points_joined =false, color = green, points(map(realpart, Equipotentials),map(imagpart, Equipotentials)), color = black, points(map(realpart, CRaysPoints),map(imagpart, CRaysPoints)) ) );
Conditions d’utilisation
Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous les licences suivantes :
Ce fichier est disponible selon les termes de la licence Creative Commons Attribution – Partage dans les Mêmes Conditions 3.0 (non transposée).
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez, ou vous basez sur cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.
Vous avez la permission de copier, distribuer et modifier ce document selon les termes de la GNU Free Documentation License version 1.2 ou toute version ultérieure publiée par la Free Software Foundation, sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture. Un exemplaire de la licence est inclus dans la section intitulée GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Vous pouvez choisir l’une de ces licences.
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 8 janvier 2009 à 20:10 | 1 000 × 500 (23 kio) | Soul windsurfer | {{Information |Description=Better version made by Robert Dodier using Maxima/Clisp and jMax=100 |Source= |Date= |Author= |Permission= |other_versions= }} | |
4 janvier 2009 à 14:42 | 1 000 × 500 (23 kio) | Soul windsurfer | {{Information |Description={{en|1=External rays and equipotential lines of Mandelbrot set}} |Source=Own work |Author=Adam majewski |Date=4.01.2009 |Permission= |other_versions= }} <!--{{ImageUpload|full}}--> |
Utilisation du fichier
La page suivante utilise ce fichier :
Usage global du fichier
Les autres wikis suivants utilisent ce fichier :
- Utilisation sur el.wikipedia.org
- Utilisation sur en.wikipedia.org
- Utilisation sur en.wikibooks.org
Ce document provient de « https://fr.wikipedia.org/wiki/Fichier:Jung50e.png ».