Up to Pisces Online Documentation

Find Singularity

Overview

The purpose of the Find Singularity utility is to compute the coordinates and other information about a singular point on a level curve on a plane.

Planar singularities on a curve are special because the partial derivatives of the function which defines the curve vanish at that point. As a result, algorithms (such as the predictor corrector) that compute and draw a level set curve have difficulty computing level set curves in the neighbourhood of the singularity. This planar singularity algorithm will compute information about singularities and will draw level set curves near the singularities.

The planar singularity algorithm computes the coordinates of the singular point by solving a system of linear equations. The algorithm constructs the system of equations by inflating the equation for the current model. The algorithm also computes and draws a linear approximation to the level set curve in the neighbourhood of the singularity.

The planar singularity algorithm displays the results on a graphics output window. The algorithm marks the singular point with a dot (colored red). Also, the algorithm draws a linear approximation of the level set in the neighbourhood of the singularity using line segments (colored green).

This is not a standard algorithm such as Predictor-Corrector or AGrid, since it does not solve for level sets but only for singularities. As a result, the algorithm is not installed in the usual manner and a tcl file is required to define the user interface. The algorithm itself is implemented in C and the appropriate procedures need to be defined to make the C algorithm accessible by tcl/tk.

How it works

The purpose of the Singularity algorithm is to locate the singular point or points on a level set curve. In order to do this the algorithm works as follows:

  1. The user specifies the algorithm parameters by entering a value in the appropriate text entry widget in the singularity panel. The list below describes the purpose of each text entry.
  2. The planar singularity algorithm decomposes the domain into a uniform grid with equal number of subdivisions in the X and Y directions (2D). The algorithm uses the coordinates of the nodes of this grid in order to find the singularities.
  3. The algorithm follows these steps:
         initialize singularity array
         for the number of singularities requested to find {
             for each point on the grid of the domain {
                 estimate the null space vectors u and v
                 run the inflated solver to solve for x
                 check the bounds of the solution
                 evaluate the 2-jet coefficients at x
                 draw the singular point x
                 draw the 2-jet line segments
             }
         }
         clean up singularity array
    
The main part of the algorithm is the "inflated solver". This procedure uses the definition of the model and null space vectors to solve for the coordinates (x,y) of the singular point.

Controlling Find Singulartiy from Pisces


The panel labels are in bold and the Tcl/Tk variables corresponding to each entry are in square brackets. To use the Singularity algorithm, following steps are required:

Starting up...

  1. Start up Pisces.
  2. Select a model (such as "Cubic2D" ).
  3. Select the graphics output device.
  4. Select an Algorithm such as "AGrid".
  5. Select the "Settings" Menu and select the "Output" panel.
  6. Set the "adds to last" option on.
  7. Push the "Go" button in the "AGrid" panel.
  8. The algorithm draws the level set.
Location...
  1. Select the "Utilities" menu and select "Find Singularities".
  2. The "Find Singularity" panel pops-up.
  3. Push the "Find" button.
  4. The singularity is marked with a red dot and green lines.
  5. Push the "Info" button.
  6. The "Singularity Info" panel pops up with info on the coord and partial derivatives of the singularities.

Known Bugs

The variables used for this algorithm are not installed with the postmaster. Instead they are C global and tcl global.

The info panel only shows info for one singularity at a time.

Bug Reports

software@geom.umn.edu

Algorithm Implemented By

Nicolas Vera

Acknowledgements

Thanks to Rick Wicklin for his help in developing this algorithm.

The algorithm uses the Givens rotation outlined in

Matrix Computations,
by Gene H. Golub and Charles F. Van Loan,
from The Johns Hopkins University Press,
1989

and the single value decomposition C procedure from

Numerical Recipes in C,
by William H. Press and Brian P. Flannery and Saul A. Teukolsky and William T. Vetterling,
from Cambridge University Press,
1988


[Pisces] The Pisces Home Page

[HOME] The Geometry Center Home Page

Comments to: pisces@geom.umn.edu
Created 6/7/1995 by Nicolas Vera
Converted to html on July 26, 1995 by Erik Streed
Last Modified: July 26, 1995
Copyright © 1995 by The Geometry Center, all rights reserved.