Affiliation:
1. Department of Computer Science, Rice University, Houston, Texas
Abstract
The constructive reals provide programmers with a useful mechanism for prototyping numerical programs, and for experimenting with numerical algorithms. Unfortunately, the performance of current implementations is inadequate for some potential applications. In particular, these implementations tend to be space inefficient, in that they essentially require a complete computation history to be maintained.
Some numerical analysts (cf. [3]) propose that the programmer instead be provided with variable precision
interval arithmetic
, and then be required to write code to restart a computation when the intervals become too inaccurate. Though this model is no doubt appropriate at times, it is not an adequate replacement for exact arithmetic. The correct transformation from a program operating on the constructive reals to a reasonable program using iterated interval arithmetic can be nontrivial and error prone. Here we present a technique based on
program slicing
to both automate this process and reduce the amount of reexecution. Thus the programmer is still free to use the simpler abstraction of exact real arithmetic, but we can provide a more efficient interval arithmetic based implementation. Some preliminary empirical results are presented.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference19 articles.
1. A precise numerical analysis program
2. Precise Scientific Computation with a Microprocessor
3. Introduction to Interval Computations. Academic Press, 111 Fifth Avenue, New York;Alefeld Stz;New York,1983
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Parallel shadow execution to accelerate the debugging of numerical errors;Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2021-08-18
2. Towards an API for the real numbers;Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation;2020-06-06
3. Finding root causes of floating point error;Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation;2018-06-11
4. The constructive reals as a Java library;The Journal of Logic and Algebraic Programming;2005-07