Fractals/Iterations in the complex plane/p misiurewicz

From Wikibooks, open books for an open world
Jump to navigation Jump to search

How to compute external angles of principal Misiurewicz point[1] of wake p/q using Devaney's algorithm ?

names[edit | edit source]

  • a principal Misiurewicz points[2] of the wake ( or the limb or the shrub )
  • the main node of the shrub [3]
  • the hub = center part of shrub ( Pastor notation), the point where spokes join
  • a junction point of q spokes which is attached directly to the p/q bulb ( Devaney notation )[4]
  • "the first dominating α-Misiurewicz point in M p/q , i.e., the one of lowest pre-period" [5]
  • Eye of elephant resting on internal angle 1/4 of main cardioid ( Curtis McMullen)

notes[edit | edit source]

Principal misiurewicz point of p/q-wake is

  • it has q arms ( spokes, branches) numbered from 0 to q-1 in a clockwise direction
  • it is a landing point for q external angles
  • critical point has preperiod q and period p = 1 under complex quadratic map for

External angles of q rays landing on

  • in the binary expansion length of preperiodic and periodic part is q
  • period and preperiod of angle under doubling map is q

Important differences:

  • Romero-Pastor notation uses q/p not p/q
  • Preperiod: the usual convention is to use the preperiod of the critical value , not preperiod of critical point . This has the advantage, that the angles of the critical value have the same preperiod under doubling as the point, and the same angles are found in the parameter plane

introduction[edit | edit source]

How to work with the shift map ?

If length of string s is q then

  


shifting q digits in blocks of b digits[edit | edit source]

Note that

  

q=5 b=1[edit | edit source]

 
 
 
 
 
 


q=5 b=2[edit | edit source]

 
 
 


q=5 b=3[edit | edit source]

 
 


q=5 b=4[edit | edit source]

 
 

Algorithm[edit | edit source]

Algorithm is based on the Theorem 5.3 in: Geometry of the Antennas in the Mandelbrot Set by R L Devaney and M Moreno-Rocha, April 11, 2000[6]


External Angles of Hub ( see section 3.9 of the Book by Claude) or spoke [7]

The bulb ( = hyperbolic component) has 2 external angles landing on it's root point (bond) :

 


such that :

 

These angles have :

Other names of these angles are angles of the wake.

The junction point of its hub ( principal Misiurewicz point) has external angles in increasing order

  
  
 
 
 
 
 


where

  • s is a finite string of q binary digits = s consist of q binary digits = length(s)= q
  • is the shift map
  • fraction has Farey parents a/b and r/s
  • b is a denominator of lower Farey parent



Implementation:

// https://gitlab.com/adammajewski/wake_gmp
printf("p/q = %d/%d\tb=%d\n\n", p, q, b); // input 
	
printf("(s-)\n"); // first wake ray
printf("s-(s+)\n"); // first Misiurewicz ray
	
for (j = 1; j< q-1; j++){ // there are q rays ( from 0 to q-1) but only (q-2) has to be computed

		n = (j*b) % q;
		
		if (j< q-p) 
			{printf("s-(d^%d(s+))\n", n);}
			else printf("s+(d^%d(s+))\n", n);
		
	
}

printf("s+(s-)\n"); // last Misiurewicz ray
printf("(s+)\n"); // last wake ray

input and output[edit | edit source]

  • input : 2 external angles of the wake
  • output : external angles of principal Misiurewicz point ( hub)

steps[edit | edit source]

  • input =
    • check input
      • both p and q are:
        • integers
        • > 0
      • proper fraction : p < q
      • irreducible fraction = in lowest terms ( An irreducible fraction (or fraction in lowest terms or reduced fraction) is a fraction in which the numerator and denominator are integers that have no other common divisors than 1 A fraction is in lowest terms when the greatest common factor (GCF) of the numerator and denominator is 1 )
    • if input is good then there are angles to compute
  • compute 2 angles of the wake : and
  • compute first 2 of q angles : and
  • compute last angles
    • compute Farey parents of
    • compute
    • ( to do )
-- Haskell code by Claude Heiland-Allen
-- http://mathr.co.uk/blog/
-- http://math.bu.edu/people/bob/papers/monica.pdf
-- Geometry of the Antennas in the Mandelbrot Set
-- by R L Devaney and M Moreno-Rocha, April 11, 2000
-- computa a list of external angles from internal angle
hub :: InternalAngle -> [ExternalAngle]
hub pq =
  -- List comprehension
  [ (sm, shift k sp) | k <- [0, b .. (q - p - 1) * b] ] ++
  [ (sp, shift k sp) | k <- [(q - p) * b, (q - p + 1) * b .. (q - 1) * b] ]
  where
    p = numerator pq
    q = denominator pq
    -- compute tuple of wake angles = bulb, 
    -- sm=s- < sp=s+ 
    (([], sm), ([], sp)) = bulb pq -- preperiod is 0 so empty list :  pre = []
    (ab, cd) = parents pq -- Farey parents
    b = denominator ab
    shift k = genericTake q . genericDrop k . cycle  -- shift map

Examples by wake[edit | edit source]

wake            angles of the wake      angle of principal Misiurewicz point    angles that land on z=0 on the dynamical plane                  period(c)               c 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
k/r = 1/2	wake 1 ; 2/3		Mis 5/12				zcr 5 ; 17/24	                     				period_landing = 1	c -0.2281554936539618 ; 1.115142508039937
k/r = 1/3	wake 1 ; 2/7		Mis 9/56				zcr 9 ; 65/112  						period_landing = 1	c -0.1010963638456222 ; 0.9562865108091415
k/r = 1/4	wake 1 ; 2/15		Mis 17/240				zcr 17 ; 257/480						period_landing = 1	c -0.01718797733835019 ; 1.037652343793215
k/r = 1/5	wake 1 ; 2/31		Mis 33/992				zcr 33 ; 1025/1984						period_landing = 1	c -0.01660571692147523 ; 1.006001828834065
k/r = 1/6	wake 1 ; 2/63		Mis 65/4032				zcr 65 ; 4097/8064						period_landing = 1	c 0.002241106093233115 ; 1.006987004324957
k/r = 1/7	wake 1 ; 2/127		Mis 129/16256				zcr 129 ; 16385/32512						period_landing = 1	c -0.001369133815686842 ; 1.002755660363466
k/r = 1/8	wake 1 ; 2/255		Mis 257/65280				zcr 257 ; 65537/130560						period_landing = 1	c 0.001159450074256577 ; 1.000609019839529
k/r = 1/9	wake 1 ; 2/511		Mis 513/261632				zcr 513 ; 262145/523264 					period_landing = 1	c 0.0001701882004481036 ; 1.000517331884371
k/r = 1/10	wake 1 ; 2/1023		Mis 1025/1047552			zcr 1025 ; 1048577/2095104       				period_landing = 1	c 0.0002217350415235168 ; 0.9999309294242422
k/r = 1/11	wake 1 ; 2/2047		Mis 2049/4192256			zcr 2049 ; 4194305/8384512       				period_landing = 1	c 8.600871635354104e-05 ; 1.000043520609493
k/r = 1/12	wake 1 ; 2/4095		Mis 4097/16773120			zcr 4097 ; 16777217	/33546240				period_landing = 1	c 1.907198794976112e-05 ; 0.9999636227152136
k/r = 1/13	wake 1 ; 2/8191		Mis 8193/67100672			zcr 8193 ; 67108865	/134201344				period_landing = 1	c 1.619607246569189e-05 ; 0.9999946863543573
k/r = 1/14	wake 1 ; 2/16383	Mis 16385/268419072			zcr 16385 ; 268435457	/536838144				period_landing = 1	c -2.164159763572468e-06 ; 0.9999930692712914
k/r = 1/15	wake 1 ; 2/32767	Mis 32769/1073709056			zcr 32769 ; 1073741825	/2147418112				period_landing = 1	c 1.36020585022823e-06 ; 0.9999973111035358
k/r = 1/16	wake 1 ; 2/65535	Mis 65537/4294901760			zcr 65537 ; 4294967297	/8589803520				period_landing = 1	c -1.136844998313359e-06 ; 0.9999994042152635
k/r = 1/17	wake 1 ; 2/131071	Mis 131073/17179738112			zcr 131073 ; 17179869185	/34359476224			period_landing = 1	c -1.660928890362016e-07 ; 0.9999994938657326
k/r = 1/18	wake 1 ; 2/262143	Mis 262145/68719214592			zcr 262145 ; 68719476737	/137438429184			period_landing = 1	c -2.165774171377629e-07 ; 1.000000067631949
k/r = 1/19	wake 1 ; 2/524287	Mis 524289/274877382656			zcr 524289 ; 274877906945	/549754765312			period_landing = 1	c -8.402826966472988e-08 ; 0.9999999574950604
k/r = 1/20	wake 1 ; 2/1048575	Mis 1048577/1099510579200		zcr 1048577 ; 1099511627777	/2199021158400			period_landing = 1	c -1.861820421561348e-08 ; 1.000000035526125
k/r = 1/21	wake 1 ; 2/2097151	Mis 2097153/4398044413952		zcr 2097153 ; 4398046511105	/8796088827904			period_landing = 1	c -1.581664298449309e-08 ; 1.000000005190412
k/r = 1/22	wake 1 ; 2/4194303	Mis 4194305/17592181850112		zcr 4194305 ; 17592186044417	/35184363700224			period_landing = 1	c 2.11348855536603e-09 ; 1.000000006768042
k/r = 1/23	wake 1 ; 2/8388607	Mis 8388609/70368735789056		zcr 8388609 ; 70368744177665	/140737471578112		period_landing = 1	c -1.32827905765734e-09 ; 1.000000002625882
k/r = 1/24	wake 1 ; 2/16777215	Mis 16777217/281474959933440		zcr 16777217 ; 281474976710657	/562949919866880		period_landing = 1	c 1.110191297822782e-09 ; 1.000000000581819
k/r = 1/25	wake 1 ; 2/33554431	Mis 33554433/1125899873288192		zcr 33554433 ; 1125899906842625	/2251799746576384		period_landing = 1	c 1.62200284270896e-10 ; 1.00000000049427
k/r = 1/26	wake 1 ; 2/67108863	Mis 67108865/4503599560261632		zcr 67108865 ; 4503599627370497	/9007199120523264		period_landing = 1	c 2.115013311798569e-10 ; 0.9999999999339535
k/r = 1/27	wake 1 ; 2/134217727	Mis 134217729/18014398375264256		zcr 134217729 ; 18014398509481985	/36028796750528512	period_landing = 1	c 8.205882795347896e-11 ; 1.000000000041509
k/r = 1/28	wake 1 ; 2/268435455	Mis 268435457/72057593769492480		zcr 268435457 ; 72057594037927937	/144115187538984960	period_landing = 1	c 1.818186256603596e-11 ; 0.9999999999653065
k/r = 1/29	wake 1 ; 2/536870911	Mis 536870913/288230375614840832	zcr 536870913 ; 288230376151711745	/576460751229681664	period_landing = 1	c 1.544590637441404e-11 ; 0.9999999999949313
k/r = 1/30	wake 1 ; 2/1073741823	Mis 1073741825/1152921503533105152	zcr 1073741825 ; 1152921504606846977	/2305843007066210304	period_landing = 1	c -2.063955458366402e-12 ; 0.9999999999933906
k/r = 1/31	wake 1 ; 2/2147483647	Mis 2147483649/4611686016279904256	zcr 2147483649 ; 4611686018427387905	/9223372032559808512	period_landing = 1	c 1.29718610843552e-12 ; 0.9999999999974356
k/r = 1/32	wake 1 ; 2/4294967295	Mis 4294967297/18446744069414584320	zcr 4294967297 ; 1	/18446744065119617024			period_landing = 1	c -1.084197223871117e-12 ; 0.9999999999994318
k/r = 1/33	wake 1 ; 2/8589934591	pow  error 
 






1/2[edit | edit source]

Mandelbrot set wake 1/2

So here are 4 angles (q+2) in increasing order :

  • 2 rays landing on the root point ( s+ and s- )
  • q=2 rays landing on the Misiurewicz point


Farey parents of 1/2 are 0/1 and 1/1

  0/1 < 1/2 < 1/1 	 0.0000000000000000 < 0.5000000000000000 < 1.0000000000000000 

The denominator of smaller parent :

 


  



The angle  5/12  or  01p10 has  preperiod = 2  and  period = 2. The corresponding parameter ray is landing at a Misiurewicz point of preperiod 2 and period dividing 2.

Compare with

  • is the Myrberg-Feigenbaum point c = −1.401155 with external angles = (0.412454... , 0,58755...)


1/3[edit | edit source]

Principle Misiurewicz point

The bulb ( = period 3 hyperbolic component) has 2 external angles landing on it's root point (bond) :


 
 

such that :

 

Principal Misiurewicz point of wake is a landing point for external angles. It is denoted by

 

where :

  • first number denotes preperiod
  • second number denotes period

Two of them one can easly compute from angles the wake :


 
 


such that :

 


So the problem is to compute only 1 ray.


First find Farey parents[8] of

Farey diagram


 


such that :

  


Take denominator of smaller parent :

 

and compute last fraction.

First find periodic part :

  • remember that shift map works on the infinite sequence
  • take only first q digits from result of shift map
 


then last angle is :

  

So here are 5 angles (q+2) in increasing order :

   


One can check it with Mandel:

The angle  9/56  or  001p010
has  preperiod = 3  and  period = 3.
The corresponding parameter ray is landing
at a Misiurewicz point of preperiod 3 and
period dividing 3.
Do you want to draw the ray and to shift c
to the landing point?

1/4[edit | edit source]

The bulb ( = period 4 hyperbolic component) has 2 external angles landing on it's root point (bond) :


 
 


Principal Misiurewicz point of wake is a landing point for external angles.

 


Two of them one can easly compute from angles the wake :


 
 


So the problem is to compute only rays.


First find Farey parents of

Farey diagram
 


Take denominator of lower parent :

 

and compute last fractions.

First find periodic parts for n :



then 2 last angles are :

  
  

So here are angles in increasing order :

  

2/5[edit | edit source]

The bulb ( = period 5 hyperbolic component) has 2 external angles landing on it's root point (bond) :


 
 

Farey parents of 2/5 are 1/3 and 1/2

  1/3 < 2/5 < 1/2 	 		
  0.333333 < 0.400000 < 0.500000 


so denominator of smaller parent is b = 3.

Angles in the symbolic form

(s-)
 s-(s+)
 s-(d^3(s+))
 s-(d^1(s+))
 s+(d^4(s+))
 s+(s-)
(s+)



*Main> :main 2 5
bulb:
p01001 = 9 % 31
p01010 = 10 % 31

hub:
01001p01010 = 289 % 992
01001p10010 = 297 % 992
01001p10100 = 299 % 992
01010p00101 = 315 % 992
01010p01001 = 319 % 992


The angle  289/992  or  01001p01010 has  preperiod = 5  and  period = 5. 
The corresponding parameter ray is landing at a Misiurewicz point of preperiod 5 and period dividing 5.


1/7[edit | edit source]

Paritition of dynamic plane of quadratic polynomial for 129/16256

The wake 1/7 of main cardioid

 = principal Misiurewicz
c = 0.367375134418445  +0.147183763188559 i = root of the wake 1/7
c = 0.376008681846768  +0.144749371321633 i = period 7 center


External rays:

  • 1/127 = 0.(0000001) = 0.0078740157480315 = wake
  • 129 /16256 = 0.0000001(0000010) = 0.00793553149606299 = pM_{7,1}
  • 131 /16256 = 0.0000001(0000100) = 0.00805856299212598 = pM
  • 135 /16256 = 0.0000001(0001000 = 0.00830462598425197 = pM
  • 143 /16256 = 0.0000001(0010000) = 0.00879675196850394 = pM
  • 159 /16256 = 0.0000001(0100000) = 0.00978100393700787 = pM
  • 191 /16256 = 0.0000001(1000000) = 0.01174950787401575 = pM
  • 255 /16256 = 0.0000010(0000001) = 0.0156865157480315 = pM
  • 1/64 = 0.000000(1) = 0.015625 = M_{6,1} = longest tip
  • 2/127 = 0.(0000010) = 0.01574803149606299 = wake

3/7[edit | edit source]

Mandelbrot set - wake 3 over 7 with external rays.png

Wake 3/7 and its principal Misiurewicz point (hub)



*Main> :main 3 7
bulb:
p0101001 = 41 % 127
p0101010 = 42 % 127

hub:
0101001p0101010 = 5249 % 16256
0101001p1001010 = 5281 % 16256
0101001p1010010 = 5289 % 16256
0101001p1010100 = 5291 % 16256
0101010p0010101 = 5355 % 16256
0101010p0100101 = 5371 % 16256
0101010p0101001 = 5375 % 16256


Check with Mandel

The angle  5249/16256  or  0101001p0101010
has  preperiod = 7  and  period = 7.
The corresponding parameter ray is landing
at a Misiurewicz point of preperiod 7 and
period dividing 7.

5/11[edit | edit source]

Mandelbrot set - wake 5 over 11 with external rays
ghci
GHCi, version 8.10.7: https://www.haskell.org/ghc/  :? for help
Prelude> :l bh.hs
[1 of 1] Compiling Main             ( bh.hs, interpreted )
Ok, one module loaded.
*Main> :main 5 11
internal angle p/q = 5 / 11
internal angle in lowest terms = 
5 % 11
rays of the bulb:
(01010101001) = 681 % 2047
(01010101010) = 682 % 2047

rays of the principle hub:
01010101001(01010101010) = 1394689 % 4192256
01010101001(10010101010) = 1395201 % 4192256
01010101001(10100101010) = 1395329 % 4192256
01010101001(10101001010) = 1395361 % 4192256
01010101001(10101010010) = 1395369 % 4192256
01010101001(10101010100) = 1395371 % 4192256
01010101010(00101010101) = 1396395 % 4192256
01010101010(01001010101) = 1396651 % 4192256
01010101010(01010010101) = 1396715 % 4192256
01010101010(01010100101) = 1396731 % 4192256
01010101010(01010101001) = 1396735 % 4192256


Check with Mandel:

The 5/11-wake of the main cardioid is
bounded by the parameter rays with the angles
681/2047  or  p01010101001  and
682/2047  or  p01010101010 .
Do you want to draw the rays and to shift c to the center of the satellite component?

The result is a center of period 11 satelite component c = -0.697838195122425 +0.279304134101366 i period = 11

The angle  1394689/4192256  or  01010101001p01010101010 has  preperiod = 11  and  period = 11.
The corresponding parameter ray lands at a Misiurewicz point of preperiod 11 and period dividing 11. Do you want to draw the ray and to shift c to the landing point?

The result is a principal Misiurewicz point of wake 5/11 M_{11,1} = c = -0.724112682973574 +0.286456567676711 i

12/25[edit | edit source]



*Main> :main 12 25
internal angle p/q = 12 / 25
internal angle in lowest terms = 
12 % 25
rays of the bulb:
(0101010101010101010101001) = 11184809 % 33554431
(0101010101010101010101010) = 11184810 % 33554431

rays of the principle hub:
0101010101010101010101001(0101010101010101010101010) = 375299913023489 % 1125899873288192
0101010101010101010101001(1001010101010101010101010) = 375299921412097 % 1125899873288192
0101010101010101010101001(1010010101010101010101010) = 375299923509249 % 1125899873288192
0101010101010101010101001(1010100101010101010101010) = 375299924033537 % 1125899873288192
0101010101010101010101001(1010101001010101010101010) = 375299924164609 % 1125899873288192
0101010101010101010101001(1010101010010101010101010) = 375299924197377 % 1125899873288192
0101010101010101010101001(1010101010100101010101010) = 375299924205569 % 1125899873288192
0101010101010101010101001(1010101010101001010101010) = 375299924207617 % 1125899873288192
0101010101010101010101001(1010101010101010010101010) = 375299924208129 % 1125899873288192
0101010101010101010101001(1010101010101010100101010) = 375299924208257 % 1125899873288192
0101010101010101010101001(1010101010101010101001010) = 375299924208289 % 1125899873288192
0101010101010101010101001(1010101010101010101010010) = 375299924208297 % 1125899873288192
0101010101010101010101001(1010101010101010101010100) = 375299924208299 % 1125899873288192
0101010101010101010101010(0010101010101010101010101) = 375299940985515 % 1125899873288192
0101010101010101010101010(0100101010101010101010101) = 375299945179819 % 1125899873288192
0101010101010101010101010(0101001010101010101010101) = 375299946228395 % 1125899873288192
0101010101010101010101010(0101010010101010101010101) = 375299946490539 % 1125899873288192
0101010101010101010101010(0101010100101010101010101) = 375299946556075 % 1125899873288192
0101010101010101010101010(0101010101001010101010101) = 375299946572459 % 1125899873288192
0101010101010101010101010(0101010101010010101010101) = 375299946576555 % 1125899873288192
0101010101010101010101010(0101010101010100101010101) = 375299946577579 % 1125899873288192
0101010101010101010101010(0101010101010101001010101) = 375299946577835 % 1125899873288192
0101010101010101010101010(0101010101010101010010101) = 375299946577899 % 1125899873288192
0101010101010101010101010(0101010101010101010100101) = 375299946577915 % 1125899873288192
0101010101010101010101010(0101010101010101010101001) = 375299946577919 % 1125899873288192


Landing point = principal Misiurewicz point

The angle  375299913023489/1125899873288192  or  0101010101010101010101001p0101010101010101010101010 has  preperiod = 25  and  period = 25.
The corresponding parameter ray lands at a Misiurewicz point of preperiod 25 and period dividing 25.
Do you want to draw the ray and to shift c to the landing point?
c = -0.745846774741742  +0.124374904775875 i    
m-describe 112 100 10000 -0.745846774741742  +0.124374904775875 4 
the input point was -7.4584677474174200000000000000000001e-01 + 1.2437490477587499999999999999999999e-01 i
nearby hyperbolic components to the input point:

- a period 1 cardioid
  with nucleus at 0.00000e+00 + 0.00000e+00 i
  the component has size 1.00000e+00 and is pointing west
  the atom domain has size 0.00000e+00
  the atom domain coordinates of the input point are -nan + -nan i
  the atom domain coordinates in polar form are -nan to the east
  the atom coordinates of the input point are -0.74585 + 0.12437 i
  the atom coordinates in polar form are 0.75615 to the west
  the nucleus is 7.56146e-01 to the east of the input point

- a period 2 circle
  with nucleus at -1.00000e+00 + 0.00000e+00 i
  the component has size 5.00000e-01 and is pointing west
  the atom domain has size 1.00000e+00
  the atom domain coordinates of the input point are 0.25415 + 0.12437 i
  the atom domain coordinates in polar form are 0.28295 to the east-north-east
  the atom coordinates of the input point are 0.50831 + 0.24875 i
  the atom coordinates in polar form are 0.56591 to the east-north-east
  the nucleus is 2.82954e-01 to the west-south-west of the input point
  external angles of this component are:
  .(01)
  .(10)
the point escaped with dwell 4217.96435

nearby Misiurewicz points to the input point:

- 26p4
  with center at -7.45846774741742277327028259457753e-01 + 1.24374904775875452739596099543026e-01 i
  the Misiurewicz domain has size 7.57002e-04
  the Misiurewicz domain coordinate radius is 7.0135e-13
  the center is 5.30927e-16 to the north-north-west of the input point
  the multiplier has radius 1.030029879100029796e+00 and angle -0.078808321127835692 (in turns)

1/31[edit | edit source]

Mandelbrot set - wake 1 over 31 with external rays
*Main> :main 1 31
internal angle p/q = 1 / 31
internal angle in lowest terms = 
1 % 31
rays of the bulb:
(0000000000000000000000000000001) = 1 % 2147483647
(0000000000000000000000000000010) = 2 % 2147483647

rays of the principle hub:
0000000000000000000000000000001(0000000000000000000000000000010) = 2147483649 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000000000100) = 2147483651 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000000001000) = 2147483655 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000000010000) = 2147483663 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000000100000) = 2147483679 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000001000000) = 2147483711 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000010000000) = 2147483775 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000000100000000) = 2147483903 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000001000000000) = 2147484159 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000010000000000) = 2147484671 % 4611686016279904256
0000000000000000000000000000001(0000000000000000000100000000000) = 2147485695 % 4611686016279904256
0000000000000000000000000000001(0000000000000000001000000000000) = 2147487743 % 4611686016279904256
0000000000000000000000000000001(0000000000000000010000000000000) = 2147491839 % 4611686016279904256
0000000000000000000000000000001(0000000000000000100000000000000) = 2147500031 % 4611686016279904256
0000000000000000000000000000001(0000000000000001000000000000000) = 2147516415 % 4611686016279904256
0000000000000000000000000000001(0000000000000010000000000000000) = 2147549183 % 4611686016279904256
0000000000000000000000000000001(0000000000000100000000000000000) = 2147614719 % 4611686016279904256
0000000000000000000000000000001(0000000000001000000000000000000) = 2147745791 % 4611686016279904256
0000000000000000000000000000001(0000000000010000000000000000000) = 2148007935 % 4611686016279904256
0000000000000000000000000000001(0000000000100000000000000000000) = 2148532223 % 4611686016279904256
0000000000000000000000000000001(0000000001000000000000000000000) = 2149580799 % 4611686016279904256
0000000000000000000000000000001(0000000010000000000000000000000) = 2151677951 % 4611686016279904256
0000000000000000000000000000001(0000000100000000000000000000000) = 2155872255 % 4611686016279904256
0000000000000000000000000000001(0000001000000000000000000000000) = 2164260863 % 4611686016279904256
0000000000000000000000000000001(0000010000000000000000000000000) = 2181038079 % 4611686016279904256
0000000000000000000000000000001(0000100000000000000000000000000) = 2214592511 % 4611686016279904256
0000000000000000000000000000001(0001000000000000000000000000000) = 2281701375 % 4611686016279904256
0000000000000000000000000000001(0010000000000000000000000000000) = 2415919103 % 4611686016279904256
0000000000000000000000000000001(0100000000000000000000000000000) = 2684354559 % 4611686016279904256
0000000000000000000000000000001(1000000000000000000000000000000) = 3221225471 % 4611686016279904256
0000000000000000000000000000010(0000000000000000000000000000001) = 4294967295 % 4611686016279904256

