Show simple item record

dc.contributor.advisorMichael Carbin.en_US
dc.contributor.authorSherman, Benjamin(Benjamin Marc)en_US
dc.contributor.otherMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.en_US
dc.date.accessioned2021-01-06T20:17:47Z
dc.date.available2021-01-06T20:17:47Z
dc.date.copyright2020en_US
dc.date.issued2020en_US
dc.identifier.urihttps://hdl.handle.net/1721.1/129308
dc.descriptionThesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, September, 2020en_US
dc.descriptionCataloged from student-submitted PDF of thesis.en_US
dc.descriptionIncludes bibliographical references (pages 155-160).en_US
dc.description.abstractIncreasingly, 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.en_US
dc.description.abstractMy 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.en_US
dc.description.abstractTo 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.en_US
dc.description.statementofresponsibilityby Benjamin Sherman.en_US
dc.format.extent160 pagesen_US
dc.language.isoengen_US
dc.publisherMassachusetts Institute of Technologyen_US
dc.rightsMIT 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.en_US
dc.rights.urihttp://dspace.mit.edu/handle/1721.1/7582en_US
dc.subjectElectrical Engineering and Computer Science.en_US
dc.titleProgramming languages for sound computation with continuous valuesen_US
dc.typeThesisen_US
dc.description.degreePh. D.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.identifier.oclc1227779659en_US
dc.description.collectionPh.D. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Scienceen_US
dspace.imported2021-01-06T20:17:47Zen_US
mit.thesis.degreeDoctoralen_US
mit.thesis.departmentEECSen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record