An approach using dimensional folding generated an interesting 3-dimensional analogue of the Mandelbrot set, demonstrating the viability of a 3-dimensional analogue of the 2-dimensional space of Complex numbers.
​
If this exercise represents a canonical 3D analogue of the 2-dimensional space of Complex numbers, exact, closed-form solutions to 3D stress, fluid, heat transfer and electromagnetic field problems may be possible. If exact, closed form solutions are possible, exact optimization of the geometry of structural components, airfoils, cooling fins, antennas, etc. may be possible using the potential of Symbolic computing, vs. iterative methods that are currently employed.

Dimensional Folding Method

The dimensional folding technique performs a 2-tuple (nx, ny) complex number operation with a 3-tuple (mx, my, mz). We constrain complex number multiplicative/divisional operations to a unique plane that is orthogonal to the plane defined by the 3-tuple and Z-axis. This orthogonal plane is then fully defined by requiring it to contain the 3-tuple.
​
​In the case of multiplying/dividing two 3-tuples in the complex plane, the constrained plane is simply the plane defined by the two 3-tuples. However, in the case of the Mandelbrot Set recursion, only one 3-tuple is needed; the remainder of this post only uses single 3-tuple transformations.​
​
Dimensional folding is accomplished sequentially by applying a unique transformation, T, to the 3-tuple to place it in the X-Y plane as follows:
In[]:=
nx=mx
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
In[]:=
ny=my
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
In[]:=
nz=0

Then, the desired multiplicative/divisional operation is performed and the new 2-tuple is transformed back to a 3-tuple (mxp, myp, mzp) via the transpose (inverse) of the first transformation:
In[]:=
mxp=
2
my
nx
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
-mx my ny (
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
-1)+
2
mx
nx
(
2
mx
+
2
my
)
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
In[]:=
myp=
-mx my nx (
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
-1)+
2
mx
ny
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
+
2
my
ny
(
2
mx
+
2
my
)
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
In[]:=
mzp=
mz (mx nx+my ny)
(
2
mx
+
2
my
)
2
mx
+
2
my
+
2
mz
2
mx
+
2
my
Note: The determinant of the unique transformation T is the minimum among the infinite set of determinants of transformations that can dimensionally fold a specific 3-tuple to a 2-tuple. This is critical to the success of the dimensional-folding method. The proof is left to the reader.

Computational Method to Expand the 2D Mandelbrot Set to 3D

An interesting 3D depiction of the Mandelbrot set, called Mandelbeast was generated and graphed with Mathematica’s Image3D function as follows:
​
​ Fig. 1 ​ Mandelbeast - 3D depiction of the 2D Mandelbrot Set using Image3D​​​The resultant object was called Mandelbeast due to the incremental computational time to evaluate and generate graphics. For example, a good, crisp representation of the planar Mandelbrot Set can be achieved with 1000 x 1000 pixels = 1 million points. To achieve the same resolution, the 3D Mandelbeast requires 1000 x 1000 x1000 voxels = 1 Billion points, 3 orders of magnitude larger!!

Outer Loop

The outer loop generates a 3D lattice of Nvoxels x Nvoxels x Nvoxels corresponding to coordinates in a cube from -2.5 to 1.5. Typically, a value of 500 Nvoxels was used, for a total of 125 million points.

Inner Loop

The inner loop:1. Transforms the 3D coordinate to a 2D complex number.2. Performs the Mandelbrot recursive
2
x
complex operation3. Transforms the result back to 3D.4. Checks to see if the magnitude of the resultant vector is greater than 2.0 a. If TRUE, record the integer value of the iteration (n) and exit to outer loop to evaluate the next coordinate. b. If FALSE, increment the iteration to n+1.5. Add the original coordinate to the new 3D results in a conventional (unconstrained) 3D space.6. Go to top of Inner Loop.​Typically, a maximum value of iterations (maxiter) of 256 was used.​The full Mathematica code Racoon is listed at the end of this post. It can also export an external file so that a graphics program, RacconG can be used without regenerating the data set. Using 500x500x500 Nvoxels and maximum iterations (maxiter) set to 256, the external file (Racoon.wxf) is 245Mb.

Graphics

The graphics are very computer intensive, particularly on a low-end PC laptop. The author apologizes for the varying resolutions and color schemes because of the truncated time frame while attending the 2024 Wolfram Summer School. This was due to Hurricane Beryl, that required the author to return to Texas mid-term for storm preparation.

