Αρχείο:Jung50e.png

Τα περιεχόμενα της σελίδας δεν υποστηρίζονται σε άλλες γλώσσες.
Αυτό το αρχείο προέρχεται από το Wikimedia Commons
Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Εικόνα σε υψηλότερη ανάλυση(1.000 × 500 εικονοστοιχεία, μέγεθος αρχείου: 23 KB, τύπος MIME: image/png)

Σύνοψη

Περιγραφή
English: External rays and equipotential lines of Mandelbrot set as an images of external rays and circles of unit circle under Jungreis function
Ημερομηνία 4.01.2009
Πηγή Own work with help of : Richard J. Fateman and G. A. Edgar
Δημιουργός Adam majewski

Compare with

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))
 ) 
 );

Αδειοδότηση

Εγώ, ο κάτοχος των πνευματικών δικαιωμάτων αυτού του έργου, το δημοσιεύω δια του παρόντος υπό τις εξής άδειες χρήσης:
w:el:Creative Commons
αναφορά προέλευσης παρόμοια διανομή
Είστε ελεύθερος:
  • να μοιραστείτε – να αντιγράψετε, διανέμετε και να μεταδώσετε το έργο
  • να διασκευάσετε – να τροποποιήσετε το έργο
Υπό τις ακόλουθες προϋποθέσεις:
  • αναφορά προέλευσης – Θα πρέπει να κάνετε κατάλληλη αναφορά, να παρέχετε σύνδεσμο για την άδεια και να επισημάνετε εάν έγιναν αλλαγές. Μπορείτε να το κάνετε με οποιοδήποτε αιτιολογήσιμο λόγο, χωρίς όμως να εννοείται με οποιονδήποτε τρόπο ότι εγκρίνουν εσάς ή τη χρήση του έργου από εσάς.
  • παρόμοια διανομή – Εάν αλλάξετε, τροποποιήσετε ή δημιουργήσετε πάνω στο έργο αυτό, μπορείτε να διανείμετε αυτό που θα προκύψει μόνο υπό τους όρους της ίδιας ή συμβατής άδειας με το πρωτότυπο.
GNU head Παραχωρείται η άδεια προς αντιγραφή, διανομή και/ή τροποποίηση αυτού του εγγράφου υπό τους όρους της Άδειας Ελεύθερης Τεκμηρίωσης GNU, Έκδοση 1.2 ή οποιασδήποτε νεότερης έκδοσης δημοσιευμένης από το Ίδρυμα Ελεύθερου Λογισμικού· χωρίς Απαράλαχτους Τομείς, χωρίς Κείμενα Εξωφύλλου, και χωρίς Κείμενα Οπισθοφύλλου. Αντίγραφο της άδειας περιλαμβάνεται στην σελίδα με τίτλο GNU Free Documentation License.
Μπορείτε να επιλέξετε την άδεια της προτίμησής σας.

Λεζάντες

Δεν ορίστηκε λεζάντα

Items portrayed in this file

απεικονίζει

Ιστορικό αρχείου

Κλικάρετε σε μια ημερομηνία/ώρα για να δείτε το αρχείο όπως εμφανιζόταν εκείνη τη στιγμή.

Ώρα/Ημερομ.ΜικρογραφίαΔιαστάσειςΧρήστηςΣχόλια
τελευταία19:10, 8 Ιανουαρίου 2009Μικρογραφία για την έκδοση της 19:10, 8 Ιανουαρίου 20091.000 × 500 (23 KB)Soul windsurfer{{Information |Description=Better version made by Robert Dodier using Maxima/Clisp and jMax=100 |Source= |Date= |Author= |Permission= |other_versions= }}
13:42, 4 Ιανουαρίου 2009Μικρογραφία για την έκδοση της 13:42, 4 Ιανουαρίου 20091.000 × 500 (23 KB)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}}-->

Τα παρακάτω λήμματα συνδέουν σε αυτό το αρχείο:

Καθολική χρήση αρχείου

Τα ακόλουθα άλλα wiki χρησιμοποιούν αυτό το αρχείο: