Rice Univesrity Logo
    • FAQ
    • Deposit your work
    • Login
    View Item 
    •   Rice Scholarship Home
    • Faculty & Staff Research
    • George R. Brown School of Engineering
    • Computer Science
    • Computer Science Technical Reports
    • View Item
    •   Rice Scholarship Home
    • Faculty & Staff Research
    • George R. Brown School of Engineering
    • Computer Science
    • Computer Science Technical Reports
    • View Item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

    Optimizing Programs over the Constructive Reals

    Thumbnail
    Name:
    TR91-159.pdf
    Size:
    4.855Mb
    Format:
    PDF
    View/Open
    Author
    Lee, Vernon A.
    Date
    April 8, 1998
    Abstract
    A real number x is constructive if an algorithm can be given to compute arbitrarily accurate approximations to x. An efficient implementation of constructive real arithmetic could be used for prototyping numerical programs, experimenting with numerical algorithms, to distinguish round-off errors from algorithmic errors, and to perform computations in highly unstable sections of a program. It could be used to evaluate expressions in a symbolic algebra system without regard to their numerical stability. It would also be useful in an automatic assertion checking system in a programming environment, since assertions in numerical programs are naturally stated in terms of real, not floating point, arithmetic. Previous implementations have used several different representations for constructive real values, but all consist of the same basic approach. An execution history is recorded as the program runs, containing all information necessary to recompute any constructive real value. These histories are then used to produce approximations to real values as required. However, execution histories may become extremely large and costly to maintain. Lazy infinite continued fractions, lazy infinite digit sequences, and various functional approaches all use history-based methods, in different forms. An alternate approach simply provides the programmer with a variable-precision interval arithmetic package. It is argued that this not a true implementation of constructive real arithmetic, but more a tool that may used in constructing a constructive real arithmetic package. A new approach is presented that uses data-flow analysis to discover much of the information previously gathered in execution histories. The instructions that may require approximations for their arguments are located, and a new version of the program is created, in two parts: one part mirrors the original program, but performs interval arithmetic at fixed precision for real operations. The second part, consisting of a set of subroutines, recomputes approximations to real values as required. A strategy for using variable-precision intervals is given such that the cost of all re-executions necessary to compute an approximation is only a constant factor more than the cost of the final re-execution. Experimental results from a prototype implementation are presented.
    Description
    This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16460
    Citation
    Lee, Vernon A.. "Optimizing Programs over the Constructive Reals." (1998) https://hdl.handle.net/1911/96423.
    Type
    Technical report
    Citable link to this page
    https://hdl.handle.net/1911/96423
    Rights
    You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
    Metadata
    Show full item record
    Collections
    • Computer Science Technical Reports [245]

    Home | FAQ | Contact Us | Privacy Notice | Accessibility Statement
    Managed by the Digital Scholarship Services at Fondren Library, Rice University
    Physical Address: 6100 Main Street, Houston, Texas 77005
    Mailing Address: MS-44, P.O.BOX 1892, Houston, Texas 77251-1892
    Site Map

     

    Searching scope

    Browse

    Entire ArchiveCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsTypeThis CollectionBy Issue DateAuthorsTitlesSubjectsType

    My Account

    Login

    Statistics

    View Usage Statistics

    Home | FAQ | Contact Us | Privacy Notice | Accessibility Statement
    Managed by the Digital Scholarship Services at Fondren Library, Rice University
    Physical Address: 6100 Main Street, Houston, Texas 77005
    Mailing Address: MS-44, P.O.BOX 1892, Houston, Texas 77251-1892
    Site Map