# notation

• variable z
• constant parameter c
• function f
• derivative d
• iteration number p
• wrt = with respect to

Notation types

• Leibniz's notation
• Euler's notation
• Newton's notation ( dot notation)
• Lagrange's notation ( prime mark notation)

${\frac {d}{dz}}f(z)=f'(z)=z'=d=D\,$ # Derivative of the iterated function

  "the derivative basically as it's calculated for anlytical DE using the implementation of the chain rule for the derivative of f(g(x)) where f(x) is say g(x)^p+c and the value of g(x) is current z. So f'(g(x)) is p*z^(p-1)  and g'(x) is the derivative from the previous iteration,  so on each iteration the new derivative is:  dz = dz*p*z^(p-1)  and new z = z^p+c as normal" FractalDave

// initial values:
z = z
d = 1

// Recurrence steps:
d = f'(z)*d   // calculating d and multiply the previous d
z = f(z)       // forward iteration



It can be computed with Maxima CAS :

display2d:false;
f:1/(z^3+d*z);
dz : diff(f,z,1); // first derivative of f wrt variable z
dc :  diff(f,c,1); // first derivative of f wrt parameter c


## Rational function

 $f(x)={\frac {P(x)}{Q(x)}}$ $f'(x)={\frac {P'(x)Q(x)-P(x)Q'(x)}{Q^{2}(x)}}$ ### degree 3

wrt z

// function
f(z)= 1/(z^3 + c*z )

// first derivativwe wrt z
d = f'(z) = -(3z^2 +c)/(z^3 + cz)^2

// iteration:
z_(n+1) = f(z_n)

// initial values:
z = z
d = 1

// Recurrence steps:
d = - d*(3z^2 +c)/(z^3 + cz)^2
z = 1/(z^3 + c*z)



### degree 5

display2d:false;
f: 1/(a*z^5+ z^3 + b*z);
dz: diff(f,z,1);


in plain text:

  dz = -(5*a*z^4+3*z^2+b)/(a*z^5+z^3+b*z)^2


Example:

• 1/((0.15*I+0.15)*z^5+(3*I-3)*z + z^3)

### degree 5 by Buschmann Julia set drawn by distance estimation, the iteration is of the form $f_{c}(z)=1-z^{2}+{\frac {z^{5}}{2+4z}}+c$ in black and white
f(z):=z^5/(4*z+2)-z^2+c+1

(%i4) diff(f(z), z,1);

(%o4) (5*z^4)/(4*z+2)-(4*z^5)/(4*z+2)^2-2*z


### Polynomials

#### Complex quadratic polynomial

##### z^2+c
###### First derivative wrt c

On parameter plane :

• $c$ is a variable
• $z_{0}=0$ is constant
${\frac {d}{dc}}f_{c}^{(p)}(z_{0})=z'_{p}\,$ This derivative can be found by iteration starting with

$z_{0}=0\,$ $z'_{0}=1\,$ and then ( compute derivative before next z because it uses previous values of z):

$z'_{p+1}=2\cdot z_{p}\cdot z'_{p}+1\,$ $z_{p+1}=z_{p}^{2}+c\,$ This can be verified by using the chain rule for the derivative.

${\frac {dz_{n+1}}{dc}}={\frac {d(z_{n}^{2}+c)}{dc}}=2z_{n}{\frac {dz_{n}}{dc}}+{\frac {dc}{dc}}=2z_{n}{\frac {dz_{n}}{dc}}+1\,$ • Maxima CAS function :

dcfn(p, z, c) :=
if p=0 then 1
else 2*fn(p-1,z,c)*dcfn(p-1, z, c)+1;


Example values :

$z_{0}=0\qquad \qquad z'_{0}=1\,$ $z_{1}=c\qquad \qquad z'_{1}=1\,$ $z_{2}=c^{2}+c\qquad z'_{2}=2c+1\,$ It can be used for:

