MIT Libraries logoDSpace@MIT

MIT
View Item 
  • DSpace@MIT Home
  • MIT Libraries
  • MIT Theses
  • Doctoral Theses
  • View Item
  • DSpace@MIT Home
  • MIT Libraries
  • MIT Theses
  • Doctoral Theses
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Programming languages for sound computation with continuous values

Author(s)
Sherman, Benjamin(Benjamin Marc)
Thumbnail
Download1227779659-MIT.pdf (947.9Kb)
Other Contributors
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Advisor
Michael Carbin.
Terms of use
MIT theses may be protected by copyright. Please reuse MIT thesis content according to the MIT Libraries Permissions Policy, which is available through the URL provided. http://dspace.mit.edu/handle/1721.1/7582
Metadata
Show full item record
Abstract
Increasingly, computer software is used to manipulate continuous values, in domains such as machine learning, solid modeling, and scientific computing. At the same time, such programs are increasingly integrated within safety-critical systems. Usually, these algorithms are designed and analyzed assuming real-number arithmetic, whereas they are implemented with finite-precision arithmetic, such as floating point. Because finite-precision arithmetic suffers from rounding error and overflow, answers may be far from the ideal results that assume real arithmetic. Furthermore, programming with continuous values extends far beyond the reals and real arithmetic, involving objects such as probability distributions and shapes, and sometimes involving differentiation. Reasoning about the accuracy of programs that use finite-precision arithmetic to manipulate these objects is even more difficult.
 
My thesis proposes programming-language foundations for sound computation with continuous values, as well as datatypes and programs in these languages for representing and manipulating, in addition to real numbers, more complex objects such as probability distributions and shapes. Values may be computed to arbitrary precision, and equality of mathematical expressions corresponds to equivalence of programs in these languages (unlike floating point). [lambda][subscript C] is a language where types are generalized spaces and functions are (generalized) continuous maps [lambda][subscript S] builds on [lambda][subscript C] to support differentiation, where types have differentiable structure and functions are (generalized) smooth maps.
 
To demonstrate that these languages can serve as programming-language foundations for sound computation with continuous values, I implemented [lambda][subscript C] and [lambda][subscript S] and built prototype libraries within them for solid modeling and probabilistic computing. These libraries give a proof of concept that the foundations are sufficiently expressive for a broad class of tasks.
 
Description
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, September, 2020
 
Cataloged from student-submitted PDF of thesis.
 
Includes bibliographical references (pages 155-160).
 
Date issued
2020
URI
https://hdl.handle.net/1721.1/129308
Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Publisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.

Collections
  • Doctoral Theses

Browse

All of DSpaceCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

Login

Statistics

OA StatisticsStatistics by CountryStatistics by Department
MIT Libraries
PrivacyPermissionsAccessibilityContact us
MIT
Content created by the MIT Libraries, CC BY-NC unless otherwise noted. Notify us about copyright concerns.