8/47 = 16/94[edit | edit source]

Haskell output

*Main> :main 16 94
internal angle p/q = 16 / 94
internal angle in lowest terms = 
8 % 47
rays of the bulb:
(00001000001000001000001000001000001000001000001) = 4467856773185 % 140737488355327
(00001000001000001000001000001000001000001000010) = 4467856773186 % 140737488355327

rays of the hub:
00001000001000001000001000001000001000001000001(00001000001000001000001000001000001000001000010)
00001000001000001000001000001000001000001000001(00001000001000001000001000001000001000010000010)
00001000001000001000001000001000001000001000001(00001000001000001000001000001000010000010000010)
00001000001000001000001000001000001000001000001(00001000001000001000001000010000010000010000010)
00001000001000001000001000001000001000001000001(00001000001000001000010000010000010000010000010)
00001000001000001000001000001000001000001000001(00001000001000010000010000010000010000010000010)
00001000001000001000001000001000001000001000001(00001000010000010000010000010000010000010000010)
00001000001000001000001000001000001000001000001(00010000010000010000010000010000010000010000010)
00001000001000001000001000001000001000001000001(00010000010000010000010000010000010000010000100)
00001000001000001000001000001000001000001000001(00010000010000010000010000010000010000100000100)
00001000001000001000001000001000001000001000001(00010000010000010000010000010000100000100000100)
00001000001000001000001000001000001000001000001(00010000010000010000010000100000100000100000100)
00001000001000001000001000001000001000001000001(00010000010000010000100000100000100000100000100)
00001000001000001000001000001000001000001000001(00010000010000100000100000100000100000100000100)
00001000001000001000001000001000001000001000001(00010000100000100000100000100000100000100000100)
00001000001000001000001000001000001000001000001(00100000100000100000100000100000100000100000100)
00001000001000001000001000001000001000001000001(00100000100000100000100000100000100000100001000)
00001000001000001000001000001000001000001000001(00100000100000100000100000100000100001000001000)
00001000001000001000001000001000001000001000001(00100000100000100000100000100001000001000001000)
00001000001000001000001000001000001000001000001(00100000100000100000100001000001000001000001000)
00001000001000001000001000001000001000001000001(00100000100000100001000001000001000001000001000)
00001000001000001000001000001000001000001000001(00100000100001000001000001000001000001000001000)
00001000001000001000001000001000001000001000001(00100001000001000001000001000001000001000001000)
00001000001000001000001000001000001000001000001(01000001000001000001000001000001000001000001000)
00001000001000001000001000001000001000001000001(01000001000001000001000001000001000001000010000)
00001000001000001000001000001000001000001000001(01000001000001000001000001000001000010000010000)
00001000001000001000001000001000001000001000001(01000001000001000001000001000010000010000010000)
00001000001000001000001000001000001000001000001(01000001000001000001000010000010000010000010000)
00001000001000001000001000001000001000001000001(01000001000001000010000010000010000010000010000)
00001000001000001000001000001000001000001000001(01000001000010000010000010000010000010000010000)
00001000001000001000001000001000001000001000001(01000010000010000010000010000010000010000010000)
00001000001000001000001000001000001000001000001(10000010000010000010000010000010000010000010000)
00001000001000001000001000001000001000001000001(10000010000010000010000010000010000010000100000)
00001000001000001000001000001000001000001000001(10000010000010000010000010000010000100000100000)
00001000001000001000001000001000001000001000001(10000010000010000010000010000100000100000100000)
00001000001000001000001000001000001000001000001(10000010000010000010000100000100000100000100000)
00001000001000001000001000001000001000001000001(10000010000010000100000100000100000100000100000)
00001000001000001000001000001000001000001000001(10000010000100000100000100000100000100000100000)
00001000001000001000001000001000001000001000001(10000100000100000100000100000100000100000100000)
00001000001000001000001000001000001000001000010(00000100000100000100000100000100000100000100001)
00001000001000001000001000001000001000001000010(00000100000100000100000100000100000100001000001)
00001000001000001000001000001000001000001000010(00000100000100000100000100000100001000001000001)
00001000001000001000001000001000001000001000010(00000100000100000100000100001000001000001000001)
00001000001000001000001000001000001000001000010(00000100000100000100001000001000001000001000001)
00001000001000001000001000001000001000001000010(00000100000100001000001000001000001000001000001)
00001000001000001000001000001000001000001000010(00000100001000001000001000001000001000001000001)
00001000001000001000001000001000001000001000010(00001000001000001000001000001000001000001000001)

c output

~/book/code/bin$ ./mandelbrot_describe_external_angle '.00001000001000001000001000001000001000001000001(00001000001000001000001000001000001000001000010)'
binary: .00001000001000001000001000001000001000001000001(00001000001000001000001000001000001000001000010)
decimal: 628794940589397270782279681/19807040628565943660897632256
preperiod: 47
period: 47

34/89[edit | edit source]

Parameter plane ( and Mandelbrot set) wake 34 over 89 and principal Misiurewicz point with external rays
a@zelman:~/haskell/hub$ ghci
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
Prelude> :l bh.hs
[1 of 1] Compiling Main             ( bh.hs, interpreted )
Ok, modules loaded: Main.
*Main> :main 34 89
internal angle p/q = 34 / 89
internal angle in lowest terms = 
34 % 89
rays of the bulb:
(01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001) = 179622968672387565806504265 % 618970019642690137449562111
(01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010) = 179622968672387565806504266 % 618970019642690137449562111

rays of the principle hub:
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010) = 111181232447426046807770849175978166730445345710407681 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010010100101001001010010100100101001001010010100100101001001010010100100101001010) = 111181232447426046807770849175978166766474142729371649 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010010100101001001010010100100101001001010010100100101001010010010100100101001010) = 111181232447426046807770849175978166766474142731468801 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010100100101001001010010100100101001001010010100100101001010010010100100101001010) = 111181232447426046807770849176053724630200057054887937 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010100100101001001010010100100101001010010010100100101001010010010100100101001010) = 111181232447426046807770849176053724630204455101399041 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010100100101001001010010100100101001010010010100100101001010010010100101001001010) = 111181232447426046807770849176053724630204455101399297 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010100100101001010010010100100101001010010010100100101001010010010100101001001010) = 111181232447426046807770849176053733853576491956175105 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01001010010100100101001010010010100100101001010010010100101001001010010010100101001001010) = 111181232447426046807770849176053733853576492493046017 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100100101001010010010100100101001010010010100101001001010010010100101001001010) = 111181232447426046807770849195396546967410559288344833 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100100101001010010010100101001001010010010100101001001010010010100101001001010) = 111181232447426046807770849195396546968536459195187457 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100100101001010010010100101001001010010010100101001001010010100100101001001010) = 111181232447426046807770849195396546968536459195252993 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100101001001010010010100101001001010010010100101001001010010100100101001001010) = 111181232447426046807770849195398908151777894017859841 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100101001001010010010100101001001010010100100101001001010010100100101001001010) = 111181232447426046807770849195398908151778031456813313 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100101001001010010010100101001001010010100100101001001010010100100101001010010) = 111181232447426046807770849195398908151778031456813321 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100101001001010010100100101001001010010100100101001001010010100100101001010010) = 111181232447426046807770849195398908440008407608525065 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010010100101001001010010100100101001001010010100100101001010010010100100101001010010) = 111181232447426046807770849195398908440008407625302281 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010100100101001001010010100100101001001010010100100101001010010010100100101001010010) = 111181232447426046807770849196003371349815722212655369 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010100100101001001010010100100101001010010010100100101001010010010100100101001010010) = 111181232447426046807770849196003371349850906584744201 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010100100101001001010010100100101001010010010100100101001010010010100101001001010010) = 111181232447426046807770849196003371349850906584746249 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010100100101001010010010100100101001010010010100100101001010010010100101001001010010) = 111181232447426046807770849196003445136827201422952713 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(01010010100100101001010010010100100101001010010010100101001001010010010100101001001010010) = 111181232447426046807770849196003445136827205717920009 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100100101001010010010100100101001010010010100101001001010010010100101001001010010) = 111181232447426046807770849350745950047499740080310537 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100100101001010010010100101001001010010010100101001001010010010100101001001010010) = 111181232447426046807770849350745950056506939335051529 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100100101001010010010100101001001010010010100101001001010010100100101001001010010) = 111181232447426046807770849350745950056506939335575817 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100101001001010010010100101001001010010010100101001001010010100100101001001010010) = 111181232447426046807770849350764839522438417916430601 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100101001001010010010100101001001010010100100101001001010010100100101001001010010) = 111181232447426046807770849350764839522439517428058377 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100101001001010010010100101001001010010100100101001001010010100100101001010010010) = 111181232447426046807770849350764839522439517428058441 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100101001001010010100100101001001010010100100101001001010010100100101001010010010) = 111181232447426046807770849350764841828282526641752393 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010010100101001001010010100100101001001010010100100101001010010010100100101001010010010) = 111181232447426046807770849350764841828282526775970121 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001001010010100100101001001010010100100101001010010010100100101001010010010) = 111181232447426046807770849355600545106741043474794825 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001001010010100100101001010010010100100101001010010010100100101001010010010) = 111181232447426046807770849355600545107022518451505481 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001001010010100100101001010010010100100101001010010010100101001001010010010) = 111181232447426046807770849355600545107022518451521865 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001010010010100100101001010010010100100101001010010010100101001001010010010) = 111181232447426046807770849355601135402832877157173577 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001010010010100100101001010010010100101001001010010010100101001001010010010) = 111181232447426046807770849355601135402832911516911945 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001010010010100100101001010010010100101001001010010010100101001001010010100) = 111181232447426046807770849355601135402832911516911947 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001010010010100101001001010010010100101001001010010010100101001001010010100) = 111181232447426046807770849355601135474890505554839883 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100100101001010010010100101001001010010010100101001001010010100100101001001010010100) = 111181232447426046807770849355601135474890505559034187 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100101001001010010010100101001001010010010100101001001010010100100101001001010010100) = 111181232447426046807770849355752251202342334205872459 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100101001001010010010100101001001010010100100101001001010010100100101001001010010100) = 111181232447426046807770849355752251202351130298894667 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100101001001010010010100101001001010010100100101001001010010100100101001010010010100) = 111181232447426046807770849355752251202351130298895179 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100101001001010010100100101001001010010100100101001001010010100100101001010010010100) = 111181232447426046807770849355752269649095204008446795 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10010100101001001010010100100101001001010010100100101001010010010100100101001010010010100) = 111181232447426046807770849355752269649095205082188619 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001001010010100100101001001010010100100101001010010010100100101001010010010100) = 111181232447426046807770849394437895876763338672786251 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001001010010100100101001010010010100100101001010010010100100101001010010010100) = 111181232447426046807770849394437895879015138486471499 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001001010010100100101001010010010100100101001010010010100101001001010010010100) = 111181232447426046807770849394437895879015138486602571 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001010010010100100101001010010010100100101001010010010100101001001010010010100) = 111181232447426046807770849394442618245498008131816267 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001010010010100100101001010010010100101001001010010010100101001001010010010100) = 111181232447426046807770849394442618245498283009723211 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001010010010100100101001010010010100101001001010010010100101001001010010100100) = 111181232447426046807770849394442618245498283009723227 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001010010010100101001001010010010100101001001010010010100101001001010010100100) = 111181232447426046807770849394442618821959035313146715 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100100101001010010010100101001001010010010100101001001010010100100101001001010010100100) = 111181232447426046807770849394442618821959035346701147 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100101001001010010010100101001001010010010100101001001010010100100101001001010010100100) = 111181232447426046807770849395651544641573664521407323 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100101001001010010010100101001001010010100100101001001010010100100101001001010010100100) = 111181232447426046807770849395651544641644033265584987 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100101001001010010010100101001001010010100100101001001010010100100101001010010010100100) = 111181232447426046807770849395651544641644033265589083 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100101001001010010100100101001001010010100100101001001010010100100101001010010010100100) = 111181232447426046807770849395651692215596622942002011 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001(10100101001001010010100100101001001010010100100101001010010010100100101001010010010100100) = 111181232447426046807770849395651692215596631531936603 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001001010010100100101001001010010100100101001010010010100100101001010010010100101) = 111181232447426046807770849705136702036941700256717659 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001001010010100100101001010010010100100101001010010010100100101001010010010100101) = 111181232447426046807770849705136702054956098766199643 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001001010010100100101001010010010100100101001010010010100101001001010010010100101) = 111181232447426046807770849705136702054956098767248219 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001010010010100100101001010010010100100101001010010010100101001001010010010100101) = 111181232447426046807770849705174480986819055928957787 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001010010010100100101001010010010100101001001010010010100101001001010010010100101) = 111181232447426046807770849705174480986821254952213339 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001010010010100100101001010010010100101001001010010010100101001001010010100100101) = 111181232447426046807770849705174480986821254952213467 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001010010010100101001001010010010100101001001010010010100101001001010010100100101) = 111181232447426046807770849705174485598507273379601371 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00100101001010010010100101001001010010010100101001001010010100100101001001010010100100101) = 111181232447426046807770849705174485598507273648036827 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010010100101001001010010010100101001001010010100100101001001010010100100101) = 111181232447426046807770849714845892155424307045686235 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010010100101001001010010100100101001001010010100100101001001010010100100101) = 111181232447426046807770849714845892155987256999107547 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010010100101001001010010100100101001001010010100100101001010010010100100101) = 111181232447426046807770849714845892155987256999140315 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010100100101001001010010100100101001001010010100100101001010010010100100101) = 111181232447426046807770849714847072747607974410443739 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010100100101001001010010100100101001010010010100100101001010010010100100101) = 111181232447426046807770849714847072747608043129920475 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010100100101001001010010100100101001010010010100100101001010010010100101001) = 111181232447426046807770849714847072747608043129920479 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010100100101001010010010100100101001010010010100100101001010010010100101001) = 111181232447426046807770849714847072891723231205776351 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001001010010100100101001010010010100100101001010010010100101001001010010010100101001) = 111181232447426046807770849714847072891723231214164959 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001010010010100100101001010010010100100101001010010010100101001001010010010100101001) = 111181232447426046807770849715149304346626888507841503 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001010010010100100101001010010010100101001001010010010100101001001010010010100101001) = 111181232447426046807770849715149304346644480693885919 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001010010010100100101001010010010100101001001010010010100101001001010010100100101001) = 111181232447426046807770849715149304346644480693886943 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001010010010100101001001010010010100101001001010010010100101001001010010100100101001) = 111181232447426046807770849715149341240132628112990175 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(00101001010010010100101001001010010010100101001001010010100100101001001010010100100101001) = 111181232447426046807770849715149341240132630260473823 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010010100101001001010010010100101001001010010100100101001001010010100100101001) = 111181232447426046807770849792520593695468897441669087 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010010100101001001010010100100101001001010010100100101001001010010100100101001) = 111181232447426046807770849792520593699972497069039583 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010010100101001001010010100100101001001010010100100101001010010010100100101001) = 111181232447426046807770849792520593699972497069301727 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010100100101001001010010100100101001001010010100100101001010010010100100101001) = 111181232447426046807770849792530038432938236359729119 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010100100101001001010010100100101001010010010100100101001010010010100100101001) = 111181232447426046807770849792530038432938786115543007 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010100100101001001010010100100101001010010010100100101001010010010100101001001) = 111181232447426046807770849792530038432938786115543039 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010100100101001010010010100100101001010010010100100101001010010010100101001001) = 111181232447426046807770849792530039585860290722390015 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001001010010100100101001010010010100100101001010010010100101001001010010010100101001001) = 111181232447426046807770849792530039585860290789498879 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001010010010100100101001010010010100100101001010010010100101001001010010010100101001001) = 111181232447426046807770849794947891225089549138911231 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001010010010100100101001010010010100101001001010010010100101001001010010010100101001001) = 111181232447426046807770849794947891225230286627266559 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001010010010100100101001010010010100101001001010010010100101001001010010100100101001001) = 111181232447426046807770849794947891225230286627274751 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001010010010100101001001010010010100101001001010010010100101001001010010100100101001001) = 111181232447426046807770849794948186373135465980100607 % 383123885216472214589586756168607276261994643096338432
01001010010010100101001001010010010100101001001010010100100101001001010010100100101001010(01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001) = 111181232447426046807770849794948186373135483159969791 % 383123885216472214589586756168607276261994643096338432
*Main>

