Show simple item record

dc.contributor.advisorOliver, William D.
dc.contributor.authorMcNally, Christopher Michael
dc.date.accessioned2022-02-07T15:22:12Z
dc.date.available2022-02-07T15:22:12Z
dc.date.issued2021-09
dc.date.submitted2021-09-21T19:54:12.892Z
dc.identifier.urihttps://hdl.handle.net/1721.1/140068
dc.description.abstractIn this thesis we present a compiler for Cavy, an imperative quantum programming language. The main contribution of the Cavy system is the application of region inference to the problem of safe and efficient ancilla qubit allocation, use, and deallocation in a programming language with a reversible subset. This approach enables the compilation of optimized quantum circuits from programs with arbitrary ancilla operations. In contrast with other recent work on ancilla deallocation, the safety analysis is a variant of the borrow checker introduced in the Rust programming language. It features “move references,” a unique reference type that can safely transfer ownership of its referent. To frame the problem and motivate these features, we describe a quantum algorithm whose recent experimental implementation strains the expressiveness of traditional linearly-typed quantum programming languages, and give a Cavy implementation of this algorithm.
dc.publisherMassachusetts Institute of Technology
dc.rightsIn Copyright - Educational Use Permitted
dc.rightsCopyright MIT
dc.rights.urihttp://rightsstatements.org/page/InC-EDU/1.0/
dc.titlePractical Modern Quantum Programming
dc.typeThesis
dc.description.degreeS.M.
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
mit.thesis.degreeMaster
thesis.degree.nameMaster of Science in Electrical Engineering and Computer Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record