Follow

Wrote some simple code to trace equipotentials / level sets / lemniscates of the #Mandelbrot set. Increasing the level by 1 (corresponding to 1 iteration of z_{n+1} = z_n^2+c) needs double the number of points in the curve, so this is not very practical.

The algorithm is quite simple: start from a c_0 with iteration depth m. Compute the corresponding z_{0,m}, multiply it by exp(2 PI i / k) where k is some small value called the sharpness (eg k = 8) to get z_{1,m}, then use #Newton's method to solve for c_1. Repeat this process k 2^m times and the curve of the c values should surround the Mandelbrot set, resembling it more closely as m increases.

Next step would be to take the discrete #Fourier transform and see if it converges more/less quickly than the Laurent series, chances are it'll be about the same, i.e., incredibly slow...

The problem is also sort of easier in four dimensions - Julia sets can readily be computed by inverse iteration, giving you two easy dimensions in a four-dimensional surface.

@anne yep, Linas Vepstas has a nice page on it:

https://linas.org/art-gallery/escape/escape.html

The issue that prevents me from doing that and drawing the curve by edge detection in image space or whatever is that I need a curve parameterized by external angle, otherwise the DFT won't make much sense...

Anne@anne@beach.city@mathr

You probably know this but there's a decent way to calculate the potential of a point c when you're computing the Mandelbrot set using escape times - there's a formula based on the value of the final iterate that gives you an equipotential value. This lets you approximate the whole potential surface fairly rapidly, and it could be used in an inversion process to trace out a particular equipotential surface.