January 22, 2001. Latest updated Augusts 18, 2008.

Hi Fractal People!

(Note: Because Stig has realised his third version of Cubic Parameterspace, that is 
CubicParameterspace3 included in his sp3-module, Ive modified the formulas in 
the first group to this sub-module. They are called MilnorAB3, SorensenCubic3 
etc. The resulting images are the same as those obtained by the older sets of sub-
modules. Ive put them in a new module ik3. Note there is no ik2-module, since 
the 2-versions of the above formulas are included in my old ik-module. I named 
it ik3 in order to be a parallel to sp3 and the third version of the cubic sub-
modules. I strongly recommend everyone to use the new versions for new images. 
The attached parameter-files mentioned below use the new sub-modules).

In order to help you to get started with my ik- and ik3-modules, Ive supplied a set 
of parameter-files, described below. In those Ive made certain setups for 
magnification, period-check on/of etc. Ive turned the period-check of where 
artifacts seem to appear. The sub-modules, all dealing with cubics, are divided 
into two groups. In the first group I have replaced the standard formula, z -> p(z) 
= z^3 - 3a^2 z + b with some other variants used by the great mathematicians. In 
order to get these variants Ive modified Stigs sub-module Cubic 
Parameterspace3. In the second group the standard-formula is employed, but 
other methods than making regular slices of the four dimensional cubic monster 
are used.  I dont know the mathematical meaning, but I suspect them to be some 
kind of projection-methods. Most of them I have received them from Stephen C 
Ferguson, who has received them from Professor Holger Jaenisch. Not being a 
programmer I'm guilty many thanks to Stig Pettersson, who kindly have helped 
me with this module, especially by attaching Switch Julia to the second group. 
Thanks also to Stephen C Ferguson who sent me the source-code for the 
projection-methods. Now a brief description of my sub-modules (Hint: The sign 
"^" means 'power of', for example z^3 means 'the third power of z', i e z*z*z. The 
sign _ means index, and "sqrt(z)" means 'the square-rot of z).


First group. Variations of the cubic formula:

1) Cubic Parameterspace: First I have supplied a startup-file for Stigs Cubic 
Parameterspace just for reference. Here the standard formula, z -> z^3 - 3a^2 z + 
b is dealt with. In all startup-files two layers are used, named M+ and M- each 
having its own color-gradient. M- is the set were z is initialized to the other 
critical point, in this case z = -a.  In this startup-file (b_real, b_imag) is plotted 
and (a_real, a_imag) are fixed to zero, which gives the standard Cubic Mandelbrot 
set. If you fix a_real to 0.57735 by typing this value to a-real for both M+ and 
M- you will obtain the same figure as figure 7 (last Figure) in my Cubic 
Tutorial:

http://klippan.seths.se/ik/CubTut/cubictut.html 

If you dont have read this tutorial yet, it can be suitable to do so now, as all 
obscure terms in this GetStarted are explained there. Note: Every change done in 
dialog-boxes must be done for both M+ and M-. In the following startup-files 
(a_real, a_imag) are plotted as default.

2) MilnorAB: Here I've modified Stig's sub-module in order to study cubic 
parameter space in the way of Professor John Milnor in his paper "Remarks on 
iterated cubic maps" published in 1991. From the well-known standard-formula     
z -> p(z) = z^3 - 3a^2 z + b, Milnor have done the substitution A = a^2 and B = 
b^2 in order to study what he calls "the Moduli Space". That means that he 
iterates z -> z^3 -3Az + sqrt(B) with the critical points z = +sqrt(A) and z = -
sqrt(A) instead of z = +a and z = -a. The critical points are obtained by putting the 
derivative to zero.

3) SorensenCubic: The Danish mathematician Dan Srensen has written some 
small special applications for Macintosh for drawing fractal for scientific studies. 
For Cubics he, besides the standard formula (z -> z^3 - 3a^2 z + b), also uses the 
formula: z -> z^3 + az^2 + bz. Here the critical points becomes z =  -a/3 + 
sqrt[(a^2)/9 - b/3] and z = -a/3 - sqrt[(a^2)/9 - b/3]. The parent fractals have large 
range, so Ive put the magnification to 0.5 in order to see the whole slices of the 
set. A strange thing when looking at slices of (a_real, a_imag) is that the whole of 
the right half of the plane belongs to M+, and the whole of the left half of the 
plane belongs to M-. Therefor it's suitable to use two layers, one for each subset, 
as been done in my parameter-files. In fact that's almost always suitable to do so 
when drawing 2D-slices of cubic parameter space.

