JULIA SETS OF FUNCTIONS AND SEMIGROUPS

In this page we describe the methods used to create the OUTPUT SETS when

1. SET TYPE = JULIA and PROCESS TYPE = RANDOM

A1. Single Function Iteration Algorithm (when only one INPUT FUNCTION is selected):

I. Call

II. Find a complex number z1 such that F(z1)=z0 (this involves finding an inverse image under the map F(z) - if more than one inverse image exists, then one of these is randomly chosen to be z1). Then, likewise find z2 such that F(z2)=z1. Iterate this process N+S times to get a sequence of complex numbers z0, z1,..., zN+S such that F(zn)=zn-1.

III. The set of points {zS+1, zS+2,..., zN+S}, formed by skipping the first S points of the sequence, is called the (Approximate) Julia set of F(z).  It is this set which is created as an OUTPUT SET and labeled with the map which generated it.  For N and S large we get better approximations to the actual Julia set of F(z).
 

B1. Multiple Function (Semigroup) Algorithm (when multiple INPUT FUNCTIONS are selected):

We follow the above algorithm A1, but with a slight change.  Call the selected INPUT FUNCTIONS by the names G1,..., Gk and change item II above as follows. Starting with z0 we randomly choose a map F1 from G0, ..., Gk and then calculate z1 such that F1(z1)=z0.  Then randomly choose a map F2 from G1, ..., Gk and then calculate z2 such that F2(z2)=z1 . Iterate this process N+S times to get a sequence of complex numbers z0, z1, ..., zN+S.  The set of points {zS+1, zS+2,..., zN+S}, formed by skipping the first S points of the sequence, is called the (Approximate) Julia set of the semigroup <G1,...,Gk> (acting in parallel).  In the right window the OUTPUT SET is labeled the COMPOSITE JULIA SET.

Note:  When multiple INPUT FUNCTIONS are selected, in addition to the COMPOSITE JULIA SET generated using algorithm B1, an OUTPUT SET will be automatically generated for each INPUT FUNCTION using algorithm A1.

2. SET TYPE = JULIA and PROCESS TYPE = FULL

A2. Single Function Iteration Algorithm (when only one INPUT FUNCTION is selected):

I. Call

II. Find F-1({z0}), the set of ALL complex numbers w such that F(w)=z0 (this involves finding an inverse image under the map F(z)). Then find F-2({z0}) = F-1(F-1({z0})), the set of ALL complex numbers w such that F2(w)=z0. Continue this process until the set
F-j({z0}) = F-1(...(F-1({z0}))) has at least N points. 

Note that if F(z) has degree 1, then all sets of the form F-j({z0}) will have only one point.  In this case the program is set to simply terminate with j=N.

III. The set of points F-j({z0}) is called the (Approximate) Julia set of F(z).  It is this set which is created as an OUTPUT SET and labeled with the map which generated it.  For N large we get better approximations to the actual Julia set of F(z).
 

B2. Multiple Function (Semigroup) Algorithm (when multiple INPUT FUNCTIONS are selected):

We follow the above algorithm A2, but with a slight change.  Call the selected INPUT FUNCTIONS by the names G1,..., Gk and change item II above as follows. Calculate the set J1=G1-1({z0})∪...∪Gk-1({z0}).  Then calculate the set J2=G1-1({J1})∪...∪Gk-1({J1}).  Continue this process until the set Jj=G1-1({Jj-1})∪...∪Gk-1({Jj-1}) has at least N points. 

If multiple INPUT FUNCTIONS are selected, then the sets Jj will necessarily grow in size.  Although this is not mathematically true (e.g., if each of the multiple input functions is of degree one and fixes the seed value), the computer will regard the repeated points calculated as distinct points in the set and therefore the size of the sets Jj will grow.  

The set of points Jj is called the (Approximate) Julia set of the semigroup <G1,...,Gk> (acting in parallel).  In the right window the OUTPUT SET is labeled the COMPOSITE JULIA SET.

Note:  When multiple INPUT FUNCTIONS are selected, in addition to the COMPOSITE JULIA SET generated using algorithm B2, an OUTPUT SET will be automatically generated for each INPUT FUNCTION using algorithm A2.