15/94[edit | edit source]

*Main> :main 15 94
internal angle p/q = 15 / 94
internal angle in lowest terms = 
15 % 94
rays of the bulb:
(0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001) = 314396870629096754623553665 % 19807040628566084398385987583
(0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010) = 314396870629096754623553666 % 19807040628566084398385987583

rays of the hub:
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000010000010000010000010000001000001000001000000100000100000100000100000010000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000010000010000010000010000001000001000001000001000000100000100000100000010000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000010000010000010000010000001000001000001000001000000100000100000100000100000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000010000010000010000001000001000001000001000000100000100000100000100000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000010000010000010000010000001000001000001000000100000100000100000100000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000010000010000010000010000001000001000001000001000000100000100000100000010000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000010000010000010000010000001000001000001000001000000100000100000100000100000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000010000010000010000001000001000001000001000000100000100000100000100000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000010000010000010000010000001000001000001000000100000100000100000100000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000010000010000010000010000001000001000001000001000000100000100000100000010000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000010000010000010000010000001000001000001000001000000100000100000100000100000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000010000010000010000001000001000001000001000000100000100000100000100000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000010000010000010000010000001000001000001000000100000100000100000100000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000010000010000010000010000001000001000001000001000000100000100000100000010)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000010000010000010000010000001000001000001000001000000100000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000100000010000010000010000001000001000001000001000000100000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000100000010000010000010000010000001000001000001000000100000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0000100000100000100000100000010000010000010000010000001000001000001000001000000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000000100000100000100000010000010000010000010000001000001000001000001000000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000000100000100000100000100000010000010000010000001000001000001000001000000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000000100000100000100000100000010000010000010000010000001000001000001000000100000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000000100000100000100000100000010000010000010000010000001000001000001000001000000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000000100000100000100000010000010000010000010000001000001000001000001000000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000000100000100000100000100000010000010000010000001000001000001000001000000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000000100000100000100000100000010000010000010000010000001000001000001000000100000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000000100000100000100000100000010000010000010000010000001000001000001000001000000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000000100000100000100000010000010000010000010000001000001000001000001000000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000000100000100000100000100000010000010000010000001000001000001000001000000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000000100000100000100000100000010000010000010000010000001000001000001000000100)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000000100000100000100000100000010000010000010000010000001000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000001000000100000100000100000010000010000010000010000001000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000001000000100000100000100000100000010000010000010000001000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0001000001000001000001000000100000100000100000100000010000010000010000010000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000001000001000001000000100000100000100000100000010000010000010000010000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000001000001000001000001000000100000100000100000010000010000010000010000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000001000001000001000001000000100000100000100000100000010000010000010000001000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000001000001000001000001000000100000100000100000100000010000010000010000010000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000001000001000001000000100000100000100000100000010000010000010000010000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000001000001000001000001000000100000100000100000010000010000010000010000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000001000001000001000001000000100000100000100000100000010000010000010000001000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000001000001000001000001000000100000100000100000100000010000010000010000010000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000001000001000001000000100000100000100000100000010000010000010000010000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000001000001000001000001000000100000100000100000010000010000010000010000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000010000001000001000001000000100000100000100000100000010000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000010000001000001000001000001000000100000100000100000010000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0010000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000010000010000010000010000001000001000001000000100000100000100000100000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000010000010000010000010000001000001000001000001000000100000100000100000010000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000010000010000010000010000001000001000001000001000000100000100000100000100000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000010000010000010000001000001000001000001000000100000100000100000100000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000010000010000010000010000001000001000001000000100000100000100000100000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000010000010000010000010000001000001000001000001000000100000100000100000010000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000010000010000010000010000001000001000001000001000000100000100000100000100000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000010000010000010000001000001000001000001000000100000100000100000100000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000010000010000010000010000001000001000001000000100000100000100000100000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000010000010000010000010000001000001000001000001000000100000100000100000010000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000010000010000010000010000001000001000001000001000000100000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000100000010000010000010000001000001000001000001000000100000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000100000010000010000010000010000001000001000001000000100000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(0100000100000100000100000010000010000010000010000001000001000001000001000000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000000100000100000100000010000010000010000010000001000001000001000001000000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000000100000100000100000100000010000010000010000001000001000001000001000000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000000100000100000100000100000010000010000010000010000001000001000001000000100000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000000100000100000100000100000010000010000010000010000001000001000001000001000000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000000100000100000100000010000010000010000010000001000001000001000001000000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000000100000100000100000100000010000010000010000001000001000001000001000000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000000100000100000100000100000010000010000010000010000001000001000001000000100000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000000100000100000100000100000010000010000010000010000001000001000001000001000000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000000100000100000100000010000010000010000010000001000001000001000001000000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000000100000100000100000100000010000010000010000001000001000001000001000000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000000100000100000100000100000010000010000010000010000001000001000001000000100000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000000100000100000100000100000010000010000010000010000001000001000001000001000000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000001000000100000100000100000010000010000010000010000001000001000001000001000000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000001000000100000100000100000100000010000010000010000001000001000001000001000000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001(1000001000001000001000000100000100000100000100000010000010000010000010000001000001000001000000)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000001000001000001000000100000100000100000100000010000010000010000010000001000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000001000001000001000001000000100000100000100000010000010000010000010000001000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000001000001000001000001000000100000100000100000100000010000010000010000001000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000001000001000001000001000000100000100000100000100000010000010000010000010000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000001000001000001000000100000100000100000100000010000010000010000010000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000001000001000001000001000000100000100000100000010000010000010000010000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000001000001000001000001000000100000100000100000100000010000010000010000001000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000001000001000001000001000000100000100000100000100000010000010000010000010000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000001000001000001000000100000100000100000100000010000010000010000010000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000001000001000001000001000000100000100000100000010000010000010000010000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000001000001000001000001000000100000100000100000100000010000010000010000001000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000001000001000001000001000000100000100000100000100000010000010000010000010000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000010000001000001000001000000100000100000100000100000010000010000010000010000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000010000001000001000001000001000000100000100000100000010000010000010000010000001)
0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000010(0000010000010000010000001000001000001000001000000100000100000100000100000010000010000010000001)