• the distance estimation method for drawing a Mandelbrot set ( DEM/M )
###### First derivative wrt z

$z'_{n}\,$ is first derivative with respect to z.

This derivative can be found by iteration starting with

$z_{0}=z\,$ $z'_{0}=1\,$ and then :

$z'_{n+1}=2*z_{n}*z'_{n}\,$ $z_{n+1}=z_{n}^{2}+c\,$ description arbitrary name formula Initial conditions Recurrence step common names
iterated complex quadratic polynomial $A_{m}$ $f^{m}$ $A_{0}=z$ $A_{m+1}=A_{m}^{2}+c$ z or f
first derivative with respect to z $B_{m}$ ${\dfrac {\partial }{\partial z}}f^{m}$ $B_{0}=1$ $B_{m+1}=2A_{m}B_{m}$ dz, d (from derivative) or p ( from prime) of f'

Derivation of recurrence relation:

$A_{0}\quad {\xrightarrow {definition\ of\ A}}\ f^{0}(z,c)\quad {\xrightarrow {definition\ of\ f}}\ \quad z$ $A_{m+1}\quad {\xrightarrow {definitionofA}}f^{m+1}(z,c)\quad {\xrightarrow {definition\ of\ f}}f(f^{m}(z,c),c)\quad {\xrightarrow {definition\ of\ A}}f(A_{m},c)\quad {\xrightarrow {definition\ of\ f}}A_{m}^{2}+c$ $B_{0}\quad {\xrightarrow {definition\ of\ B}}\ {\dfrac {\partial }{\partial z}}f^{0}(z,c){\xrightarrow {definition\ of\ f}}\ {\dfrac {\partial }{\partial z}}z{\xrightarrow {derivative}}\ 1$ $B_{m+1}\quad {\xrightarrow {definition\ of\ B}}{\dfrac {\partial }{\partial z}}A_{m+1}\quad {\xrightarrow {definition\ of\ A}}{\dfrac {\partial }{\partial z}}(A_{m}^{2}+c)\quad {\xrightarrow {distributivity}}{\dfrac {\partial }{\partial z}}A_{m}^{2}+{\dfrac {\partial }{\partial z}}c\quad {\xrightarrow {constant\ derivative}}{\dfrac {\partial }{\partial z}}A_{m}^{2}+0\quad {\xrightarrow {zero}}{\dfrac {\partial }{\partial z}}A_{m}^{2}\quad {\xrightarrow {chain\ rule}}2A_{m}({\dfrac {\partial }{\partial z}}A_{m})\quad {\xrightarrow {definition\ of\ B}}2A_{m}B_{m}$ It can be used for :

unsigned char ComputeColorOfDEMJ(complex double z){
// https://en.wikibooks.org/wiki/Fractals/Iterations_in_the_complex_plane/Julia_set#DEM.2FJ

int nMax = iterMax;
complex double dz = 1.0; //  is first derivative with respect to z.
double distance;
double cabsz;

int n;

for (n=0; n < nMax; n++){ //forward iteration

if (cabs(z)> 1e60 || cabs(dz)> 1e60) break; // big values

dz = 2.0*z * dz;
z = z*z +c ; /* forward iteration : complex quadratic polynomial */
}

cabsz = cabs(z);
distance = 2.0 * cabsz* log(cabsz)/ cabs(dz);
if (distance <distanceMax) {//printf(" distance = %f \n", distance);
return iColorOfBoundary;}

return iColorOfExterior;
}


Logistic map

#### complex cubic polynomial

##### wrt z
// function
f(z)= z^3 + c*z

// first derivativwe wrt z
d = f'(z) = 3*z^2 + c

// iteration:
z_(n+1) = f(z_n)

// initial values:
z = z
d = 1

// Recurrence steps:
d = (3*z^2 + c)*d
z = z^3 + c*z



# FAQ

• why new d must be computed before new z ?