# Disambiguation

Exponential mapping of the plane is:

Exponential mapping of the plane is not

• the Julia set or Mandelbrot set of the exponential function ( exponentia map), like Exponential Mandelbrot z := exp(z) + c
• Logarithmic scale on one axis[1]
• Logarithmic scale on both axes: Log-log scale plot[2]
• polar azimuthal equidistant projection ( Exponential map in Riemannian geometry)[3]
• The exponential operator, anamorphosis operator which can be applied to grayscale images.[4]

Compare exponential function by different input

• single number ( 0D space) gives natural exponent of the number
• number line ( 1D space). Exponential scale is not used. Logarithmic scale is used for exponential data. It gives a linear function.[5]
• plane ( 2D space) gives exponential mapping

## number

In mathematics, the logarithm is the inverse function to exponentiation. That means the logarithm of a number x to the base b is the exponent to which b must be raised, to produce x

${\displaystyle y=\log _{b}x}$

is equivalent to

${\displaystyle x=b^{y}}$

if b is a positive real number. (If b is not a positive real number, both exponentiation and logarithm can be defined but may take several values, which makes definitions much more complicated.)[6]

The real exponential function is a bijection from ${\displaystyle \mathbb {R} }$ to ${\displaystyle (0;\infty )}$.[7] Its inverse function is the natural logarithm, denoted ${\displaystyle \ln ,\log ,\log _{e};}$ because of this, some old texts refer to the exponential function as the antilogarithm.

## scale

A logarithmic scale (or log scale) is a way of displaying numerical data over a very wide range of values in a compact way—typically the largest numbers in the data are hundreds or even thousands of times larger than the smallest numbers. Such a scale is nonlinear: the numbers 10 and 20, and 60 and 70, are not the same distance apart on a log scale. Rather, the numbers 10 and 100, and 60 and 600 are equally spaced. Thus moving a unit of distance along the scale means the number has been multiplied by 10 (or some other fixed factor). Often exponential growth curves are displayed on a log scale, otherwise they would increase too quickly to fit within a small graph. Another way to think about it is that the number of digits of the data grows at a constant rate. For example, the numbers 10, 100, 1000, and 10000 are equally spaced on a log scale, because their numbers of digits is going up by 1 each time: 2, 3, 4, and 5 digits. In this way, adding two digits multiplies the quantity measured on the log scale by a factor of 100.

Logarithmic scale

• on 1 axis = semi-log plot[8]
• linear-log plot
• log-linear plot
• on both axes = log-log plot[9]

Logarithmic scale is used for exponential data. It gives a linear function.[10][11]

## mapping

exp(x + i · y) = exp(x) · exp(i · y) = exp(x) · cos(y) + i · exp(x) · sin(y)


3D 2D description

### period

The exponential function is periodic:

exp(z + 2 π * i) = exp(z).



The periodicity is also clear from the formula:

exp(x + i * y) = exp(x) * (cos(y) + i * sin(y)) .


The graph of the exponential function is a two-dimensional surface ( x,y) that curves through four dimensions ( x,y,v,w).

# Name

