Show simple item record

dc.contributor.authorYuan, Charles
dc.contributor.authorVillanyi, Agnes
dc.contributor.authorCarbin, Michael
dc.date.accessioned2024-05-02T20:26:37Z
dc.date.available2024-05-02T20:26:37Z
dc.date.issued2024-04-29
dc.identifier.issn2475-1421
dc.identifier.urihttps://hdl.handle.net/1721.1/154392
dc.description.abstractQuantum algorithms for tasks such as factorization, search, and simulation rely on control flow such as branching and iteration that depends on the value of data in superposition. High-level programming abstractions for control flow, such as switches, loops, higher-order functions, and continuations, are ubiquitous in classical languages. By contrast, many quantum languages do not provide high-level abstractions for control flow in superposition, and instead require the use of hardware-level logic gates to implement such control flow. The reason for this gap is that whereas a classical computer supports control flow abstractions using a program counter that can depend on data, the typical architecture of a quantum computer does not analogously provide a program counter that can depend on data in superposition. As a result, the complete set of control flow abstractions that can be correctly realized on a quantum computer has not yet been established. In this work, we provide a complete characterization of the properties of control flow abstractions that are correctly realizable on a quantum computer. First, we prove that even on a quantum computer whose program counter exists in superposition, one cannot correctly realize control flow in quantum algorithms by lifting the classical conditional jump instruction to work in superposition. This theorem denies the ability to directly lift general abstractions for control flow such as the λ-calculus from classical to quantum programming. In response, we present the necessary and sufficient conditions for control flow to be correctly realizable on a quantum computer. We introduce the quantum control machine, an instruction set architecture featuring a conditional jump that is restricted to satisfy these conditions. We show how this design enables a developer to correctly express control flow in quantum algorithms using a program counter in place of logic gates.en_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionof10.1145/3649811en_US
dc.rightsCreative Commons Attributionen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleQuantum Control Machine: The Limits of Control Flow in Quantum Programmingen_US
dc.typeArticleen_US
dc.identifier.citationYuan, Charles, Villanyi, Agnes and Carbin, Michael. 2024. "Quantum Control Machine: The Limits of Control Flow in Quantum Programming." Proceedings of the ACM on Programming Languages, 8 (OOPSLA1).
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.relation.journalProceedings of the ACM on Programming Languagesen_US
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2024-05-01T07:48:17Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2024-05-01T07:48:18Z
mit.journal.volume8en_US
mit.journal.issueOOPSLA1en_US
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record