4) KullbergCubic: Using the non-centered parametrization p(z) = z^3 + az^2 + b 
you get the critical points z = 0 and z = -2a/3. The story of this can be read at:

http://klippan.seths.se/ik/frholmes/cubic.html 

Here, by modifying the submodule of Stig, all 6 perpendicular systems of planes 
can be studied and also with respect to the other critical point. When displaying 
(a_real, a_imag), when "b" is fixed to zero, and z is initialized to zero, you get a 
completely black screen. That's natural because for every "a" you get the orbit 0 -
> 0  ->0. However if you initialize z to the other critical point "-2a/3" you obtain a 
CCAP-shape (however more than twice as big). Displaying (b_real, b_imag) 
gives the same images as (b_real, b_imag) in the standard-formula. The 
coordinates, however, are different. See the above URL.

5) DevaneyCubic and DevaneyIICubic: In his book "A First Course in Chaotic 
Dynamical Systems" Professor Robert Devaney makes the parametrization p(z) = 
z^3 + az +  b, which gives the critical points z = +sqrt(-a/3) and z = -sqrt(-a/3) or z 
= +sqrt(a/3)i and z = -sqrt(a/3). Originally I used the last one because I had an 
obscure idea that UF would have problems calculating square roots of negative 
numbers. But negative numbers will occur sometimes in any case, and UF are 
written for calculating complex numbers. The two ways of initiating z will only 
make difference regarding some symmetries, the two subsets changing place etc. I 
encourage the dear fractalling reader to use DevaeyIICubic (using the first 
mentioned setup of critical points) for new images.

6) BrannerSpecialCubic: In a paper "The iteration of cubic polynomials. Part II: 
Patterns and parapatterns" (Acta Mathematica 69: 3 - 4, 229 - 325), the two great 
mathematicians Bodil Branner and John Hamal Hubbard in one place (page 237) 
make the alternative parametrization p(z) = (b/4 - a/4)(z^3 - 3z) + (a + b)/2  in 
order to prove a certain statement, which I dont understand a bit of. However I 
decided to include the function in my module. The two critical points turns out to 
be z = +1 and z = -1. Besides normal features of pictures of cubic parameter 
space, there are two slices, (a_real, a_imag) with b fixed to +1+0i, and (b_real, 
b_imag) with a fixed to -1+0i (M+ and M- coalesces in these slices) which have 
very interesting properties. I leave to the fractal-exploring people to make their 
own investigation.

7) EpsteinCubic (NEW): In the paper GEOGRAPHY OF THE CUBIC 
CONNECTEDNESS LOCUS I: INTERTWINING SURGERY the great 
mathematicians Adam Epstein and Michael Yampolsky besides the standard 
iteration-formula use the formula z -> a(z^3  3z) + b. Critical points are z = +1 
and z = -1. In the special case if you plott the b-plane when a is fixed to zero, 
you obtain a completely black screen (natural since you for every initializing of 
z from the second iteration obtain the orbit b -> b -> b etc).


The second group. Other methods of displaying 2D images of the standard-
formula:

1) CBAP and 2) CCAP: These variants of cubics occur in some of the applications 
of Ferguson. He has obtained the formulas from a Professor Holger Jaenisch who, 
I suspect has obtained them from the very big mathematicians on the field of 
iteration of cubic polynomials. The reason for this assumption is that I've seen 
details of both in a slide series from Art Matrix in the early nineties. In one of the 
scenes in the two hours video-show "MANDELBROT SETS and JULIA SETS" 
from the above company, there is a deep zoom sequence in CBAP. Asking 
Ferguson for the source code of these variants, he displayed the CBAP code along 
with some of his images on abpf. Later he sent this and the below formulas to me 
by email (thanks Steve!). The quasi-code runs as: 

init:
t=#pixel
a=(t^2+1)/3t
b=2a^3+(t^2-2)/3t
z=-a
loop:
z = z^3 - 3a^2 z + b

By an accident, when playing around with the above expression, I received 
CCAP. This was done simply by deleting "+1" and "-2" from the above! Being of 
a to large scale it received the correct size by deleting "3". NOTE: If you do that 
on the unmodified CBAP above, you get another fractal. After abbreviation the 
quasi-code of CCAP runs as:

