Topics:
- Overview
- The master plot
- Mouse on plots
- Histogram
- Return map
- Kelly plot
- Time series
- Bifurcation plot

Fractal Iterative Dynamics (FracDyn)
User Interface

This applet explores fractal properties of iterated functions (listed on the Scenarios menu.) Each function generates a series of N values, with xi = f(xi-1).

FracDyn uses six different plots to show this data - the two on the main page, and four more opened by buttons at the left.

The Scenarios functions are discussed on another page, Help | Math. This file focuses on how to manipulate the things on the screen.

Overview

The basic scheme here is:

  1. Select an iterative function from the Scenarios menu.
  2. The function is drawn in the graphical iteration, or master, plot to the left of the main applet screen. This plot is labeled with the function's name and defining parameters.
  3. Other plots are different views of what is on this master plot.The histogram (right) plot is most closely slaved to the master plot - if you zoom in on the master plot, the histogram zooms to match, etc.
  4. Buttons to the left of the master plot open other plots in external windows. Each shows the same function you manipulate on the master plot.
  5. Buttons along the top of a plot, manipulate that plot.

The Master Plot

The master plot shows the graphical iteration of your chosen function (Scenario). Click on the plot to see a new iteration. The function itself is drawn in green. The red diagonal is a slope=1 line. The black lines are a series of L's, one for each step of the iteration - the points are:

(xi, xi), (xi, xi+1), (xi+1, xi+1)

That's a vertical, then horizonal, segment for each L, going from the diagonal, to the green function line, back to the diagonal. The last L is highlighted in magenta. The animation button controls the animation of the first few steps of the iteration. You can turn that off.

Parameters s and composition control the shape of the function. See Help | Math for the formulas. For each function, there is a range of viable s. Composition is the number of times the function is applied in each step. For example, if composition=3, xi+1 = f(f(f(xi))). You can change s and composition (or comp) via the sliders below the master plot, or via the parameters button menu. The menu gives finer control.

A small range of s yields most of the interesting behavior. For instance, in the picture above, the Logistic function, the default value, s=3.83, settles to a 3-point cycle. (Note smattering of points, plus three long bars on histogram above.) Below s=3.0, the function converges to a single value. Between s=3.0 and s=4.0 is where most of the action is.

Parameters x0 and num iterations determine the trajectory of the black lines through the function - x0 is simply where to begin. You can enter an exact x0 via the parameters menu, or click on the plot to set a new x0. Other mousing and zooming operations are discussed under mouse on plots below.

Changing scenario or any parameters on the master plot, affects all other plots, except the bifurcation diagram, which is a bit more independent.

Mouse on Plots

Four of these six plots respond to mousing over the plot area.

Clicking on the main plot, sets a new x0 for all the plots which obey that. (The bifurcation diagram uses its own x0.) On the time series, return map, and bifurcation diagrams, clicking does a fit operation, restoring the window to its original all-data limits.

Dragging a rubberbanded box, zooms in on these plots. Right-clicking or control-clicking zooms out a bit, but never beyond the fit limits.

The zoom buttons above a plot are similar, except that the zoom-in is by a fixed amount, on the center of the plot.

The mousable plots have a mouse tracking window at lower right, showing the coordinate position of the mouse. For example, on the time series, where the horizontal axis is i and the vertical x(i), the mouse tracker looks like Unlike the others, the mouse trackers on the histogram and time series plots read the data they're displaying, instead of the arbitrary coordinate location of the cursor.

The histogram plot zoom always matches the master plot. To make its bars bigger, use the bin button above the histogram. There are no mouse operations on the Kelly plot.

The plot windows are resizeable, but the plots insist on their original aspect ratio.

The external plots tend to slow down operations, so close them when not in use, using the usual window close icon at the upper right of the little window. You can reopen them when you wish.

Histogram

By default, each xi from the master plot adds one dot to the length of the histogram line to its right. You can make these histogram lines thicker or longer per xi via the button above the histogram plot. Each bar of the histogram is considered a "bin". If you make the lines thicker, you use fewer bins. Any time you zoom the master plot, the histogram redraws to match.

If an iteration settles to a single value or cycle, the histogram has a smattering of points plus one or more long bars. If the iteration is chaotic, a range of the histogram looks randomly furry.

