AG-2024.05-2326·quant-ph
An Abstraction Hierarchy Toward Productive Quantum Programming
Authors
- Olivia Di Matteo
- Santiago Núñez-Corrales
- Michał Stęchły
- Steven P. Reinhardt
- Tim Mattson
Abstract
Experience from seven decades of classical computing suggests that a sustainable computer industry depends on a community of software engineers writing programs to address a wide variety of specific end-user needs, achieving both performance and utility in the process. Quantum computing is an emerging technology, and we do not yet have the insight to understand what quantum software tools and practices will best support researchers, software engineers, or applications specialists. Developers for today's quantum computers are grappling with the low-level details of the hardware, and progress towards scalable devices does not yet suggest what higher-level abstractions may look like. In this paper, we analyze and reframe the current state of the quantum software stack using the language of programming models. We propose an abstraction hierarchy to support quantum software engineering and discuss the consequences of overlaps across the programming, execution, and hardware models found in current technologies. We exercise this hierarchy for solving the eigenvalue estimation problem in two ways (a variational algorithm with error mitigation, and phase estimation with error correction) and pinpoint key differences in these approaches in terms of these layered models and their overlaps. While our work points to concrete conceptual challenges and gaps in quantum programming and proposes some specific steps forward, our primary thesis is that progress hinges on thinking about the abstraction hierarchy holistically, and not just about its components.
Submitted
22 May 20242 years ago
Version
v1
License
CC-BY-4.0
DOI
10.48550/arXiv.2405.13918
Summary
Quantum programming today is stuck in low-level hardware details, so this paper proposes a layered abstraction hierarchy—modeled on decades of classical software practice—to help engineers write quantum programs more productively.
- Quantum software lacks the high-level abstractions that made classical computing sustainable; current tools force developers to wrestle with hardware-specific details rather than focusing on algorithms and applications.
- The paper maps quantum software into distinct layers (programming model, execution model, hardware model) and shows how overlaps between them create confusion—using eigenvalue estimation algorithms as a test case.
- The core insight is that quantum computing progress requires thinking about the *whole* abstraction stack together, not optimizing each layer independently, similar to how compilers, operating systems, and chips co-evolved in classical computing.
curious · generated by claude-haiku-4-5
Chat with this PDF
Ask questions, probe assumptions, request a plain-English summary. Answers cite sections from the preprint itself.
Community
Questions and answers about this paper from other readers. No formal peer review — just a place to think out loud.