Feigenbaum program: Instructions

1. Introduction

2. Options

    2.1 Change Ranges
    2.2 Computation Options
    2.3 Saved Graphic Size

3. Other menu commands

    3.1 Show Ranges
    3.2 Previous Zoom / Zoom out
    3.3 Refresh
    3.4 Show Critical Value Images
    3.5 Save Diagram
   

1. Introduction


This program is used for drawing Feigenbaum (or Final-State ) diagrams such as those found in Chapter 11 (Figures 11.2, 11.3, 11.20, 11.32, 11.33 and 11.41). You can zoom in on portions of the diagram
either by entering a range of a and x values, or by dragging with the mouse. In addition, the program will superimpose images of the critical value, which organize the Feigenbaum diagram as described in Section 11.4.

The program is controlled via a single menu, and these instructions deal in turn with each of the menu items. Notice that each of the menu commands has a keyboard short-cut, displayed next to the command in the menu.

The Feigenbaum diagram initially displayed when the program starts has the parameter a varying between 3.3 and 4, and shows the full range of x values from 0 to 1. Notice that these values are displayed in the status bar
at the bottom of the window, as are the current (a,x) co-ordinates of the mouse cursor (this can help you to locate the value of a at which the Feigenbaum diagram undergoes a change such as a period-doubling).

You can zoom in on any portion of the Feigenbaum diagram simply by dragging the mouse with the left button depressed. Because Feigenbaum diagrams take a long time to compute, you may have to wait a second or so
until the zoomed diagram is displayed.

Notice also that you can resize the window in any way you wish (however, read Section 3.3 about refreshing the screen when you do this).

2. Options

Choose Set Options in the menu, or type CTRL+O, to bring up the options dialog box. Here you can change the range of a and x values plotted manually, adjust the way that the Feigenbaum diagram is computed, and control
the size of the bitmap used to save the diagram for later inclusion in your project.

2.1 Change Ranges

Here you can manually enter the range of a and x values to be plotted. Obviously the a range must be between 0 and 4, and the x range between 0 and 1 - the program will reject any other input. On pressing OK, the diagram
is updated. Note that you can also zoom in on part of the diagram by dragging with the mouse.

2.2 Computation Options

The values in the three edit boxes Initial,  Plotted, and Steps change details of the way that the Feigenbaum diagram is computed. The value in the Steps box gives the number of different values of a (between alo and ahi) for
which calculations are carried out. There is nothing to be gained by having more steps than the width of the window in which the diagram is plotted, so there is little point increasing this value above about 1000. Conversely, if
you are working in a very small window, you can speed up the computations by reducing this value.

For each value of a considered, a random initial condition x0 is iterated Initial times without anything being plotted. This means that if there is a stable periodic orbit at that value of a, then by the time plotting starts the orbit of x0
will already be very close to the stable orbit. Then, the next Plotted iterates are plotted on the screen. The default values of Initial and Plotted are fine to start with, but if you zoom a long way into the diagram then
you may need to increase Initial, perhaps substantially, to get a good quality diagram. Of course, this slows down the computation.

For example, set the range of a values to be 3.448 to 3.45, and the range of x values to be 0.847 to 0.852. You'll notice that the diagram (which should consist of smooth curves) is very blurred. This is because, at this scale, 3000 initial iterates isn't enough to get close to the stable periodic orbits. Taking Initial  to be 6000 and 10000 improves the situation somewhat, but you need to take about 12000 initial iterates to get a really clear diagram.

2.3 Saved Graphic Size

 It's likely that you'll want to include some of the diagrams you produce with the program in your project. To do this, you can  save them as Windows Bitmap (.bmp) files, which can then be inserted in your Word documents (and indeed edited in programs such as Paint).  The size of the saved graphic isn't governed by the size of the window on the screen, but by the values in the Width and Height edit boxes. If you choose small values here, then the bitmap file will be smaller, and so take up less of your file space. However, you will also lose resolution, so if you want clear and large figures in your Word document, you should take these values to be relatively big.

3. Other menu commands

3.1 Show Ranges

(Shortcut: CTRL+R)  Selecting this menu item enables you to choose whether or not the current ranges of a and x are displayed beneath the Feigenbaum diagram. One reason you might want to do this is so that the saved diagrams which you include in your project come ready labelled with the appropriate ranges.

3.2 Previous Zoom / Zoom outs

(Shortcuts: CTRL+P, CTRL+Z) If you zoom into the Feigenbaum diagram using the mouse and then realise that you've made a mistake, or would just like to zoom into a different region, then the Previous Zoom command restores the previous zoom level. It can be used repeatedly. To restore the original fully zoomed out diagram, use the Zoom out command.

3.3 Refresh

(Shortcut: CTRL+F) The Feigenbaum diagram is pre-computed and stored in memory, so that it can be drawn on the screen very quickly. This means, for example, that if you cover up the Feigenbaum diagram with another window and then uncover it, you don't have to wait for it to be drawn again. However, a disadvantage with this approach is that when you resize the window (by maximizing, or dragging its border), the stored diagram is no longer appropriate for the size of the window, and can look very poor. Use the Refresh command to recalculate it at a resolution appropriate for the window.

To see how this works in practice, restart the program, and then maximize the window containing the Feigenbaum diagram. Refresh it by hitting CTRL+F, and notice how much better the refreshed image looks.

3.4 Show Critical Value Images

As described in Section 11.4, the images of the critical value fa n(1/2) play an important role in organizing the Feigenbaum diagram. You can superimpose these images on the diagram (in red) by selecting Show Critical Value Images from the menu, and then choosing a number n from the submenu. This will cause faj (1/2) to be plotted in red for every value of a, and for each  j between 1 and n. Try it with the starting Feigenbaum diagram and n=8 to see the effect.

3.5 Save Diagram

(Shortcut: CTRL+S) Choosing this menu command will bring up a standard Save dialog box enabling you to save the Feigenbaum diagram as a Windows bitmap file for inclusion in your project. See Section 2.3 for further details.