Return Map

Logistic function, s=3.9.
The button opens the return map window. By default, the return map plots the points (xi, xi+1) from the iteration series in the master plot. Changing the parameters of the master plot regenerates the return map.

You can change the dot size from its default one pixel per point.

Another button allows you to turn on something called process differences. If the "use differences" switch is selected here, a different series of points is plotted, not the (xi, xi+1) from the iteration series in the master plot, but a series constructed by taking the differences between points:

x'i = x[delay + i*offset + 1] - x[i*offset + 1]

Then the (x'i, x'i+1) points are plotted. With the default parameters, delay=1, offset=1, that would be

x'0 = x2 - x1
x'1 = x3 - x2
...

Kelly Plot

Tent map, s=1.3, equal weight bins.
In a Kelly plot, each square represents a single iterate xi of the series from the master plot. The values are mapped from upper left, left to right across each line, until run out of values, usually before the end of the last line. Unused squares are grey.

Colors on the Kelly plot are assigned by "bins". For N bins, there are N-1 numbers defining the bins, because bin 1 means "all values less than or equal to this one get this color, else check bin 2", and so on, until reach bin N-1. Any value greater than that, gets the highest bin color.

In general, Kelly plot colors are arbitrary, but for this applet, there's a system. Colors get progressively deeper from the middle bin, using a range of purples for values below the middle, and blues for values above the middle. If the number of bins is odd, there exists a middle bin, and it's white.

The list bins button shows the current bin values and their colors. If you change a value here, the binning scheme changes to "Bins: my own" (labeled at bottom of Kelly plot). If you have trouble seeing the values on the dark color backgrounds, highlight the text using the mouse. There is no value for the highest bin - you can't set that value, since it means "anything else".

The set bins button menu gives you a choice of binning schemes, to generate the bin settings for you (or let you build your own). Use list bins to see and adjust the results of the auto-generated bins. Choices are:

The Kelly plot tries to be square, constrained by the number of points it has to plot. Its width is the square root of the number of iterates to plot, rounded down.

Time Series

Logistic map, s=3.7, zoomed in.
The time series is straightforward. The iterates from the main plot are plotted as (i, xi). This generic kind of plot is called a time series because usually the successive i's represent time.

The time series provides the usual mousing and zoom operations. You can plot lines, points, or both via the button at the top.

Bifurcation Diagram

Logistic map, default bifurcation parameters.
The bifurcation diagram is very different from the others in this collection, and much less driven by changes on the main plot window. It is not drawing the same data in a different format, but rather generating its own, far more data. It's also big and slow, so close it when not in use.

The horizontal axis of the bifurcation diagram is s, running the whole valid s-range shown on the main plot. The vertical axis is iterate x-values. This plot is ~500 pixels wide, so for each of 500 s values, it plots N iterates (500 x N).

This plot uses its own values for N iterates and starting x0, both set on its own parameters button menu. Changing x0, s, or N on the master plot, has no effect here. Changing the function or composition (comp) does change the bifurcation diagram.

The bifurcation parameters include two more settings. "Drop first N iterates" simplifies the picture by removing transients. "Highlight iterates" is a list of iterate numbers to draw in color on top of the completed picture. List items are separated by blanks or commas. This is mostly used to show the iterates that have been suppressed by "drop first N", but can be used for any.

The colors are in rainbow order, red, orange, ..., purple. The same 6 colors are used for any number of highlighted iterates up to 6. For more, it generates a custom rainbow for however many are needed.

Using the default bifurcation parameters (drop first 50), any part of the bifurcation diagram that is vertically thick, should generate some interesting behavior on the other plots. For instance, although most of the action is above s=3.0 on the logistic function, you can see from this picture that there's more than initial transients around s=1.0.

In the really thick areas to the right of s=3.0, you can find some interesting areas by zooming way in and reading the mouse tracker for s values. For example in this zoomed-in closeup, I placed my cursor at the red + mark inside an empty bubble on the diagram, and read s=3.5677 on the mouse tracker. This suggests an interesting value to type in on the parameters menu on the master plot. (The s-slider is no good for precision values.)


Ginger Booth for
Michael Frame, April 2007