ACM Home Page
Please provide us with feedback. Feedback
High-level proofs of mathematical programs using automatic differentiation, simplification, and some common sense
Full text PdfPdf (145 KB)
Source International Conference on Symbolic and Algebraic Computation archive
Proceedings of the 2003 international symposium on Symbolic and algebraic computation table of contents
Philadelphia, PA, USA
Pages: 88 - 94  
Year of Publication: 2003
ISBN:1-58113-641-2
Author
Richard Fateman  University of California, Berkeley
Sponsors
SIGSAM: ACM Special Interest Group on Symbolic and Algebraic Manipulation
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 43,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/860854.860883
What is a DOI?

ABSTRACT

One problem in applying elementary methods to prove correctness of interesting scientific programs is the large discrepancy in level of discourse between low-level proof methods and the logic of scientific calculation, especially that used in a complex numerical program. The justification of an algorithm typically relies on algebra or analysis, but the correctness of the program requires that the arithmetic expressions are written correctly and that iterations converge to correct values in spite of truncation of infinite processes or series and the commission of numerical roundoff errors. We hope to help bridge this gap by showing how we can, in some cases, state a high-level requirement and by using a computer algebra system (CAS) demonstrate that a program satisfies that requirement. A CAS can contribute program manipulation, partial evaluation, simplification or other algorithmic methods. A novelty here is that we add to the usual list of techniques automatic differentiation, a method already widely used in optimization contexts where algorithms are differentiated. We sketch a proof of a numerical program to compute sine, and display a related approach to a version of a Bessel function algorithm for J0(x) based on a recurrence.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
A Collection of Automatic Differentiation Tools. http://www-unix.mcs.anl.gov/autodiff/AD_Tools/
 
3
 
4
A. Bundy. "A Survey of Automated Deduction". Lecture Notes in Computer Science volume 1600, Springer-Verlag, 1999.
 
5
N. de Bruijn. A survey of the project AUTOMATH, in J. Seldin and J. Hindley, eds, `To H.B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formalism', Academic Press, 1980,pp. 579---606.
 
6
G. Dowek, Felty A., Herbelin H., Huet G., Murthy C., Parent C., Paulin-Mohring C. and Werner B. {1993}, "The Coq proof assistant user's guide," Rapport Techniques 154, INRIA, Rocquencourt, France. Version 5.8.
 
7
8
9
 
10
R. Fateman."Compiling functional pipe/stream abstractions into conventional programs: Software Pipelines," on-line notes.
 
11
R. Fateman."Programs for evaluating polynomials," on-line notes.
12
 
13
 
14
 
15
 
16
 
17
F. Wiedijk, "Conditional Computing (what proof checking needs from computer algebra)" on-line notes. http://www.cs.kun.nl/˜freek/notes/.