• exponential mapping[14]
• the exponential map[15][16][17]
• Mercator ( it is not good name because here is only mapping from flat complex plane ( 2D Cartesian plane) to exponential plane. Here there is no mapping from sphere to flat complex plane ( Cartesian plane)[18] )
• polar projection
• log-polar mapping ( Log-polar coordinates )
• logarithmic [23]
• logarithmic projection around a point c0: z-> (log(|z-c0|)
• log(z)-Mandelbrot-Zooms[24] = side scrolling ( side scrolling fractal zoom )[25][26][27]

General names:

• graphical projection
• geometric transformation

# Description

  Math notation ${\displaystyle map:\mathbb {C} \to \mathbb {C} }$ ${\displaystyle c_{e}\leftarrow e^{c}+c_{0}}$ // c with complex type complex double map(complex double c) { return c_e = cexp(c) + c0; }  // c without complex type cx_e = exp(creal(c)) * cos(cimag(c)) + realpart(c0); // real part of c_e cy_e = exp(creal(c)) * sin(cimag(c)) + imagpart(c0); // imag part of c_e 

## Features

Maps

• Rectangle of Cartesian plane to quadratic sectors of polar coordinate,
• x is mapped to radius, and y to angle ( radians)[28]

• horizontal
• vertical
• vertical coordinate are periodic of period ${\displaystyle 2\pi }$, because they use trigonometric functions

Examples:

• sequence of root points for periods ${\displaystyle p=1*2^{n}}$ ( period doubling cascade) and the limit point of the sequence is the Myrberg-Feigenbaum point ${\displaystyle \mathbf {MF} _{1/2}=c_{0}=-1.401155...}$
• sequence of root points for periods ${\displaystyle p=1*3^{n}}$ and the limit point of the sequence is the Myrberg-Feigenbaum point ${\displaystyle \mathbf {MF} =c_{0}=-1.7864402555636388747...}$

## Informal description

• The exponential mapping transforms the entire complex plane into a strip that has unlimited length along the real axis, and a width of 2π along the imaginary axis. Exponential Map from the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2022
• " The idea is to focus on a point in or near the Mandelbrot set, and create an image where one direction is the logarithm of the distance and the other one the angle. The result is very much like the astro-ph/031571 map[29] and theXKCD cartoon versions.[30] This map projection is conformal, so it does not distort local angles, and objects are usually recognizable on all scales." Anders Sandberg[31]
• Images of the Mandelbrot set with a logarithmic projection around a point c0: z-> (log(|z-c0|), arg(z-c0)). Anders Sandberg [32]
• "it is a log map toward the target point (or, as some might say, a Mercator projection with the target point as South pole and complex ∞ as North pole); horizontally it is periodic and I have placed two periods side to side, whereas vertically it extends to infinity at the top and at the bottom, which corresponds to zooming infinitely far out or in, at a factor of exp(2π)≈535.5 for every size of a horizontal period. Horizontal lines (“parallels”) on the log map correspond to concentric circles around the target point, and vertical lines to radii emanating from it; and the anamorphosis preserves angles." David Madore [33]
• "The coordinate system is such that the angular component goes to the y-axis, and the radius goes to the x-axis of the resulting image. In addition, the x-axis (radius) is normalized with exp-function so that angles are preserved in this mapping. " Mika Seppä[34]
• log : "To illustrate the complexity of the boundary of the Mandelbrot set, Figure 8 renders the image of dM under the transformation log(z - c) for a certain c in the boudary of Mandelbrot set. Note the cusp on the main cardioid in the upper right; looking to the left in the figure corresponds to zooming in towards the point c. (Namely, c = -0.39054087... - 0.58678790i... the point on the boundary of the main cardioid corresponding to the golden mean Siegel disk.). Note the cusp on the main cardioid in the upper right; looking to the left in the figure corresponds to zooming in towards the point c. "[35]
• "Legendary side scrolling fractal zoom. 1 Month + (Interpolator+Video Editor) = Log(z). This means logarithmic projection for this location, that gives this interesting side-scrolling plane ^^)﻿"[36]
• " There are no program that can render this fractal on log(Z) plane. But you can make it in Ultra Fractal or in similar software with programmable distributive. Formula is:C = exp(D), for D - is your zoomable coordinates﻿" SeryZone X
• just c = c0 + cexp(x + i y) and x + i y = clog(c - c0), with scaling by 2pi/width (Claude)
• idea

## Formal mathematical description

Forward transformation

Here transformation is a composition of 2 transformations:

 ${\displaystyle c_{e}=t(f(c))}$

${\displaystyle c_{e}\leftarrow e^{c}+c_{0}}$

where:

• c is a parameter point from c plane ( flat image in Cartesian coordinate = linear scale on both axes). It is a a parameter of quadratic map ${\displaystyle z^{2}+c}$
• ${\displaystyle c_{e}}$ is a parameter in a new transformed plane ( log-polar image )
• ${\displaystyle c_{0}}$ is a constant parameter (for translation). It is sometimes called center, but better name seems to be: target or limit point
• e is Euler's number, is a mathematical constant approximately equal to 2.71828,

Inverse transformation:

${\displaystyle c=ln(c_{e}-c_{0})}$

where:

• ${\displaystyle ln}$ is natural logarithm

### exp

Complex exponential map

The complex exponential function is periodic with period 2πi and ${\displaystyle \exp(z+2\pi ik)=\exp z}$ holds for all ${\displaystyle z\in \mathbb {C} ,k\in \mathbb {Z} }$.

The exponential function maps any line in the complex plane to a logarithmic spiral in the complex plane with the center at the origin. Two special cases exist:

• when the original line is parallel to the real axis, the resulting spiral never closes in on itself;
• when the original line is parallel to the imaginary axis, the resulting spiral is a circle of some radius.

Considering the complex exponential function as a function involving four real variables:

${\displaystyle v+iw=\exp(x+iy)}$
the graph of the exponential function is a two-dimensional surface curving through four dimensions.

Starting with a color-coded portion of the ${\displaystyle xy}$ domain, the following are depictions of the graph as variously projected into two or three dimensions.

The second image shows how the domain complex plane is mapped into the range complex plane:

• zero is mapped to 1
• the real ${\displaystyle x}$ axis is mapped to the positive real ${\displaystyle v}$ axis
• the imaginary ${\displaystyle y}$ axis is wrapped around the unit circle at a constant angular rate
• values with negative real parts are mapped inside the unit circle
• values with positive real parts are mapped outside of the unit circle
• values with a constant real part are mapped to circles centered at zero
• values with a constant imaginary part are mapped to rays extending from zero

The third and fourth images show how the graph in the second image extends into one of the other two dimensions not shown in the second image.

The third image shows the graph extended along the real ${\displaystyle x}$ axis. It shows the graph is a surface of revolution about the ${\displaystyle x}$ axis of the graph of the real exponential function, producing a horn or funnel shape.

The fourth image shows the graph extended along the imaginary ${\displaystyle y}$ axis. It shows that the graph's surface for positive and negative ${\displaystyle y}$ values doesn't really meet along the negative real ${\displaystyle v}$ axis, but instead forms a spiral surface about the ${\displaystyle y}$ axis. Because its ${\displaystyle y}$ values have been extended to ±2π, this image also better depicts the 2π periodicity in the imaginary ${\displaystyle y}$ value.

### Log

Complex logarithm as a conformal map[37]

Since a branch of ${\displaystyle \log z}$ is holomorphic, and since its derivative ${\displaystyle \log z}$ is never 0, it defines a conformal map.

For example, the principal branch ${\displaystyle w=\operatorname {Log} z}$, viewed as a mapping from ${\displaystyle \mathbb {C} -\mathbb {R} _{\leq 0}}$ to the horizontal strip defined by ${\displaystyle \left|\operatorname {Im} z\right|<\pi }$, has the following properties, which are direct consequences of the formula in terms of polar form:

• Circles[38] in the z-plane centered at 0 are mapped to vertical segments in the w-plane connecting ${\displaystyle a-\pi i}$ to ${\displaystyle a+\pi i}$, where ${\displaystyle a}$ is the real log of the radius of the circle.
• Rays emanating from 0 in the z-plane are mapped to horizontal lines in the w-plane.

Each circle and ray in the z-plane as above meet at a right angle. Their images under Log are a vertical segment and a horizontal line (respectively) in the w-plane, and these too meet at a right angle. This is an illustration of the conformal property of Log.

## description for programmers

// https://code.mathr.co.uk/mandelbrot-graphics/blob/HEAD:/c/lib/m_d_transform.c
static void m_d_transform_exponential_forward(void *userdata, double _Complex *c, double _Complex *dc) {
m_d_transform_exponential_t *t = userdata;
double _Complex c0 = *c;
double _Complex dc0 = *dc;
*c = cexp(c0) + t->center;
*dc = dc0 * cexp(c0);
}

static void m_d_transform_exponential_reverse(void *userdata, double _Complex *c, double _Complex *dc) {
m_d_transform_exponential_t *t = userdata;
double _Complex c0 = *c;
double _Complex dc0 = *dc;
*c = clog(c0 - t->center);
*dc = dc0 / (c0 - t->center);
}


filter mercator (image in)
in(xy*xy:[cos(pi/2/Y*y),1])
end


Maxima CAS src code:

(%i1) kill(all);
(%i2) display2d:false;
(%i3) ratprint : false; /* remove "rat :replaced " */
(%i4) c:cx +cy*%i$(%i5) c0:c0x+c0y*%i$
(%i6) realpart(c0 + exp(c));
(%o6) %e^cx*cos(cy)+c0x
(%i7) imagpart(c0 + exp(c));
(%o7) %e^cx*sin(cy)+c0y
(%i8) cabs(c0 + exp(c));
(%o8) sqrt((%e^cx*sin(cy)+c0y)^2+(%e^cx*cos(cy)+c0x)^2)
(%i9) carg(c0 + exp(c));
(%o9) atan2(%e^cx*sin(cy)+c0y,%e^cx*cos(cy)+c0x)


Notes

• the mapping is periodic because there are trigonometric functions inside

(%i1) kill(all);
(%i2) display2d:false;
(%i3) ratprint : false; /* remove "rat :replaced " */
(%i4) ce:ceex+cey*%i;
(%i5) c0:c0x+c0y*%i;
(%i6) realpart(log(ce - c0));
(%o6) log((cey-c0y)^2+(ceex-c0x)^2)/2
(%i7) imagpart(log(ce - c0));
(%o7) atan2(cey-c0y,ceex-c0x)


// https://www.foerstemann.name/dokuwiki/doku.php?id=log_z_-mandelbrot-zooms
// log(z)-Mandelbrot-Zooms by
<languageVersion: 1.0;>
kernel zoomer
< namespace : "Zoomer"; vendor : "private"; version : 2; description : "zoomer 2"; >
{
const float PI = 3.14159265;
const float EU = 2.71828;
parameter float translate <
minValue:float(0);
maxValue:float(400.0);
defaultValue:float(0.0); >;
parameter float rotate <
minValue:float(0.0);
maxValue:float(960.0);
defaultValue:float(0.0); >;
input image4 iImage1;
input image4 iImage2;
input image4 iImage3;
input image4 iImage4;
output float4 outputColor;
void evaluatePixel()
{
float2 position = outCoord() - float2(479.5,199.5);
float2 tmp = outCoord();
tmp.y = abs(log(sqrt(pow(position.x,2.0) + pow(position.y,2.0))/510.0))*30.474;
tmp.x = mod((atan(position.x, position.y)/PI + 1.0)*480.0, 958.5) ;
position = tmp + float2(rotate,translate);
position.x = mod(position.x,958.5)+1.0;
if ( position.y < 398.5) {outputColor = sampleLinear( iImage1, position );}
else if ( position.y < 797.0) {outputColor = sampleLinear( iImage2, position - float2( 0.0 , 398.0 ));}
else if ( position.y < 1199.5) {outputColor = sampleLinear( iImage3, position - float2( 0.0 , 796.0 ));}
else {outputColor = sampleLinear( iImage4, position - float2( 0.0 , 1194.0 ) );}
}
}


### center

${\displaystyle c_{0}}$ is a constant parameter (for translation = offset).

It is sometimes called center, but better name seems to be:

• target
• limit point
• offset or translation

The target point ( center) is projected onto -∞+0i in the exponential-mapped view. It would be intinitely far to the left and it is not seen on the image.

### zoom

• the leftmost column of the image has the minimal zoom ( the biggest plane radius )
• the rightmost column of the image has the maximal zoom ( the smallet plane radius )

### exponential grid scan

Conventions:

• Robert Munafo generate the angle based on the horizontal pixel coordinate, and the radius from the vertical pixel coordinate ( image is in the vertical position , it is standing on the shorter dimension)
• the normal way is to have the angle come from the vertical pixel coordinate ( image is in the horizontal position , it is lying on the longer dimension)

The grid scan with exponential coordiante mapping is different then the standard scan for flat images.

for (int j = 0; j < h; ++j) { // vertical coordinate = number of the rows

double e_angle = ((double) j) * px / r * 3.14159265359;  // Robert's way:  angle from 0 to 2π.

for (int i = 0; i < w; ++i) { // horizontal coordinate = number of the columns

e_radius = ((double) i) * px / r * 3.14159265359;
.....
}


Description

• image_width is the maximal number of pixels = width of the image in pixels ( integer number)

Here:

• pixel coordinate j is going from 0 to image_height - 1
• so j/pixel_height goes from 0.0 to 1.0
• therfore angle goes from 0 to 2 pi

Claude's way is mathematically correct: the angle is usually thought of as going from -π to π, not from 0 to 2π. To fix this part, you can adjust your pixel coordinate right before computing an angle from it. Change this:

double e_angle = ((double) j) * px / r * 3.14159265359;


to this:

double e_angle = ((double) (j-h/2)) * px / r * 3.14159265359;


Notes

• e_radius is a linear function of i
• e_angle is a linear function of j

### computing pixel coordinate

Here is example by by Robert Munafo[39]

   /* Inputs are:
ctr_r is the real coordinate of the center of the view we want to plot
ctr_i is the imaginary coordinate of the center of the view

real_width is the width of the image (in real coordinates). this should reflect the width when "zoomed in" all the way

pixel_width is the number of pixels per row of the image we want to create
pixel_height is the number of rows of pixels, or pixels per column

This setup code computes:
px_spacing is the width of the image (in real coordinate)
divided by the number of pixels in a row
halfwidth is half the width of the image (in real coordinate)
halfheight is half the height of the image (in imaginary coordinate)
min_r is the real coordinate of the left edge of the image
max_i is the imaginary coordinate of the top of the image
*/
void setup()
{
px_spacing = real_width / pixel_width;
halfwidth = real_width / 2.0;
halfheight = halfwidth * pixel_height / pixel_width;
min_r = ctr_r - halfwidth;
max_i = ctr_i + halfheight;
}

/* Plot a single pixel, row i and column j. Use as many rows as you need
for the image to show the whole Mandelbrot set. */
void pixel_53(int i, int j, int itmax)
{
double cr, ci, offset_r, offset_i, angle, log_radius;

/* compute angle and radius. Note that pixel_width is the number of
pixels wide of the image, and j goes from 0 to pixel_width-1. This
means that "j/pixel_width" goes from 0.0 to 1.0, and therefore
angle goes from 0 to 2 pi. log_radius needs to be computed the
same way in order for shapes to be preserved, which happens because
the complex exponential function is a conformal map.
Important: the row coordinate i can be as big as you want: add as many
rows of pixels as are needed for the "log_radius" to get close to 1.
This ensures that exp(log_radius) gets big enough to go beyond the
area that has the Mandelbrot set in it. */
angle =      (((double) j) / pixel_width) * 2.0 * 3.14159265359;
log_radius = (((double) i) / pixel_width) * 2.0 * 3.14159265359;

/* compute offsets = translation = add complex number offset */
offset_r = cos(angle) * halfwidth * exp(log_radius);
offset_i = sin(angle) * halfwidth * exp(log_radius);

ci = ctr_i + offset_i;
cr = ctr_r + offset_r;
evaluate_and_plot(cr, ci, itmax, i, j);
}


Compare with

### aspect ratio

• For best (more conformal) results use a wide aspect ratio (9:1 works well, window size 1152x128 or 1536x170).

### scale factor R

To minimize the total number of pixels that need calculating, which is proportional to[40]

${\displaystyle K={\frac {R^{2}-1}{logR}}}$


Define the efficiency of zoom by

${\displaystyle {\frac {2}{K}}}$



then:

• the traditional R=2 has an efficiency of only 46%,
• R=4/3 has 74%
• R=8/7 has 87% efficacy

where

• video image size is W×H

# Images

2 images with the same parmeter. In the upper image main antenna is on both sides, in the lower one in the center of the image

# How to read location from exponential image ?

Tips:

• the image is not symmetric ( up and down) so imaginary part of c0 is not zero

# Implementations

Fractal programs

Kalles Fractaler and zoomasm

• The rendering of the final video can be accelerated by computing exponentially spaced rings around the zoom center, before reprojecting to a sequence of flat images.
• kf-2.15 supports rendering EXR keyframes in exponential map form
• zoomasm can assemble above keyframes into a zoom video. zoomasm works from EXR, including raw iteration data, and colouring algorithms can be written in OpenGL shader source code fragments
• kf-extras by Claude Heiland-Allen - has the exponential map (aka log polar or mercator projection) convertor

OpenCV

ImageMagic

processing

sci-kit

Mathworks

## glsl

A typical shader looks like this ( code by Thorsten Förstemann):

// https://web.archive.org/web/20210715234846/https://www.foerstemann.name/dokuwiki/doku.php?id=log_z_-mandelbrot-zooms
<languageVersion: 1.0;>
kernel zoomer
< namespace : "Zoomer"; vendor : "private"; version : 2; description : "zoomer 2"; >
{
const float PI = 3.14159265;
const float EU = 2.71828;
parameter float translate <
minValue:float(0);
maxValue:float(400.0);
defaultValue:float(0.0); >;
parameter float rotate <
minValue:float(0.0);
maxValue:float(960.0);
defaultValue:float(0.0); >;
input image4 iImage1;
input image4 iImage2;
input image4 iImage3;
input image4 iImage4;
output float4 outputColor;
void evaluatePixel()
{
float2 position = outCoord() - float2(479.5,199.5);
float2 tmp = outCoord();
tmp.y = abs(log(sqrt(pow(position.x,2.0) + pow(position.y,2.0))/510.0))*30.474;
tmp.x = mod((atan(position.x, position.y)/PI + 1.0)*480.0, 958.5) ;
position = tmp + float2(rotate,translate);
position.x = mod(position.x,958.5)+1.0;
if ( position.y < 398.5) {outputColor = sampleLinear( iImage1, position );}
else if ( position.y < 797.0) {outputColor = sampleLinear( iImage2, position - float2( 0.0 , 398.0 ));}
else if ( position.y < 1199.5) {outputColor = sampleLinear( iImage3, position - float2( 0.0 , 796.0 ));}
else {outputColor = sampleLinear( iImage4, position - float2( 0.0 , 1194.0 ) );}
}
}


## Python

The images created in this way are also called:

• Exponential Maps
• Mercator-Mandelbrot Maps
• Mercator projection of the Riemann number ball.[42][43]

In the following program example, a logarithmic projection of the Mandelbrot set is calculated ,

The Mandelbrot set is calculated with NumPy using complex matrices. A logarithmic projection presented by David Madore and Anders Sandberg is used. This projection makes the calculation of zoom animations much easier

The logarithmic projection allows the creation of zoom animations of the Mandelbrot set to be extremely accelerated (see also the animation by Thorsten Förstemann and the coordinate analysis by Claude Heiland-Allen [44][45][46][47]

import numpy as np
import matplotlib.pyplot as plt

d, h = 200, 1000  # Pixeldichte (= Bildbreite) und Bildhöhe
n, r = 800, 5000  # Anzahl der Iterationen und Fluchtradius (r > 2)

x = np.linspace(0, 2, num=d+1)
y = np.linspace(0, 2 * h / d, num=h+1)

A, B = np.meshgrid(x * np.pi, y * np.pi)
C = 4.0 * np.exp((A + B * 1j) * 1j) + (- 1.748764520194788535 + 3e-13 * 1j)

Z, dZ = np.zeros_like(C), np.zeros_like(C)
D = np.zeros(C.shape)

for k in range(n):
M = Z.real ** 2 + Z.imag ** 2 < r ** 2
Z[M], dZ[M] = Z[M] ** 2 + C[M], 2 * Z[M] * dZ[M] + 1

N = abs(Z) > 2  # Distanzschätzung des Außenbereichs
D[N] = np.log(abs(Z[N])) * abs(Z[N]) / abs(dZ[N])

plt.imshow(D.T ** 0.05, cmap=plt.cm.nipy_spectral, origin="lower")
plt.savefig("Mercator_Mandelbrot_map.png", dpi=200)


When estimating the distance, the derivative ${\displaystyle dz_{n}=z_{n}\!'(c)}$ is also required.

The first polynomials are

• ${\displaystyle z_{0}=0}$
• ${\displaystyle z_{1}=c}$
• ${\displaystyle z_{2}=c^{2}+c}$
• ${\displaystyle z_{3}=(c^{2}+c)^{2}+c}$,

the corresponding derivatives are

• ${\displaystyle dz_{0}=0}$
• ${\displaystyle dz_{1}=1}$
• ${\displaystyle dz_{2}=2c+1}$
• ${\displaystyle dz_{3}=2(c^{2}+c)(2c+1)+1}$.

All other polynomials and derivatives result from the iteration rule ${\displaystyle z_{k+1}=z_{k}^{2}+c}$ and the derivation rule ${\displaystyle dz_{k+1}=2z_{k}dz_{k}+1}$.

To use the estimation formula

${\displaystyle \delta _{n}=\log(|z_{n}|)\cdot |z_{n}|/|dz_{n}|}$

you can use the simplified sequences ${\displaystyle z_{k+1}=z_{k}^{2}+0}$ and ${\displaystyle dz_{k+1}=2z_{k}dz_{k}+0}$ with the starting values

• ${\displaystyle z_{0}=c}$
• ${\displaystyle dz_{0}=1}$

can be considered.

The first polynomials are

• ${\displaystyle z_{0}=c}$
• ${\displaystyle z_{1}=c^{2}}$
• ${\displaystyle z_{2}=c^{4}}$
• ${\displaystyle z_{3}=c^{8}}$,

the corresponding derivatives are ${\displaystyle dz_{0}=1}$, ${\displaystyle dz_{1}=2c}$, ${\displaystyle dz_{2}=4c^{3}}$ and ${\displaystyle dz_{3}=8c^{7}}$.

In general, this is how you get the polynomial ${\displaystyle z_{n}=c^{2^{n}}}$ and the derivative ${\displaystyle dz_{n}=2^{n}c^{2^{n}-1}}$.

The associated Julia set is exactly the edge of the unit circle (cf. the Example on the dynamics of f(z) = z² in the article on Julia -Quantity, the short justification in van den Doel or the comprehensive analysis in Dang, Kauffman and Sandin).[48][49]

The estimation formula results in

${\displaystyle \delta _{n}=\log(|c|^{2^{n}})\cdot |c|^{2^{n}}/(2^{n}|c|^{2^{n}-1})=\ln(|c|)\cdot |c|}$

which is a good approximation for the distance to the unit circle when the point ${\displaystyle c}$ is close to the edge:

${\displaystyle |c|=1{,}1}$

gives

${\displaystyle \delta _{n}=\ln(1{,}1)\cdot 1{,}1\approx 0{,}1}$

and

${\displaystyle |c|=1{,}01}$ gives ${\displaystyle \delta _{n}=\ln(1{,}01)\cdot 1{,}01\approx 0{,}01}$.

So if the real distance to the Mandelbrot set is ${\displaystyle \delta }$, the estimation formula gives the value

${\displaystyle \delta _{n}=\log(|z_{n}|)\cdot |z_{n}|/|dz_{n}|\approx \ln(1+\delta )\cdot (1+\delta )\approx \delta }$.

However, it is not true that the limit ${\displaystyle \lim _{n\to \infty }\delta _{n}}$ converges to the real distance ${\displaystyle \delta }$; in fact, only weaker inequalities apply. You will often find a factor ${\displaystyle 2}$ or ${\displaystyle 0{.}5}$ in the estimation formula, depending on whether the distances are overestimated or underestimated.[50] [51]

# References

1. Logarithmic_scale in wikipedia
2. matlab ref: loglog plot
3. Exponential_map_(Riemannian_geometry)
4. Exponential/`Raise to Power' Operator by R. Fisher, S. Perkins, A. Walker and E. Wolfart ( 2003)
5. exponential-data-and-logarithmic-scales by Stephen Redmond
6. 24 Views of the Complex Exponential Function by Pacific Tech
7. Meier, John; Smith, Derek (7 August 2017). Exploring Mathematics. Cambridge University Press. p. 167. ISBN 978-1-107-12898-9.
8. semi-log plot in wikipedia
9. Log–log plot in wikipedia
10. exponential-data-and-logarithmic-scales by Stephen Redmond
11. Log-Scale Reading Posted July 17, 2015 by Scott
12. wolfram Exp visualizations
13. scientificlib : Biholomorphism
14. Conformal mapping with the complex exponential function
15. Exponential mapping with Kalles Fraktaler by Claude Heiland-Allen
16. exponential map Robert P. Munafo, 2010 Dec 5. From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2022.
17. Complex exponential map by Siamak
18. Transverse_Mercator_projection in wikipedia
19. kf-extras for manipulating output from Kalles Fraktaler 2
20. The Mercator Projection by John J. G. Savard
21. The Mercator Redemption by Sébastien Pérez-Duarte and David Swart
22. flickr : Mercator Mandelbrot Maps by Anders Sandberg
23. log(z)-Mandelbrot-Zooms by Thorsten Forstemann
24. youtube video : Mandelbrot deep zoom to 2^142 or 5.5*10^42. Log(z) by SeryZone X
25. Mandelbrot Zoom 333 - log(z)(Sery's Edition) by SeryZone Arts
26. Mandelbrot Mercator Testing by Fractal MathPro
27. Complex exponential map by Siamak
28. A Map of the Universe by J. Richard Gott III, Mario Jurić, David Schlegel, Fiona Hoyle, Michael Vogeley, Max Tegmark, Neta Bahcall, Jon Brinkmann
29. xkcd : Depth
30. Mercator Mandelbrot by Anders Sandberg
31. flickr album : Mercator Mandelbrot Maps by Anders Sandberg
32. Mandelbrot set images and videos by David Madore
33. FRACTALS IN POLAR COORDINATES by Mika Seppä
34. FRONTIERS IN COMPLEX DYNAMICS by CURTIS T. MCMULLEN
35. youtube video : Mandelbrot deep zoom to 2^142 or 5.5*10^42. Log(z) by SeryZone X
36. The complex logarithm as a conformal map in wikipedia
37. Strictly speaking, the point on each circle on the negative real axis should be discarded, or the principal value should be used there.
38. Exponential Map from the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 2010 Dec 5.
39. optimizing zoom animations again by Claude
40. exponential map From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2022.
41. Exponential Map in Mu-Ency - The Encyclopedia of the Mandelbrot Set by Robert P. Munafo
42. Log(z)-Mandelbrot-Zooms by Thorsten Förstemann
43. Animation on youtube.com by Thorsten Förstemann: Mandelbrot Zoom 333 - log(z)(Sery's Edition) SeryZone Arts
44. Optimizing zoom animations again by Claude Heiland-Allen
45. Analysis of location by Claude Heiland-Allen
46. Notes on Mandelbrot set (Draft) by Kees van den Doel
47. Hypercomplex Iterations: Distance Estimation and Higher Dimensional Fractals by Yumei Dang, Louis Kauffman, Daniel Sandin
48. Boundary detection methods via distance estimators by Arnaud Chéritat at the Institute of Mathematics, Toulouse date=2016 access=2023-07-02
49. Distance Estimated 3D Fractals (V) |titlerg=The Mandelbulb & Different DE Approximations by Mikael Hvidtfeldt Christensen Syntopia: Generative Art, 3D Fractals, Creative Computing 2011