First angle of the hub is:

  6227271590044554501136183694529415329491604978647695361% 392318858461667547739736838930672110377831130880616169472

Code[edit | edit source]

Haskell code[edit | edit source]

-- Haskell code by Claude Heiland-Allen
-- http://mathr.co.uk/blog/
-- http://math.bu.edu/people/bob/papers/monica.pdf
-- Geometry of the Antennas in the Mandelbrot Set
-- by R L Devaney and M Moreno-Rocha, April 11, 2000

import Control.Monad (forM_)
import Data.List (genericTake, genericDrop, intercalate)
import Data.Fixed (mod')
import Data.Ratio ((%), numerator, denominator)
import Numeric (readInt)
import System.Environment (getArgs)

type InternalAngle = Rational -- let pq = p % q

type ExternalAngle = ([Bool], [Bool]) -- tuple of lists ([preperiodic], [periodic])

-- convert bool value to char 0 or 1 
bit :: Bool -> Char
bit False = '0'
bit True = '1'


-- convert list of bool values to string of bits
bits :: [Bool] -> String
bits = map bit

-- converts tuple of the lists (pre, per) to the string
pretty :: ExternalAngle -> String
pretty (pre, per) =  bits pre ++ "(" ++ bits per ++")"

-- converts a list of bits to an Integer, by parsing a String.
binary :: [Bool] -> Integer
binary [] = 0
binary s = case readInt 2 (`elem`"01") (\c -> case c of '0' -> 0 ; '1' -> 1) (bits s) of
  [(b, "")] -> b

-- external angle from tuple form to rational number 
rational :: ExternalAngle -> Rational
rational (pre, per) = (binary pre % 2^p) + (binary per % (2^p * (2^q - 1)))
  where
    p = length pre
    q = length per


-- compute a tuple of external angles from internal angle
-- rays for such angles land on the root of pq wake =  wake angles = bulb
bulb :: InternalAngle -> (ExternalAngle, ExternalAngle) 
bulb pq = (([], bs ++ [False, True]), ([], bs ++ [True, False]))
  where
    q = denominator pq
    bs
      = genericTake (q - 2)
      . map (\x -> 1 - pq < x && x < 1)
      . iterate (\x -> (x + pq) `mod'` 1)
      $ pq
      
-- parents in the Farey tree
-- http://mathr.co.uk/blog/2016-10-31_finding_parents_in_the_farey_tree.html
parents :: InternalAngle -> (InternalAngle, InternalAngle)
parents pq = go q 1 0 p 0 1
  where
    p = numerator pq
    q = denominator pq
    go r1 s1 t1 r0 s0 t0
      | r0 == 0 =
          let ab = - s1 % t1
              a = numerator ab
              b = denominator ab
              c = p - a
              d = q - b
              cd = c % d
          in  (min ab cd, max ab cd)
      | otherwise =
          let (o, r) = divMod r1 r0
              s = s1 - o * s0
              t = t1 - o * t0
          in  go r0 s0 t0 r s t     
          
           
-- computa a list of external angles from internal angle
hub :: InternalAngle -> [ExternalAngle]
hub pq =
  -- List comprehension
  [ (sm, shift k sp) | k <- [0, b .. (q - p - 1) * b] ] ++
  [ (sp, shift k sp) | k <- [(q - p) * b, (q - p + 1) * b .. (q - 1) * b] ]
  where
    p = numerator pq
    q = denominator pq
    -- compute tuple of wake angles = bulb, 
    -- sm=s- < sp=s+ 
    (([], sm), ([], sp)) = bulb pq -- preperiod is 0 so empty list :  pre = []
    (ab, cd) = parents pq -- Farey parents
    b = denominator ab
    shift k = genericTake q . genericDrop k . cycle  -- shift map

main :: IO ()
main = do
  -- read the input 
  [sp, sq] <- getArgs
  p <- readIO sp
  q <- readIO sq
  -- compute
  let pq = p % q
      (lo, hi) = bulb pq
      hs = hub pq
  -- output the results    
  putStrLn $ "internal angle p/q = " ++ sp ++ " / " ++ sq 
  putStrLn $ "internal angle in lowest terms = "
  print pq
  putStrLn $ "rays of the bulb:"
  putStrLn $ pretty lo ++ " = " ++ show (rational lo)
  putStrLn $ pretty hi ++ " = " ++ show (rational hi)
  putStrLn $ ""
  putStrLn $ "rays of the principle hub:"
  forM_ hs $ \h -> putStrLn $ pretty h  ++ " = " ++ show (rational h)

Save it as a bh.hs and use it from console in an interactive way :

ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
Prelude> :l bh.hs
[1 of 1] Compiling Main             ( bh.hs, interpreted )
Ok, modules loaded: Main.

*Main> :main 1 2
bulb:
p01 = 1 % 3
p10 = 2 % 3

hub:
01p10 = 5 % 12
10p01 = 7 % 12


*Main> :main 1 3
bulb:
p001 = 1 % 7
p010 = 2 % 7

hub:
001p010 = 9 % 56
001p100 = 11 % 56
010p001 = 15 % 56

*Main> :main 1 4
bulb:
p0001 = 1 % 15
p0010 = 2 % 15

hub:
0001p0010 = 17 % 240
0001p0100 = 19 % 240
0001p1000 = 23 % 240
0010p0001 = 31 % 240

:main 1 5
bulb:
p00001 = 1 % 31
p00010 = 2 % 31

hub:
00001p00010 = 33 % 992
00001p00100 = 35 % 992
00001p01000 = 39 % 992
00001p10000 = 47 % 992
00010p00001 = 63 % 992

*Main> :main 1 6
bulb:
p000001 = 1 % 63
p000010 = 2 % 63

hub:
000001p000010 = 65 % 4032
000001p000100 = 67 % 4032
000001p001000 = 71 % 4032
000001p010000 = 79 % 4032
000001p100000 = 95 % 4032
000010p000001 = 127 % 4032

*Main> :main 1 7
bulb:
p0000001 = 1 % 127
p0000010 = 2 % 127

hub:
0000001p0000010 = 129 % 16256
0000001p0000100 = 131 % 16256
0000001p0001000 = 135 % 16256
0000001p0010000 = 143 % 16256
0000001p0100000 = 159 % 16256
0000001p1000000 = 191 % 16256
0000010p0000001 = 255 % 16256

*Main> :main 1 8
bulb:
p00000001 = 1 % 255
p00000010 = 2 % 255

hub:
00000001p00000010 = 257 % 65280
00000001p00000100 = 259 % 65280
00000001p00001000 = 263 % 65280
00000001p00010000 = 271 % 65280
00000001p00100000 = 287 % 65280
00000001p01000000 = 319 % 65280
00000001p10000000 = 383 % 65280
00000010p00000001 = 511 % 65280


*Main> :main 1 9
bulb:
p000000001 = 1 % 511
p000000010 = 2 % 511

hub:
000000001p000000010 = 513 % 261632
000000001p000000100 = 515 % 261632
000000001p000001000 = 519 % 261632
000000001p000010000 = 527 % 261632
000000001p000100000 = 543 % 261632
000000001p001000000 = 575 % 261632
000000001p010000000 = 639 % 261632
000000001p100000000 = 767 % 261632
000000010p000000001 = 1023 % 261632


*Main> :main 1 10
bulb:
p0000000001 = 1 % 1023
p0000000010 = 2 % 1023

hub:
0000000001p0000000010 = 1025 % 1047552
0000000001p0000000100 = 1027 % 1047552
0000000001p0000001000 = 1031 % 1047552
0000000001p0000010000 = 1039 % 1047552
0000000001p0000100000 = 1055 % 1047552
0000000001p0001000000 = 1087 % 1047552
0000000001p0010000000 = 1151 % 1047552
0000000001p0100000000 = 1279 % 1047552
0000000001p1000000000 = 1535 % 1047552
0000000010p0000000001 = 2047 % 1047552

*Main> :main 1 5
bulb:
p00001 = 1 % 31
p00010 = 2 % 31

hub:
00001p00010 = 33 % 992
00001p00100 = 35 % 992
00001p01000 = 39 % 992
00001p10000 = 47 % 992
00010p00001 = 63 % 992

*Main> :main 3 5
bulb:
p10101 = 21 % 31
p10110 = 22 % 31

hub:
10101p10110 = 673 % 992
10101p11010 = 677 % 992
10110p01011 = 693 % 992
10110p01101 = 695 % 992
10110p10101 = 703 % 992
*Main>  :main 4 5
bulb:
p11101 = 29 % 31
p11110 = 30 % 31

hub:
11101p11110 = 929 % 992
11110p01111 = 945 % 992
11110p10111 = 953 % 992
11110p11011 = 957 % 992
11110p11101 = 959 % 992
*Main>


*Main> :main 1  7
bulb:
p0000001 = 1 % 127
p0000010 = 2 % 127

hub:
0000001p0000010 = 129 % 16256
0000001p0000100 = 131 % 16256
0000001p0001000 = 135 % 16256
0000001p0010000 = 143 % 16256
0000001p0100000 = 159 % 16256
0000001p1000000 = 191 % 16256
0000010p0000001 = 255 % 16256


*Main> :main 2  7
bulb:
p0010001 = 17 % 127
p0010010 = 18 % 127

hub:
0010001p0010010 = 2177 % 16256
0010001p0100010 = 2193 % 16256
0010001p0100100 = 2195 % 16256
0010001p1000100 = 2227 % 16256
0010001p1001000 = 2231 % 16256
0010010p0001001 = 2295 % 16256
0010010p0010001 = 2303 % 16256

*Main> :main 4  7
bulb:
p1010101 = 85 % 127
p1010110 = 86 % 127

hub:
1010101p1010110 = 10881 % 16256
1010101p1011010 = 10885 % 16256
1010101p1101010 = 10901 % 16256
1010110p0101011 = 10965 % 16256
1010110p0101101 = 10967 % 16256
1010110p0110101 = 10975 % 16256
1010110p1010101 = 11007 % 16256

*Main> :main 5  7
bulb:
p1101101 = 109 % 127
p1101110 = 110 % 127

hub:
1101101p1101110 = 13953 % 16256
1101101p1110110 = 13961 % 16256
1101110p0110111 = 14025 % 16256
1101110p0111011 = 14029 % 16256
1101110p1011011 = 14061 % 16256
1101110p1011101 = 14063 % 16256
1101110p1101101 = 14079 % 16256


*Main> :main 6  7
bulb:
p1111101 = 125 % 127
p1111110 = 126 % 127

hub:
1111101p1111110 = 16001 % 16256
1111110p0111111 = 16065 % 16256
1111110p1011111 = 16097 % 16256
1111110p1101111 = 16113 % 16256
1111110p1110111 = 16121 % 16256
1111110p1111011 = 16125 % 16256
1111110p1111101 = 16127 % 16256
*Main>

 :main 1 65
bulb:
p00000000000000000000000000000000000000000000000000000000000000001 = 1 % 36893488147419103231
p00000000000000000000000000000000000000000000000000000000000000010 = 2 % 36893488147419103231

hub:
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000000000010 = 36893488147419103233 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000000000100 = 36893488147419103235 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000000001000 = 36893488147419103239 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000000010000 = 36893488147419103247 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000000100000 = 36893488147419103263 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000001000000 = 36893488147419103295 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000010000000 = 36893488147419103359 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000000100000000 = 36893488147419103487 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000001000000000 = 36893488147419103743 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000010000000000 = 36893488147419104255 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000000100000000000 = 36893488147419105279 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000001000000000000 = 36893488147419107327 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000010000000000000 = 36893488147419111423 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000000100000000000000 = 36893488147419119615 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000001000000000000000 = 36893488147419135999 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000010000000000000000 = 36893488147419168767 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000000100000000000000000 = 36893488147419234303 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000001000000000000000000 = 36893488147419365375 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000010000000000000000000 = 36893488147419627519 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000000100000000000000000000 = 36893488147420151807 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000001000000000000000000000 = 36893488147421200383 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000010000000000000000000000 = 36893488147423297535 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000000100000000000000000000000 = 36893488147427491839 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000001000000000000000000000000 = 36893488147435880447 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000010000000000000000000000000 = 36893488147452657663 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000000100000000000000000000000000 = 36893488147486212095 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000001000000000000000000000000000 = 36893488147553320959 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000010000000000000000000000000000 = 36893488147687538687 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000000100000000000000000000000000000 = 36893488147955974143 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000001000000000000000000000000000000 = 36893488148492845055 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000010000000000000000000000000000000 = 36893488149566586879 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000000100000000000000000000000000000000 = 36893488151714070527 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000001000000000000000000000000000000000 = 36893488156009037823 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000010000000000000000000000000000000000 = 36893488164598972415 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000000100000000000000000000000000000000000 = 36893488181778841599 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000001000000000000000000000000000000000000 = 36893488216138579967 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000010000000000000000000000000000000000000 = 36893488284858056703 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000000100000000000000000000000000000000000000 = 36893488422297010175 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000001000000000000000000000000000000000000000 = 36893488697174917119 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000010000000000000000000000000000000000000000 = 36893489246930731007 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000000100000000000000000000000000000000000000000 = 36893490346442358783 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000001000000000000000000000000000000000000000000 = 36893492545465614335 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000010000000000000000000000000000000000000000000 = 36893496943512125439 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000000100000000000000000000000000000000000000000000 = 36893505739605147647 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000001000000000000000000000000000000000000000000000 = 36893523331791192063 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000010000000000000000000000000000000000000000000000 = 36893558516163280895 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000000100000000000000000000000000000000000000000000000 = 36893628884907458559 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000001000000000000000000000000000000000000000000000000 = 36893769622395813887 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000010000000000000000000000000000000000000000000000000 = 36894051097372524543 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000000100000000000000000000000000000000000000000000000000 = 36894614047325945855 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000001000000000000000000000000000000000000000000000000000 = 36895739947232788479 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000010000000000000000000000000000000000000000000000000000 = 36897991747046473727 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000000100000000000000000000000000000000000000000000000000000 = 36902495346673844223 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000001000000000000000000000000000000000000000000000000000000 = 36911502545928585215 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000010000000000000000000000000000000000000000000000000000000 = 36929516944438067199 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000000100000000000000000000000000000000000000000000000000000000 = 36965545741457031167 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000001000000000000000000000000000000000000000000000000000000000 = 37037603335494959103 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000010000000000000000000000000000000000000000000000000000000000 = 37181718523570814975 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00000100000000000000000000000000000000000000000000000000000000000 = 37469948899722526719 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00001000000000000000000000000000000000000000000000000000000000000 = 38046409652025950207 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00010000000000000000000000000000000000000000000000000000000000000 = 39199331156632797183 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p00100000000000000000000000000000000000000000000000000000000000000 = 41505174165846491135 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p01000000000000000000000000000000000000000000000000000000000000000 = 46116860184273879039 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000001p10000000000000000000000000000000000000000000000000000000000000000 = 55340232221128654847 % 1361129467683753853816604941579653742592
00000000000000000000000000000000000000000000000000000000000000010p00000000000000000000000000000000000000000000000000000000000000001 = 73786976294838206463 % 1361129467683753853816604941579653742592
*Main>

Compare with[edit | edit source]


References[edit | edit source]

  1. wikipedia : Misiurewicz point
  2. wikipedia : Misiurewicz point
  3. Operating with External Arguments of Douady and Hubbard by G. Pastor, M. Romera, G. Alvarez, J. Nunez, D. Arroyo, and F. Montoya
  4. Geometry of the Antennas in the Mandelbrot Set by RL Devaney and M Moreno-Rocha
  5. EXTENSIONS OF HOMEOMORPHISMS BETWEEN LIMBS OF THE MANDELBROT SET BODIL BRANNER AND NURIA FAGELLA
  6. Geometry of the Antennas in the Mandelbrot Set (2000) by R. L. Devaney , M. Moreno-rocha
  7. Navigating by spokes in the Mandelbrot set by Claude Heiland-Allen
  8. finding_parents_in_the_farey_tree by Claude Heiland-Allen

See also[edit | edit source]