init:
a=#pixel
b=2a^3+a
z=-a
loop:
z = z^3 - 3a^2 z + b

From Lecture 12 (see 6 below) Ive now learned that b is selected so that p(a) 
= a. This means that a^3  3a^3 + b = a which makes b = 2a^3 + a. The fact that 
the critical point z = +a always goes to a fix-point, and thus M+ covers the whole 
plane, explains why the secondary decorations attached to the copies of the 
Mandelbrot sets in M- have the shape of 1-periodic Julia sets with parameter 
values picked from the center of the Mandelbrot set.

The shape of CCAP also occurs in SrensenCubic and KullbergCubic in (a_real, 
a_imag) when b is fixed to zero. However the size in these two cases are 
between 2  3 times as big.

3) CFAP and 4) CGAP: Also these formulas come from Professor Holger 
Jaenisch. The shape of CFAP also occurs in Milnor AB in (A_real, B_imag), 
SorensenCubic in (b_real, b_imag), and DevaneyCubic and EpsteinCubic in 
(a_real, a_imag) when intersecting origo. However the size in the two last cases 
are twice as big. There are also differences of the Julia sets, especially between 
CFAP and the other three. I leave to the diligent fractal explorers to make there 
own investigations. The quasi-code of CFAP runs as: 

init:
a=#pixel
b=2a^3-2a
z=-a
loop:
z = z^3 - 3a^2 z + b

and the quasi-code of CGAP runs as:

init:
a=#pixel
b=2a^3+1
z=-a
loop:
z = z^3 - 3a^2 z + b


5) SteveCubic: This cubic formula occurs in Flarium24 as #31 and is created by 
Stephen Ferguson himself. The quasi-code runs as:

init:
t=#pixel
a=(t^3-1)/3t
b=2a^3-2a
z=-a

loop:
z = z^3 - 3a^2 z + b


The origin and meaning of these formulas I have no understanding of. I suspect 
they are some kind of "projections" rather than slices. An important thing 
regarding Julia sets from all the above methods as far as Ive seen is that they all 
can be obtained from ordinary slices of cubic parameter space.

6) HomerCubic: This displaying variant I received from UNIVERSITY OF 
ROCHESTER Mathematics Lecture 12. Today the link is corrupt. The resulting 
fractal turned out to be the same as one in the scenes in the video-show 
"MANDELBROT SETS and JULIA SETS" from Art Matrix. I named it 
HomerCubic because Homer Wilson Smith together with Jane Elizabeth Staller 
are the editors of this video-show. The C-locus of the set is also displayed by 
Rudy Rucker, who named it the Rudy set in his site:

http://www.mathcs.sjsu.edu/faculty/rucker/cubic_mandel.htm

The quasi-code runs as:

init:
a=#pixel
b=a
z=+a (The layer M+)
z=-a (The layer M-)
loop:
z = z^3 - 3a^2 z + b


7) MysticCubic: This variant is also received from Lecture 12 The parameter 
b is chosen so that p(-a) = +a. This means that (-a)^3 + 3a^3 + b = +a which 
makes b = a - 2a^3. This also means that only one critical orbit needs to be tested, 
and both subsets coalesce. The fractal has the same properties as the last 
mentioned slices in BrannerSpecialCubics. Thats the reason for naming it  
MysticCubic. The quasi-code runs as:

init:
a=#pixel
b=a-2a^3
z=a
loop:
z = z^3 - 3a^2 z + b


Non-cubic formulas:

Article15: The iteration-formula is z -> z^2 + pz + c. You can vary p (z-
coefficient) and the Starting point (the value to which z is initialized) and draw 
the c-plane. If you put the Starting point to minus half the z- coefficient, you 
always come up with the standard Mandelbrot set. Otherwise you come up with a 
so-called Perturbed M set. All this is dealt with in Article 15 in the Chaotic 
series, uploaded May 2006 as pdf-dokumensts at:

http://klippan.seths.se/fractals/articles/index.html 

NOTE: This sub-module is written only for pedagogical reasons and does not 
contribute any new forms that can not be brought out from the standard 
Mandelbrot formula in Ultra Fractal.

Multicorns: This is a generalizing of the tricorn-formula z -> conj(z)^2 + c to the 
general z -> conj(z)^d + c with free choice of the exponent d. If z = x + iy, 
conj(z) = x  iy. I got the idea to this generalization from a note in a paper. In the 
attached startup-parameter file Diff-Bailout (see below) is enabled to denote 1-
periodic component which otherwise would be black

