Practical Modern Quantum Programming
Author(s)
McNally, Christopher Michael
DownloadThesis PDF (825.2Kb)
Advisor
Oliver, William D.
Terms of use
Metadata
Show full item recordAbstract
In 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.
Date issued
2021-09Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology