1 / 30

How Can We Determine Numerical Quality in Software?

This doctoral dissertation explores the concept of numerical quality in software, specifically focusing on the functional stability analysis of numerical algorithms. It discusses the challenges and approaches in determining numerical quality, such as maximizing the ratio of forward error to condition number. Various algorithms, including Nelder Mead Simplex and Subplex, are utilized to identify unstable algorithms and estimate backward error.

Download Presentation

How Can We Determine Numerical Quality in Software?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. How Can We Determine Numerical Quality in Software? The Doctoral Dissertation of Thomas Rowan

  2. Thomas Harvey Rowan: “Functional Stability Analysis Of Numerical Algorithms” Doctoral Dissertation Department of Computer Sciences The University of Texas at Austin 1990

  3. What is meant by numerical quality?

  4. What 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)

  5. What 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”

  6. Input: a pair of lines in the plane

  7. Input: a pair of lines in the plane Output: the intersection (if any)

  8. This is what we seek: A poor solution to a well conditioned problem

  9. ? ? Notice the difficulty: We have to guarantee that the approximate solution is not the solution to ANY close problem

  10. Idea: Search the input space attempting to maximize the ratio of the forward error to the condition number.

  11. Idea: 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?

  12. Would you like to find the maximum of this?

  13. Nelder Mead Simplex Algorithm: The crawling spider

  14. high high high high

  15. Simplex difficulties: • Huge use of storage (n2) • Equivalent weight to all variables

  16. Simplex difficulties: • Huge use of storage (n2) • Equivalent weight to all variables Subplex: Determine small subspaces likely to be most useful for determining minimum

  17. The idea is to use the Subplex Algorithm to locate minima of (the negative of) the backward error INSTAB SUBPLEX Backward Error code code extra precision

  18. Does it work?

  19. Does it work? • Tried on known unstable algorithms • Tried on known stable algorithms • Tried on unknown algorithms

  20. Does 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

  21. Backword error estimate for Gaussian elimination

  22. Anything left to do? • Two papers to write • Translation into C++ or Matlab • More experiments • Refinements to INSTAB or SUBPLEX

More Related