I followed this thread on perturbation of the Mandelbrot set iterations: Perturbation of Mandelbrot set fractal

I was wondering what accuracy these different variables need to be calculated to (high accuracy or like normal floating point) i.e.

  1. the original values of the reference point iterations, X_n in the link
  2. the A, B and C coefficients
  3. the approximated (perturbed) point

What do you do if the perturbed point requires more iterations than the reference point iterations? Do you always have to pick a reference point such that it has more iterations (before escaping) than the points you want to approximate?


  1. compute at high precision, store a low precision copy for series and pixels
  2. low precision
  3. low precision (this is the main point of the thing)
  4. pick another reference (this also applies to "glitches")
  5. pretty much, there's a few iterations of lee-way, but most interesting images have boundary points, so high iteration references are possible to find (escape iteration count can be made arbitrarily high close to the boundary)
  • 1
    $\begingroup$ With answer 3, if you don't use a high precision how do you discern between points that are close together in a deep plot? Or is it that you just use a floating point value for the real (and imaginary) perturbation (delta in the link), and this suffices? $\endgroup$ – gornvix Sep 8 '20 at 1:29
  • 1
    $\begingroup$ if you know $p,q$ to say 10 digits, but the first 7 digits are the same, you only need 3 digits to represent the difference between p and q $\endgroup$ – Claude Sep 8 '20 at 1:44
  • 1
    $\begingroup$ But what when $\Delta c\sim 10^{-1200}$ for a really deep plot, this offset is not representable in double FP. One could some scaling parameter $\rho$ to set $\Delta c=\rho s$ and $\Delta z_n=\rho w_n$. How then to arrange to compute $\Delta z_{n+1}$ or here $w_{n+1}=2z_nw_n+\rho w_n^2+s$. In the reduction to double precision the second term would fall away. Is that admissible or is that caught and compensated in some way? But then one would have to reconnect the scales to compute $|z_n+\rho w_n|>2$. To get non-trivial results from this, one would have to adapt $rho$ dynamically. $\endgroup$ – Lutz Lehmann Sep 12 '20 at 7:38
  • $\begingroup$ @LutzLehmann one can use a number type with low precision but higher range (eg a double precision float as mantissa paired with another int32 as exponent, using ldexp/frexp functions to keep the mantissa small) $\endgroup$ – Claude Sep 12 '20 at 13:18
  • 1
    $\begingroup$ @LutzLehmann this rescaling algorithm is also described here fractalforums.org/programming/11/… $\endgroup$ – Claude May 5 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.