List of Applets for the Chapter
Complex Dynamics Chaos, Fractals, the Mandelbrot Set, and more

This material is based upon work supported by the National Science Foundation under Grant No. 0633125.  Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Please contact Rich Stankewitz (rstankewitz@bsu.edu) with any concerns, questions, or suggestions (big or small).  The dynamics applets were designed by Rich Stankewitz and Jim Rolf and coded by Jim Rolf.

Due to changes in Java, the applets have been converted to Applications. These do not run in a browser but should be downloaded and run from your local computer. Though these are technically Applications, we retain the word "Applet" when referencing these new tools here and in the linked pages.

Updates to these applets and this webpage will be ongoing.  This webpage was last modified on 8-17-11.

Click on the following links to  find the applets for this chapter.  We hope the applets are intuitive enough to be used without explanation; however, you can find detailed instructions and explanations also by clicking on the following links. 

0. ComplexTool Applet - Basic Instructions appear in the text.
1.
Real Newton Method Applet
2. Complex Newton Method Applet
3. Real Function Iterator Applet
4. Complex Function Iterator Applet
5. Cubic Polynomial Complex Newton Method Applet
6. Global Complex Iteration Applet for Polynomials
7. Mandelbrot Set Builder Applet
8.
Parameter Plane and Julia Set Applet
 

To see the full text of the book, as well as other book info go to http://www.jimrolf.com/explorationsInComplexVariables.html


