Documentation for the GUI
The GUI is designed to serve two purposes. For
large-scale eigenvalue computations it can be used when running the
eigs command for sparse matrices,
or it can be used for smaller, dense matrices
(dimension of the order of a thousand). Once the GUI has been started,
the operation is almost exactly the same.
The software can be downloaded here.
One of the main advantages of the GUI is the ability
to zoom into specific parts of the pseudospectra with ease. Use the
left mouse button to zoom in (clicking will zoom in by a factor of
two, or dragging will zoom to the rectangle drawn) and the right
button to zoom out. If you zoom out and then decide you want to zoom
back in again, simply click once on the plot and you will be returned
to the previous zoomed state.
When the pseudospectra display is first zoomed, no computation takes
place: only the axis is changed. To compute the pseudospectra using a
grid based on the new axes, press the Go! button (see buttons).
Control of the rest of the GUI is divided into five areas:
Go! | Use this
button to re-compute the
pseudospectra on the current axes, using the number of grid points and
projection level shown. This could potentially take a long time.
This button will change to Stop! when a
computation is being performed. Note: The computation will not stop until the end of
the current grid line is reached.
|
Start Again | This button takes you back to
the pseudospectra and options the GUI began with. |
New Matrix | Selects a new matrix. This
can be used to read a matrix from the current workspace just by typing
its name, or to create a matrix on the fly, either by using an m file
or by composing commands [e.g. gallery('grcar',30)]. |
Field of Vals. | This button adds the field of
values (numerical range) of the matrix to the plot. You will be prompted
for the number of points to use to evaluate this: leave blank to default
to the same number as the pseudospectra grid. |
Mode+Cond.No | Clicking this button allows you
to select an eigenvalue from the plot using the cross-hairs presented.
The corresponding eigenmode and eigenvalue condition number will then
be displayed in a separate plot. Note that subsequent use of this button
will overwrite the same figure; if you wish to keep an eigenmode for comparison,
you should select `Keep this eigenmode' from the `Eigenmode controls' menu
of that figure. |
Pmode+epsilon | Clicking this button allows you
to select any point in the plot using the cross-hairs presented.
The corresponding pseudoeigenmode and epsilon (1/resolvent norm) will then
be displayed in a separate plot. Note that subsequent use of this button
will overwrite the same figure; if you wish to keep an pseudoeigenmode for comparison,
you should select `Keep this pseudomode' from the `Pseudomode controls' menu
of that figure. |
Printable Plot | Creates a figure containing
the pseudospectra but none of the buttons or other controls. In black
and white the colour bar is not drawn. |
Quit | Exit the GUI |
This panel allows you to change the axis limits.
The `Scale Equal' checkbox keeps the axes in proportion.
This box
shows the number of grid points used in the current pseudospectra
computation. If you are not using `Scale Equal' (see Figure Axes), this is the number of gridpoints
used in each direction. However, if you are using `Scale Equal', this
is the number of points used in the longer direction; the number in
the shorter direction is determined by the ratio of the axis
limits. There will always be at least 5 gridpoints in either
direction. To change the number of gridpoints used, enter a new number
here then click on the 'Go!' button.
These two checkboxes give you control
over the look of the lines in the plot. 'Colour' toggles between
colour and black and white lines, and 'Thick' switches between
thick and thin lines.
Control of the contour levels plotted is achieved by entering
log10(.) of a smallest and largest level desired along with the
step size (spacing between the contours) to use.
A `smart' guess at the contour levels to plot can be obtained by
clicking on the button "`Smart' levels". This chooses the levels
based on the maximum and minimum singular values visible in the
current plot, as well as how close to normal the matrix is in this
region. Fewer contour lines are plotted for more normal matrices.
See the Projection
Tutorial for a worked example of the use of projection.
Projection is only available when
the GUI is used for dense matrices. For
efficiency, the dense algorithm can project the matrix onto an
invariant subspace spanned by part of the spectrum. In some cases this
may be undesirable (it may alter the level curves of the pseudospectra
plotted) and can be removed by setting the projection level to
Inf. Any value from 0 to Inf is allowed, 0 being
projection onto just those eigenvalues visible within the current
axes, b being projection onto a rectangle (1+2b) times as
wide and (1+2b) times as tall as the current axes. Projection
can dramatically decrease the computation time, but it should be used
carefully to avoid getting misleading pictures.
To ensure that the choice
of projection parameter has not caused problems in a particular case,
the parameter should be increased and the pseudospectra recomputed. If there is a
change to the picture, the projection is affecting the result and the parameter
should be increased further.
This parameter is most useful for creating
high-quality plots (see the Projection Tutorial). First
the area of the pseudospectra to plot is determined on a coarse grid with no
projection. After that, projection is introduced ('Safety' reduced) to a level which
does not cause a change to the plot. Only then are the pseudospectra computed on a
fine grid.
For a more detailed discussion of projection,
see Trefethen's paper, Computation of Pseudospectra (Acta Numerica,
1999).
There are four menus available in the
GUI:
File | Save Current State | This option allows you to save the
current state of the GUI as a MATLAB figure. You can then return to this by
using the MATLAB open command. |
Save Current State As | This allows you to save the GUI
session under another name. |
Printable Plot | Create a figure without any of the GUI buttons or controls. This brings up a dialog box prompting for a figure number: leave blank to create a new figure, or enter a number to use an existing figure. |
Quit | Exits the GUI. |
Extras | Options Code for
Printing | Selecting
this item outputs text to the MATLAB window which can
then be cut and pasted into a script. The text contains commands which
set up the necessary options to compute this particular pseudospectra
(on the current axis with the current settings) and then create a
printable plot. The GUI is then closed. Note that this option requires
the re-computation of the pseudospectra. |
Save for Quick Print Creation | This option is
similar to above, except that it saves the necessary data for
re-creating the current pseudospectra in a .mat file. A printable plot
can then be created almost instantly by calling the function PSA with
a single argument, the name of the file the data was saved
in. |
Show Dimension | This option displays the dimension of the matrix in the bottom left hand corner
of the axes. This is useful for determining the size of the projected
matrix if projection is being used. |
Show Grid | This option displays the grid used for the pseudospectra computation. |
Display Eigenvalues | This option toggles the display of eigenvalues on the pseudospectra plot. |
Arbitrary Levels | This option allows the use of epsilon levels which are not equally spaced, and
hence can't be entered using the GUI's standard `Contour Levels' pane. |
Documentation | This option lanches your default web browser and links to
the online documentation page for the GUI. |
Pseudospectra Gateway | This option lanches your default web browser and links to
the ,
a site which contains a wealth of information about
pseudospectra. |
Demos | Finer grid (slower) | When selected, this causes all
subsequent demos to be comptued on a finer grid. |
The demos | Each demo has a sub-menu that allows one to either compute the pseudospectra for this matrix, or display the code used to create the matrix. In some cases two computation items are offered, one on a smaller dimension matrix that will be faster, and one on a larger matrix that will represent the problem more fully. |
Window | Default | This menu contains the standard
contents of the Window menu in all MATLAB
figures. |
Pseudospectra GUI home page.
|