# m-describe

A program to automatically describe Mandelbrot set locations.

# 1 Hyperbolic Components

Hyperbolic components are the cardioid-like and disk-like shapes. Each of these “atoms” has a “nucleus” at its center, which is strictly periodic (after \(p\) iterations starting from \(0\) it gets back to \(0\)).

Each component has a size and orientation which can be calculated numerically given the center and period. Local atom coordinate can be calculated, they have magnitude 1 at the boundary of the component.

Each component is surrounded by an atom domain within which the iterations reach a new minimum at iteration number \(p\). Local atom domain coordinates can be calculated, they have magnitude 1 at the boundary of the domain. The size of the atom domain can be estimated.

# 2 Misiurewicz Points

Misiurewicz points are the centers of spirals and tips. They are strictly pre-periodic (after \(q\) iterations starting from \(0\), it repeats every additional \(p\) iterations).

Each Misiurewicz point has a multiplier which is related to the shape of the spiral.

Each Misiurewicz point is surrounded by a Misiurewicz domain within which the iterations are influenced by the Misiurewicz point. Local Misiurewicz domain coordinates can be calculated, they have magnitude 1 at the boundary of the domain. The size of the Misiurewicz domain can be estimated.

# 3 External Angles

Rational angles measured in turns correspond to external rays landing on (pre)periodic points of the Mandelbrot set. They are conveniently expressed in binary.

They are expensive to calculate so are only shown for low periods.

# 4 Usage

m-describe precision maxperiod maxiters re im [ppperiod ...]
  • precision: the number of bits to use for \(c\)
  • maxperiod: the maximum (pre)period to consider
  • maxiters: the maximum iteration count to consider
  • re, im: the coordinates of \(c\)
  • ppperiod: a possibly empty list of periods of Misiurewicz points to consider

# 5 Bugs

  • no way to force calculation of deep external angles if so desired
  • Misiurewicz points are only calculated for shallow depths (due to using orbit structures based on double precision)
  • output is hard to parse programmatically (better would be to output m-perturbator-gtk parameters and have a converter from that to human-friendly text)

# 6 Example

Using a location inspired by Olbaid-ST’s Deep Mandelbrot Set 052:

$ m-describe 500 10000 100000 \
4.0243740663687506686349081347095971380324381796312098357350797449341544850002707515101493549323254350822554132467297577406826786498627645430708023384339183695760724680078503042069514064070521638596836009025044795704767276259425892328329909712841051456171292989594823614584891421442775087875358790106842413539087124102620332984528096350858097516212101308170805060977898694689089020108291092763528138377334070495186464709998280810308715383876381416845030306994395269250468571545204056890192316317241273555192774246428247170462152750382326191975843272713412093777265167083402457907173991169783894733534983411150426828014261573003993599225584667479050994132331181124257668460240548732794417364932670680868884011962125064601687152817971292139021882208159959349451093591387895375109404826748002304205107432012047552213679317158141493952019717690562051030815099944243694696592157940278618844600506307865432077640071845999706671513058222341652617628226345874376346595456807715650249216376752269241511411930742001723005817525301606816154355954153098218118789850554581875904425182377824804509819414292215510661604040395632544356635277117343476481294802792136242e-01 \
3.4183779921922478807186828969752819226770234636084858673850706372489020727204940152394159008174848092471443787339121912877709703688488958784815362543087806396747038897094297202358272577444188513582805703068698620535046901656035674035624660013263211317544722515943615621028094024671937113660585731477872978586143510090595026837338099361250764416328866041424412715288903991690968247867610083259598666780404510438064815389857486937054036568264306635859610102447359273222269561004512014325370274225408768850117825563929076355221454015368233062085297559239215193336243247947786550490312986368112989337995378414137892259917695467628842749916926794402397672454321325947625087917250783709528216688631379564948250224026048758245520306056387169607790469798439064125370636249991958149710071016761999745374960101931849020026288806482985749851222468005570023427046293214557223751421907126347671670002585361442054821931945576492590926533792035134879635905297836231016547338645729347269254503431218243592348565763614907985087368384744609597132666214690267763959842980753711215617996854796057290603088034689768204294929602508508273518080550999505912731444857220225061e-01 \
1
the input point was 4.0243740663687506686349081347095971380324381796312098357350797449341544850002707515101493549323254350822554132467297577406826786498627645430708023384339e-01 + 3.4183779921922478807186828969752819226770234636084858673850706372489020727204940152394159008174848092471443787339121912877709703688488958784815362543088e-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.40244 + 0.34184 i
  the atom coordinates in polar form are 0.52802 to the north-east
  the nucleus is 5.28024e-01 to the south-west of the input point

- a period 5 circle
  with nucleus at 3.7951374e-01 + 3.3493233e-01 i
  the component has size 4.73645e-02 and is pointing east-north-east
  the atom domain has size 8.37849e-02
  the atom domain coordinates of the input point are -0.24361 + -0.22024 i
  the atom domain coordinates in polar form are 0.32841 to the south-west
  the atom coordinates of the input point are -0.50446 + -0.031861 i
  the atom coordinates in polar form are 0.50547 to the west
  the nucleus is 2.39413e-02 to the west-south-west of the input point
  external angles of this component are:
  .(00001)
  .(00010)

- a period 10 circle
  with nucleus at 4.0851820e-01 + 3.4003806e-01 i
  the component has size 1.17014e-02 and is pointing east
  the atom domain has size 2.33061e-02
  the atom domain coordinates of the input point are 0.24569 + -0.10372 i
  the atom domain coordinates in polar form are 0.26669 to the east-south-east
  the atom coordinates of the input point are 0.49982 + -0.20948 i
  the atom coordinates in polar form are 0.54195 to the east-south-east
  the nucleus is 6.34152e-03 to the east-south-east of the input point
  external angles of this component are:
  .(0000100010)
  .(0001000001)

- a period 366 cardioid
  with nucleus at 4.02437406636875066863490796805746116e-01 + 3.41837799219224788071868286444707750e-01 i
  the component has size 3.75098e-30 and is pointing south-west
  the atom domain has size 2.26862e-17
  the atom domain coordinates of the input point are 3.6977e-10 + -6.5074e-10 i
  the atom domain coordinates in polar form are 7.4846e-10 to the south-south-east
  the atom coordinates of the input point are 3395.3 + -2993.9 i
  the atom coordinates in polar form are 4526.7 to the south-east
  the nucleus is 1.69797e-26 to the west of the input point

- a period 1092 cardioid
  with nucleus at 4.02437406636875066863490813470959713803243812766752361907e-01 + 3.41837799219224788071868289697528192267702346881439608130e-01 i
  the component has size 4.98290e-51 and is pointing south-south-west
  the atom domain has size 6.18843e-37
  the atom domain coordinates of the input point are -7.9395e-09 + 2.8601e-09 i
  the atom domain coordinates in polar form are 8.4389e-09 to the west-north-west
  the atom coordinates of the input point are 4.5506e+05 + -9.4412e+05 i
  the atom coordinates in polar form are 1.0481e+06 to the south-south-east
  the nucleus is 5.22238e-45 to the west of the input point

- a period 3512 cardioid
  with nucleus at 4.024374066368750668634908134709597138032438179631209835735079744934154485000270751510149354932325243302468290733086119e-01 + 3.418377992192247880718682896975281922677023463608485867385070637248902072720494015239415900817484811588161107419668447e-01 i
  the component has size 2.23284e-112 and is pointing north-north-west
  the atom domain has size 1.10549e-75
  the atom domain coordinates of the input point are -6.9982e-24 + -1.5875e-23 i
  the atom domain coordinates in polar form are 1.7349e-23 to the south-south-west
  the atom coordinates of the input point are 3.8818e+13 + 7.6625e+13 i
  the atom coordinates in polar form are 8.5897e+13 to the north-north-east
  the nucleus is 1.91794e-98 to the west of the input point
the point escaped with dwell 21905.75639

nearby Misiurewicz points to the input point:

- 141p1
  with center at 4.0243925949534396006509e-01 + 3.4183348912402132572910e-01 i
  the Misiurewicz domain has size 3.48611e-05
  the Misiurewicz domain coordinate radius is 0.13808
  the center is 4.69148e-06 to the south-south-east of the input point
  the multiplier has radius 1.029841382409056871e+00 and angle 0.204594579220551631 (in turns)