Compasses: This module performs the iteration: z -> z^d  d a^(d-1) z, the critical 
point being z = a, and the a-plane the parameter plane. This formula is 
constructed in connection with Article 27, Compasses in the Chaotic series 
mentioned above, where the cases where the exponent d is settled to 2, 3, 4, 
etc is discussed. The title Compasses refers on the fact that for d = 3 and 
higher integers give rise to compass-like fractals. In fact the exponent d in this 
formula can be set to any complex number. Here also Diff-bailout is enabled in 
the attached startup-parameter file.

ExtendedCompasses: A parameter b is added to the above formula, so we 
actually iterate z -> z^d  d a^(d-1) z + b. As a result we obtain a 4D parameter 
space built up of the parameters (a, b) like in the cubic formulas in the first group. 
All systems of perpendicular slices can be studied. If b is fixed to zero, the 
forms of course are identical with those obtained with Compasses. When you 
move along the non-plotted axes, move very carefully. Start with 0,1. At some 
point, very big changes take place at some values. When you put the exponent to 
non-intigers the bailout makes big sense. I myself often use 100000. 

Deformed Mandelbrot: Draws the four-dimensional parameter-space for 
quadratics parametrizised as z -> z^2  2az +b, z initiated to the critical point 
a. This sub-module is written for Article 29 in the Chaotic series in which it is 
shown that one parameter is enough for quadratics. The interface is the same as in 
CubicParameterspace2.

Inverse Multibrots: Instead of drawing z -> z^d + c, this formula draws the 
inverse parameter plane (c-plane) for different exponents (d) that may be non-
integers and complexes. That is the iteration formula is z -> z^d + 1/c. In the 
inverse sets, zero and infinity have changed place with each other, and the sets are 
turned inside out. In order to see the whole basin of attraction you have to zoom 
out a little bit and adjust the center for some degrees. If you unmark the inverse 
box, this formula will draw the ordinary multibrot sets, z -> z^d + c. 


Multicorns2: This formula is the same as in Multicorns, the previous page. That is 
z -> conj(z)^2 + c. However in this formula you also can run the inverse form, 
that is z -> conj(z)^2 + 1/c. Just click the box Inverse. This is the same manner 
as in Inverse Multibrots above. Here, however, the non-inverse form is default. In 
exploring Multicorns you are strongly recommended to run this formula.



Diff-Bailout:

To the formulas in the second group (CBAP etc) and to the new non-cubic 
formulas the feature Diff-Bailout is adopted Cubic Parameterspace2. When Diff 
Bailout is enabled, 1-periodic components are shown with inside-coloring, the 
colors display the number of iterations required to take the variable z in close 
proximity to a fix point. NOTE: In order to avoid artifacts, turn the period check 
off, and set the bailout to at least 10 000 000. A high iteration-number, 1000 or 
so, is also recommendable.

The periods of hyperbolic components can even be seen using Stigs new inside 
color routine Period. Components with different periods are colored in different 
solid colors. If one wish to now the period of a certain period, for example period 
1, type 1 under Period and click enable under Research and components 
with other periodicity will show the ordinary set-color (usually black).


Fixed bug:

In the first versions based on the old module Cubic Parameterspace there is one 
bug of little interest. Its concerned with the first group as well as with original 
itself. If you have a parameter-plane flipped or rotated, the Switch Julias are the 
same as if the parameter-plane was not flipped or rotated. This bug is fixed in the 
newer versions. Suggestions and comments are always welcome.  Enjoy!!!



About Julias: 

You shall not take the default-Julias too seriously. Ive changed the default seed 
from (0, 0) to other values in cases where (0, 0) would give rise to a completely 
black screen. In fact the best method to produce nice Julia sets is to use Switch 
mode in a parameter-plane (non-Julia fractal) and click when you see a nice 
shape in the little window situated lower right in the screen.

Note that in both the associated Julia to Inverse Multibrots 
(InverseMultibrotsJulia) and in Multicorns2 (MulitcornsJulia2) above, there is a 
bug in the fact as for c = 0, UF draws the same Julia set in both the inverse 
formula (1/c) as in the non inverse (c). Thats because UF will prevent zero 
divides.



Regards,
Ingvar Kullberg

http://klippan.seths.se/ik/frholmes 

And very welcome to my chaotic series of fractal articles: 

http://klippan.seths.se/fractals/articles 
1