1. Real Newton Method Applet
(currently called Real NewtTool at http://www.jimrolf.com/java/realNewtTool/realNewtTool.html)

This is an applet to visualize the real-valued Newton's method.  This screen shot and text below will guide you through how to use the applet.

Basic Operation:  By entering a function f(x) (either by typing it in 3 (with help in 1) or by selecting one from the drop down menu of pre-selected functions 2) and then clicking the Update F(x) button 5, the user will see the graph of f(x) appear in the Viewing window 17 as well as see that the Newton Map F(x) has been calculated 4By clicking on the graph of f(x), a seed value for Newton's method will be selected and the corresponding tangent line will appear.  One can also type in the initial value x_0 directly 6 and then click the Update button 7One can then iterate the Newton map by clicking on the + button next to Iterate F(x) 8 (or iterate 10 or 50 steps at a time with the corresponding buttons 10).  The successive Newton method approximations are then plotted and also displayed in a table 11, along with the corresponding f(x) values.  (These values can be copied and pasted into another file in the usual way, if one wishes to.)  By typing in a value for n 9 the user can produce the first n Newton approximations x_n.  The - button 8 will allow the user to reverse the process, one step at a time.

Zooming on pictures:  Zooming on any graph can be done by in a variety of ways.

The last three methods of zoom can either be centered at the cursor or at a preset default point 13 (set to (0,0) in the above screen shot).  Ctrl+click in viewing window will reset zoom center to the cursor value.

For all zoom methods, the Default View button 20 will return the viewing rectangle to the default setting.  Default settings can be changed by selecting one from the drop down menu just above the viewing window 18.  The user can also choose their own viewing window parameters by typing in the horizontal and vertical ranges manually 16.  This view can then be set as the default by selecting Capture view in the drop down menu 18. Crossed or boxed axes may be selected with the buttons in 19.

Graphing basins of attraction: Do not use the Graph basins of attraction feature until told to do so in the text.  To color the basins of attraction check the Graph basins of attraction checkbox and then click on the Graph button that appears.  For each seed value in the domain in the current viewing window, the Newton Iterates are computed (up to the number of iterates in the box Max iterations) until the iterates are within Step tolerance of each other, and it is deemed that a root of f(x) has been found.  The seed value is then colored according to which root of f(x) it has found, or colored black if no root has been found.  This process can be tweaked by the user when new parameters for Max iterations and Step tolerance are entered.

Exporting pictures and Applet Settings: 
At the top left of the applet are the following drop down menus:


2. Complex Newton Method Applet
(currently called Complex NewtTool at http://www.jimrolf.com/java/complexNewtTool/complexNewtTool.html)


This is an applet to visualize the complex-valued Newton's method.  The user can operate this applet much like the Real Newton Method Applet discussed above; however, we note a few important changes to keep in mind.

When a function f(z) has been typed in (thus NOT selected by using the Pre-selected f(z) checkbox and corresponding drop down menu), this applet works identically to the Real Newton Method Applet.  This process is computationally intensive, and so the applet will sometimes take a few moments to produce a picture when using the Graph basins of attraction feature.  However, when using the Pre-defined f(z) checkbox (and corresponding drop down menu) to select f(z), the Graph basins of attraction feature works differently.  In this case, since the roots of f(z) are known, the Radius of convergence is used to determine convergence to the roots.  Specifically, a seed value is colored when its Newton iterate (up to the number of iterates in the box Max iterations) falls inside a Circle of convergence of one of the roots.  This makes this process much faster and so is the preferred method.  The Show circles of convergence checkbox make make these circles appear in the graph.  The Radius of convergence, i.e., radius of the circles of convergence, can be changed by the user by typing in a new value, and then hitting the Graph button (using the enter key will NOT effect this change).  The Plot roots checkbox will make the roots appear.  Also, by changing the  # color shades value (and then clicking Graph/Update), the basins of attraction will exhibit more shading to help indicate how many iterates are required for a given seed value to enter the circle of convergence.  For example, when # color shades is 4, then seed values of the same color and shade will take the same number of iterates mod 4 to enter the circle of convergence.    

Thumbnail pictures:  Thumbnail pictures at the bottom of the applet record previous pictures which can be restored (along with the corresponding applet parameters) by clicking on them.  The most recently created thumbnail has a white border.  All thumbnails will be deleted when the Delete thumbnails button is pressed or a new function is selected. 

Exporting pictures and Applet Settings: 
At the top left of the applet are the following drop down menus:


3. Real Function Iterator Applet
(currently Real IterTool at http://www.jimrolf.com/java/realIterTool/realIterTool.html)


This is an applet for iterating any real function, and seeing the orbit displayed as a numerical list and as points on a number line. It allows the user to choose up to three seed values at a time and view their orbits.

Basic Operation:  By entering a function f(x) either by typing it in (with help from the Function Help drop down menu) or by selecting one from the drop down menu of Pre-selected functions) and then clicking the Graph f(x) button, the user will see the graph of f(x) appear in the Viewing windowBy clicking on the graph of f(x), a seed 1 value x_0 will be selected.  One can also type in the seed 1 value x_0 directly and then click the Update button One can then iterate f(x) by clicking on the + button next to Iterate f(x) (or iterate 10 or 50 steps at a time with the corresponding buttons).  The successive orbit values are then plotted and also displayed in a table.  (These values can be copied and pasted into another file in the usual way, if one wishes to.)  By typing in a value for n and clicking on the + button next to Iterate f(x), the user can produce the first n orbit points x_1,..., x_n.  The - button will allow the user to reverse the process, one step at a time.  Also, by checking the boxes Show seed 2 and Show seed 3, one can choose multiple seed values to be iterated simultaneously.

Zooming on pictures:  Zooming on any graph can be done by in a variety of ways.

The last two methods of zoom can either be centered at the cursor or at a preset default point (set to (0,0) in the above screen shot).  Ctrl+click in viewing window will reset zoom center to cursor value.

For all zoom methods, the Default View button will return the viewing rectangle to the default setting.  Default settings can be changed by selecting one from the drop down menu just above the viewing window.  The user can also choose their own viewing window parameters by typing in the horizontal and vertical ranges manually.  This view can then be set as the default by selecting Capture view in the drop down menu. Crossed or boxed axes may be selected with the buttons labeled as such.

Exporting pictures and Applet Settings: 
At the top left of the applet are the following drop down menus:


4. Complex Function Iterator Applet
(currently Complex IterTool at http://www.jimrolf.com/java/complexIterTool/complexIterTool.html)



This is an applet for iterating any complex function, and seeing the orbit displayed as a numerical list and as points plotted in the complex plane. It allows the user to choose up to two seed values at a time and view their orbits.  It is very similar in use to the Real Function Iterator Applet and so we explain only the differences here.

This applet allows for either Polar or Euclidean inputs of seed value and independently allows for either Polar or Euclidean computation of functions.  Thus in Polar computation mode all seed values will be converted to polar form FOR THE PURPOSE OF COMPUTING THE FUNCTION VALUES and evaluation of the function will be made through the polar form of the map.  The Polar computation mode allows only maps of the form z^n.

For example, evaluating the map f(z)=z^2 in Polar computation mode means it will be evaluated as (r, θ) -> (r^2, 2θ).  Hence using the seed z_0 = 0.6 + 0.8i in Euclidean seed form and iterating f(z)=z^2 in Polar computation mode will cause the applet to convert z_0 to polar form (r, θ) = (1, arctan (4/3)) and so all computed iterates will be on the unit circle.  However, starting with the same seed and iterating f(z)=z^2 in Euclidean computation mode will, due to round off error, cause the orbit to leave the unit circle.

The orbit data is displayed in the same form as the seed value and can be toggled between Euclidean and Polar forms by clicking on the Euclidean seed form and Polar seed form buttons.  This applet allows for up to two seed values and includes a checkbox for a thin plot of unit circle to appear (as reference). 

Note about computational equivalency:  Though mathematically equivalent, the expressions z^2 and z*z are not computationally equivalent.  The former is evaluated as exp(2 Log z), where Log z is the principle logarithm, and the latter is evaluated through usual complex multiplication.  Thus each will incorporate different rounding errors at times.  The end result of this difference is quite evident when iterating the seed 0.6 + 0.8i (on the unit circle) in Euclidean computation mode under each of these maps.


5. Cubic Polynomial Complex Newton Method Applet
(currently Cubic PolyTool at http://www.jimrolf.com/java/cubicPolyTool/cubicPolyTool.html )

This applet allows the user to see the parameter plane and dynamic plane pictures for Newton's method applied to pρ(z) = z(z-1)(z-ρ).  In the applet, however, the parameter is called a instead of ρ

Basic Operation:  By selecting a value for ρ, either by typing in the value and clicking the Update button or clicking on the (left) Parameter Plane of ρ values window, the basins of attraction for Newton's method are then colored in the (right) Dynamic Plane (for Newton's method) of z values window.  The picture is drawn in the same way as in in the Complex Newton Method Applet (when a pre-defined function is selected).  Each ρ in the parameter plane is colored according to the root which the free critical point (1+ρ)/3 finds.  After clicking in the parameter plane, the ρ value can be moved by using the arrow keys on your keyboard.

In the center of the applet we have the following:

Under the Settings tab, the user can adjust the following by entering in a new value and then clicking the Update button

Zooming on pictures:  Zooming on any graph can be done by in a variety of ways.

The last three methods of zoom can either be centered at the cursor or at a preset default point (set to (0,0) in the above screen shot).  Ctrl+click in viewing window will reset zoom center to the cursor value. 

For all zoom methods, the Default View button will return the viewing rectangle to the default setting.  Default settings can be changed by selecting one from the drop down menu just above the viewing window.  The user can also choose their own viewing window parameters by typing in the horizontal and vertical ranges manually.  This view can then be set as the default by selecting Capture view in the drop down menu.

Thumbnail pictures:  Thumbnail pictures at the bottom of the applet record previous pictures which can be restored (along with the corresponding applet parameters) by clicking on them.  After creating 30 such thumbnails, the first created thumbnail will be overwritten (thus losing the picture that was previously there).  The most recently created thumbnail has a white border (red border if picture is in black/white). The last enlarged thumbnail is surrounded by a yellow border.  All thumbnails will be deleted when the Delete thumbnails button is pressed. 

Exporting pictures and Applet Settings:
At the top left of the applet are the following drop down menus:


6. Global Complex Iteration Applet for Polynomials
(currently called Global Complex Iteration at http://www.jimrolf.com/java/complexPolyIterTool/complexPolyIterTool.html
)

When the user to inputs any Polynomial, the applet draws the basin of infinity (with shading that depends on the number of iterates needed to escape, i.e., for an orbit point to have modulus greater than the Dynamic plane escape radius).  It will leave seed values black which do not escape after computing the partial orbit up to the value set in Dynamic plane max iterations. It also allows the user to choose up to two seed values at a time and view their orbits.

The applet will actually allow any complex function (not just a polynomial) to be entered in, but the method of drawing the basin of infinity only applies when infinity is an attracting fixed point.  Thus the applet will work well for, say, the map z^2+1/z^2, but will not produce accurate results for, say, e^z.

Basic Operation:
  By typing in a Polynomial f(z) and then clicking the Update button, the user will see the graph of the basin of infinity appear (non-black points) in the viewing windowThis process is computationally intensive, and so the applet will sometimes take a few moments to produce a picture.  By clicking in the viewing window, a seed 1 value z_0 will be selected.  One can also type in the seed 1 value directly and then click the Update button One can then iterate f(z) by checking the Iterate orbits checkbox, and then clicking the + button that appears.  The successive orbit values are then plotted and also displayed in a table under the Orbits 1 and 2 tab.  (These values can be copied and pasted into another file in the usual way, if one wishes to.)  By typing in a value for n and clicking on the + button next to Iterate orbits, the user can produce the first n orbit points z_1,..., z_n.  The - button will allow the user to reverse the process, one step at a time.  Also, by checking the box Show orbit 2, one can choose a second seed value to be iterated simultaneously.  After checking the box Show orbit 1 or Show orbit 2, a Connect orbit points checkbox appears which when checked will draw line segments connecting orbit points (to make them easier to see).   Also, there is a Show dynamic escape radius checkbox that when checked will draw the circle centered at (0, 0) with radius equal to the value set as the Dynamic plane escape radius.

Under the Settings tab, the user can adjust the following by entering in a new value and then clicking the Update button:

Zooming on pictures:  Zooming on any graph can be done by in a variety of ways.

The last three methods of zoom can either be centered at the cursor or at a preset default point (set to (0,0) in the above screen shot).  Ctrl+click in viewing window will reset zoom center to the cursor value. 

For all zoom methods, the Default View button will return the viewing rectangle to the default setting.  Default settings can be changed by selecting one from the drop down menu just above the viewing window.  The user can also choose their own viewing window parameters by typing in the horizontal and vertical ranges manually.  This view can then be set as the default by selecting Capture view in the drop down menu.

Thumbnail pictures:  Thumbnail pictures at the bottom of the applet record previous pictures which can be restored (along with the corresponding applet parameters) by clicking on them.  After creating 22 such thumbnails, the first created thumbnail will be overwritten (thus losing the picture that was previously there).  The most recently created thumbnail has a white border (red border if picture is in black/white). The last enlarged thumbnail is surrounded by a yellow border.  All thumbnails will be deleted when the Delete thumbnails button is pressed. 

Exporting pictures and Applet Settings: 
At the top left of the applet are the following drop down menus:


7. Mandelbrot Set Builder Applet
(at http://www.jimrolf.com/java/mandelbrotBuildTool/mandelbrotBuildTool.html
)

By choosing a c value (by clicking in the parameter plane (left) window or inputting it in manually), the point will turn color based on whether or not the critical orbit (computed as far as the value in the
Parameter plane maximum iterations input box) escapes for that c value; it will turn red when it escapes and black when it does not.  The applet will also plot and list the critical orbit values up to the number entered as the Orbit max iterations.  Using the arrow keys on the keyboard after clicking in the Parameter plane window will move the c value by small amounts, updating the critical orbit points as c changes dynamically.

The applet will also allow the user to ``select a square" (by click+drag mouse) in the Parameter Plane and have all the c values in that square colored appropriately which will only be activated after the Color selected square checkbox has been checked (default is unchecked so students do not stumble upon this feature too soon).

Exporting pictures and Applet Settings: 
At the top left of the applet are the following drop down menus:


8. Parameter Plane and Julia Set Applet
(currently called FractTool at http://www.jimrolf.com/java/fractTool/fractTool.html)


This applet allows the user to see the parameter plane and dynamic plane pictures for several families of functions.  The functions one can investigate (via the drop down menu at the top center of the applet) are z^2+c, z^d+c, c*e^z, c*sin(z), c*cos(z), and z^d +c/z^m.  It is very similar in use to the Global Complex Iteration Applet for Polynomials and so we explain only the new features here.

Basic Operation:  We explain how to use this applet when the family of maps z^2+c is selected, noting that the other families will behave similarly (except for the obvious changes, such as escape criterion).  By selecting a value for c, either by typing in the value and clicking the Update button or clicking on the (left) Parameter Plane of c values window, the basin of infinity is then colored in the (right) Dynamic Plane of z values window, with the filled in Julia set colored black.  The c value can also be moved around the parameter plane by using the arrow keys on your keyboard.

In the center of the applet we have the following:

Under the Settings tab, the user can adjust the following by entering in a new value and then clicking the Update button

Thumbnail pictures:  Thumbnail pictures at the bottom of the applet record previous pictures which can be restored (along with the corresponding applet parameters) by clicking on them.  After creating 30 such thumbnails, the first created thumbnail will be overwritten (thus losing the picture that was previously there).  The most recently created thumbnail has a white border (red border if picture is in black/white). The last enlarged thumbnail is surrounded by a yellow border.  All thumbnails will be deleted when the Delete thumbnails button is pressed or a new family of maps is selected. 

Exporting pictures and Applet Settings: 
At the top left of the applet are the following drop down menus:

Note: The family of functions z^w+c = exp(w Log z) + c, where Log z is the principle logarithm for complex constants w and c has been added.  The "Julia" set pictures in the dynamic plane represent the split between points with bounded orbit and points with unbounded orbit.  The parameter plane represents the split between those c values for which the origin escapes and those for which it does not.  However, these maps are not in general analytic and so one must apply the general theory with great caution.