I'm trying to find a lower bound for the distance estimate of the Mandelbulb fractal, or at least justify why using the scalar-derivative for distance estimation is so effective. The Mandelbulb iterates a "triplex" power $\mathbf{v} \to \mathbf{v}^n + \mathbf{c}$:

$$(x,y,z)^n = r^n (\sin(n\theta)\cos(n\phi),\sin(n\theta)\sin(n\phi),\cos(n\theta))$$ where $$r^2 = x^2 + y^2 + z^2 \quad\quad \tan(\phi) = \frac{y}{x} \quad\quad \cos(\theta) = \frac{z}{r}$$

Using SageMath, I find the Jacobian matrix of one step of this "triplex" power$(x,y,z)^n$ factorizes into a scalar $n r^{n-1}$ times a matrix independent of $r$, namely $J(n, \phi, t)$:

$$\begin{aligned} j_{11} = t &(T_n(t)-t U_{n-1}(t)) \cos(n \phi) \cos(\phi)+U_{n-1}(t) \cos((n-1) \phi) \\ j_{12} = t &(T_n(t)-t U_{n-1}(t)) \cos(n \phi) \sin(\phi)-U_{n-1}(t) \sin((n-1) \phi) \\ j_{13} = -&(T_n(t)-t U_{n-1}(t)) \cos(n \phi) \sqrt{1-t^2} \\ j_{21} = t &(T_n(t)-t U_{n-1}(t)) \sin(n \phi) \cos(\phi) + U_{n-1}(t) \sin((n-1) \phi) \\ j_{22} = t &(T_n(t)-t U_{n-1}(t)) \sin(n \phi) \sin(\phi) + U_{n-1}(t) \cos((n-1) \phi) \\ j_{23} = -&(T_n(t)-t U_{n-1}(t)) \sin(n \phi) \sqrt{1-t^2} \\ j_{31} = &(T_n(t)-t U_{n-1}(t)) \cos(\phi) \sqrt{1-t^2} \\ j_{32} = &(T_n(t)-t U_{n-1}(t)) \sin(\phi) \sqrt{1-t^2} \\ j_{33} = &t T_n(t)+(1-t^2) U_{n-1}(t) \end{aligned}$$

where $t = \frac{z}{r}$ with $|t|\le1$ and $T_n,U_{n-1}$ are Chebyshev polynomials. Using SageMath and some further manual substitutions I got to $$\det(J(n,\phi\,t)) = U_{n-1}(t)$$ which achieves its maximum value $n$ at $t = 1$ but this is the product of the eigenvalues, while I need an upper bound on the largest eigenvalue for the lower bound of the distance estimate (tight bounds are to be preferred for computational efficiency in the sphere marching algorithm).

So the question is to find a simple but tight upper bound for the magnitude of the largest eigenvalue.

Here is my SageCell SageMath code that can be evaluated online.

  • $\begingroup$ Likely you will be better off trying this at ask.sagemath.org, especially since this question is not really about the math but the programming, I think. $\endgroup$ – kcrisman Dec 18 '20 at 4:21

Your Answer

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

Browse other questions tagged or ask your own question.