Title: How Can We Determine
1How Can We Determine Numerical Quality in
Software?
The Doctoral Dissertation of Thomas Rowan
2Thomas Harvey Rowan Functional Stability
Analysis Of Numerical Algorithms Doctoral
Dissertation Department of Computer Sciences The
University of Texas at Austin 1990
3What is meant by numerical quality?
4What is meant by numerical quality?
The computed solution (i.e. the output) is the
exact solution to a close problem (i.e. having
slightly different input)
5What is meant by numerical quality?
The computed solution (i.e. the output) is the
exact solution to a close problem (i.e. having
slightly different input)
This is called numerical stability
6Input a pair of lines in the plane
7Input a pair of lines in the plane
Output the intersection (if any)
8(No Transcript)
9(No Transcript)
10(No Transcript)
11(No Transcript)
12(No Transcript)
13(No Transcript)
14This is what we seek A poor solution to a well
conditioned problem
15?
?
Notice the difficulty We have to guarantee
that the approximate solution is not the
solution to ANY close problem
16Idea Search the input space attempting to
maximize the ratio of the forward error to the
condition number.
17Idea Search the input space attempting to
maximize the ratio of the forward error to the
condition number.
Details, details How do you get the forward
error? How do you get the condition number?
18Would you like to find the maximum of this?
19Nelder Mead Simplex Algorithm The crawling
spider
20high
high
high
high
21(No Transcript)
22(No Transcript)
23- Simplex difficulties
- Huge use of storage (n2)
- Equivalent weight to all variables
24- Simplex difficulties
- Huge use of storage (n2)
- Equivalent weight to all variables
Subplex Determine small subspaces likely to be
most useful for determining minimum
25The idea is to use the Subplex Algorithm
to locate minima of (the negative of) the
backward error
SUBPLEX
INSTAB
code
Backward Error
code extra precision
26Does it work?
27Does it work?
- Tried on known unstable algorithms
- Tried on known stable algorithms
- Tried on unknown algorithms
28Does it work?
- Tried on known unstable algorithms
Identified all as unstable
- Tried on known stable algorithms
Found no false positives
- Tried on unknown algorithms
Discovered unstable algorithms
29Backword error estimate for Gaussian elimination
30Anything left to do?
- Translation into C or Matlab
- Refinements to INSTAB or SUBPLEX