Mandelbrot Set to Mandelbeast
​

Fig. 2​​Mandelbrot Set - Generated by the recursive function
z
n+1
=
2
z
n
+
c
0
, where
2
z
n
=

2
x
-
2
y
+ i(2xy)

​​

Sections through Mandelbeast

​
​

Animated Sections through the Mandelbeast

Conjugate Mandelbrot Set and Conjugate Mandelbeast

Cubic Mandelbrot Set and Cubic Mandelbeast

Concluding Remarks

Acknowledgments

References

1. Muskhelishvilli, 1963, Some Basic Problems of the Mathematical Theory of Elasticity.

Notebooks

Two programs were developed to generate and plot the Mandelbeast:
​
1. Racoon: Generates a 3D array M that contains integer maximum iterative values. Some graphing functions are included to check the object. If desired, the array M can be exported to an external file Racoon.wxf.
​
2. RacoonG: Imports the external file Racoon.wxf and generates 3D images and “slicing” videos.
​
This two program methodology prevents having to re-generate the large array M.
​
OBJECTIVE: Develop a canonical 3-dimensional Mandelbrot set, thereby demonstrating the viability of a 3-dimensional analogue of the 2-dimensional space of Complex numbers.
​
The program generates a 3D cubic lattice via an outer loop and performs recursive Mandelbrot set operations at each point in a 3D space via an inner loop. The 3D point is dimensionally folded into a 2D space using a unique compilation of 3 linear rotations, T, to provide x and y coordinates. This allows the first step of the Mandelbrot recursion Zn+1 = (Zn) ^2 + Zo . The 2D x-y coordinates are squared via the Complex number conventions to yield x’ = x^2 - y^2 and y ‘= 2xy.
​
The resultant x’ and y’ coordinates are transformed back to the 3D space by using the transpose of T. Then, the second part of of the Mandelbrot conversion is applied by adding the original 3D vector to the 3D result. This would constitute the first iteration and this value is written to an array file M.
​
The process is repeated as many as 256 times at each lattice point via the inner loop; at each iteration, a conditional statement is implemented to determine if the square of the magnitude of the resultant 3D vector is less than 4; if the conditional fails, the iterations at that lattice point are diverging, the last iteration is stored into M, and the program exits the inner loop. If the conditional passes, the iteration process continues and the new iteration value is stored/overwritten in M.
​
Once all of the lattice points are evaluated, ArrayPlot3D and Image3D can be used to plot the Mandelbeast. The array file M can be exported so that the graphics program RacoonG can be used without having to re-generate the large array
​
Note: The determinant of the unique transformation T is the minimum among the infinite set of determinants of transformations that can fold a specific 3D vector (3-Tuple) to a 2D vector (2-tuple). This is critical to the success of the dimensional-folding method.
MAIN Program (Racoon)
The outer loop Generates the cubic lattice in 3D and the inner loop performs the recursion and magnitude check
INITIALIZATIONS
The size and granularity of the cubic lattice are defined as follows:
RUN THIS:
GRAPHICS
EXPORT Racoon.wxf
OBJECTIVE: Using the high resolution output from Racoon, generate 3D graphics of the Mandelbeast.​
​
RacoonG (Racoon Graphic) imports the file Racoon.wxf that has been generated by the Racoon program. If 500x500x500 =125 million integer values are used to generate coordinates, with maximum iterative values up to maxiter =256, the file is 245Mb.
​
The function Image3D is used to graph images and videos from the data and Manipulate is used to create “slicing” videos.
​
​Note 1: Due to long computational time for the graphics, it is suggested that the notebook be evaluated one cell at a time​
​
​Note 2: There are no dimensional coordinates in M, just the maximum iterative values of n. However, M was generated with cubic volume voxels; therefore the voxels are stacked accurately in Image3D with no coordinates.
Racoon parameters used to generate Racoon.wxf
Import Racoon.wxf
3D Graphics

XY-plane Slicing Video

XZ-plane Slicing Video

YZ-plane Slicing Video

Cite This Notebook

“Expansion of the fractal Mandelbrot set to 3D using dimensional folding”
by Dave Mouton​
​https://community.wolfram.com/groups/-/m/t/3210386