Some Light Theory of Matings:
1. Basics of Julia Sets
Let fc(z)=z^2+c, a polynomial of complex numbers. Let f^n(z) denote f
composed with itself n times, and call this the nth iterate of z. The
sequence of iterates of z is called the _orbit_ of z. The _Filled Julia
Set_ is {z s.t. the orbit of z is bounded in absolute value}. You've
probably seen pictures of Julia sets. Their boundary is a fractal, and is
the real object of importance, so the boundary of the filled julia set is
called the Julia Set.
You've probably also seen the Mandelbrot set, M={c (complex) s.t.
the Julia Set of fc is connected}. If you aren't familiar with this, I
think any one would have fun exploring the M-set. Just download
Fractalasm (off of dynamics homepage). If you click on a c in the M-set
(or outside of it) the program will show you its Julia set. You can
observe how moving around in the M-set affects the Julia sets.
Any Julia set is either connected or totally disconnected (a
Cantor set). Also, it is connected iff c itself is in the filled julia
set.
2. More advanced topics on Julia sets
For a connected Julia Set Jc, there is a (holomorphic) map from the
exterior of the unit disc to the exterior of the filled julia set. If Jc
is locally connected (which is true for example if the orbit of c is
periodic), this map extends continuously to the boundaries, giving a
parameterization of the julia set, p: Circle -> Jc. The image of the ray
r=exp(it) is called the external ray of angle t.
The ray, t, which lands on the critical point (or on the root point of the
bulb containing the critical point) of a Julia set is unique to that
Julia set, so is a way of identifying the Julia set. So I call the julia
set Jc by the name t. In the rest, I can only deal with julia sets where
t=p/q is rational.
3. Matings... the construction
Since two connected julia sets, Jc1, Jc2, have parameterizations p1, p2,
we may "glue" these julia sets together by making the identification
p1(t)~p2(t). The result is the mating of Jc1 and Jc2. If we take two
filled julia sets, and glue them together in this way along their fractal
boundaries, it turns out to form a topological sphere in most cases. This
fails iff c1 and c2 are in complex conjugate "limbs" of the M-set, e.g. if
c1 is anywhere in the M-set in between rays of angles 1/7 and 2/7, and c2
is anywhere in between 5/7 (=1-2/7) and 6/7 (=1-1/7).
In fact, mating two julia sets is not only a geometric process. It defines
a way of associating a Quadratic Rational Map to the pair of Julia Sets,
such that the Julia Set of the Rational map is the mating of the two
polynomial Julia sets.
The medusa algorithm constructs this mating by an iterative process. A
user runs the program for a certain number of iterations, examines the
output thus far, and then runs for more iterations if he wants more
precision.