- 182p1
  with center at 4.024374181484419131097728e-01 + 3.418377766889058461432212e-01 i
  the Misiurewicz domain has size 3.74500e-08
  the Misiurewicz domain coordinate radius is 0.67898
  the center is 2.53008e-08 to the south-south-east of the input point
  the multiplier has radius 1.045680217979079840e+00 and angle 0.203056192938225688 (in turns)

- 228p1
  with center at 4.02437406710970129957003331e-01 + 3.41837799103035218552660747e-01 i
  the Misiurewicz domain has size 1.38494e-10
  the Misiurewicz domain coordinate radius is 1
  the center is 1.37805e-10 to the south-south-east of the input point
  the multiplier has radius 1.045680114697290719e+00 and angle 0.203056201695327121 (in turns)

- 274p1
  with center at 4.0243740663733737772365189460e-01 + 3.4183779921863294279149417813e-01 i
  the Misiurewicz domain has size 7.54355e-13
  the Misiurewicz domain coordinate radius is 1.0006
  the center is 7.51007e-13 to the south-east of the input point
  the multiplier has radius 1.045662246168962861e+00 and angle 0.203058077262370823 (in turns)

- 320p1
  with center at 4.0243740663687810530046334376801e-01 + 3.4183779921922147988557518921382e-01 i
  the Misiurewicz domain has size 4.10887e-15
  the Misiurewicz domain coordinate radius is 1.1007
  the center is 4.49179e-15 to the south-east of the input point
  the multiplier has radius 1.042600520123719843e+00 and angle 0.203448680313569830 (in turns)

- 3282p1
  with center at 4.024374066368750668634908134709597138032438179421752942360731505e-01 + 3.418377992192247880718682896975281922677023463323950739208442333e-01 i
  the Misiurewicz domain has size 3.46762e-47
  the Misiurewicz domain coordinate radius is 1.0153
  the center is 3.53316e-47 to the south-west of the input point
  the multiplier has radius 1.045680218568957986e+00 and angle 0.203056192898907972 (in turns)

- 3328p1
  with center at 4.02437406636875066863490813470959713803243817963020204969243287537e-01 + 3.41837799219224788071868289697528192267702346360681445571267999413e-01 i
  the Misiurewicz domain has size 1.94235e-49
  the Misiurewicz domain coordinate radius is 1.0153
  the center is 1.95173e-49 to the south-south-west of the input point
  the multiplier has radius 1.045680217979079840e+00 and angle 0.203056192938225688 (in turns)

- 3374p1
  with center at 4.0243740663687506686349081347095971380324381796312052389968280659803e-01 + 3.4183779921922478807186828969752819226770234636084762808055367852984e-01 i
  the Misiurewicz domain has size 1.05814e-51
  the Misiurewicz domain coordinate radius is 1.0153
  the center is 1.06317e-51 to the south-south-west of the input point
  the multiplier has radius 1.045680114697290719e+00 and angle 0.203056201695327121 (in turns)

- 3420p1
  with center at 4.024374066368750668634908134709597138032438179631209815776808658544966e-01 + 3.418377992192247880718682896975281922677023463608485812990450128805340e-01 i
  the Misiurewicz domain has size 5.76353e-54
  the Misiurewicz domain coordinate radius is 1.0159
  the center is 5.79405e-54 to the south-south-west of the input point
  the multiplier has radius 1.045662246168962417e+00 and angle 0.203058077262370740 (in turns)

- 3466p1
  with center at 4.024374066368750668634908134709597138032438179631209835642019499445428759e-01 + 3.418377992192247880718682896975281922677023463608485867051255818895798595e-01 i
  the Misiurewicz domain has size 3.13932e-56
  the Misiurewicz domain coordinate radius is 1.1176
  the center is 3.46544e-56 to the south-south-west of the input point
  the multiplier has radius 1.042600520123571961e+00 and angle 0.203448680313557950 (in turns)

With higher precision, more hyperbolic components are found, all the way to the final central mini, but that’s all the Misiurewicz points that get reported (see bugs list).