A formally certified end-to-end implementation of Shor’s factorization algorithm

Abstract

Quantum computing technology may soon deliver revolutionary improvements in algorithmic performance, but it is useful only if computed answers are correct. While hardware-level decoherence errors have garnered significant attention, a less recognized obstacle to correctness is that of human programming errors—“bugs.” Techniques familiar to most programmers from the classical domain for avoiding, discovering, and diagnosing bugs do not easily transfer, at scale, to the quantum domain because of its unique characteristics. To address this problem, we have been working to adapt formal methods to quantum programming. With such methods, a programmer writes a mathematical specification alongside the program and semiautomatically proves the program correct with respect to it. The proof’s validity is automatically confirmed—certified—by a “proof assistant.” Formal methods have successfully yielded high-assurance classical software artifacts, and the underlying technology has produced certified proofs of major mathematical theorems. As a demonstration of the feasibility of applying formal methods to quantum programming, we present a formally certified end-to-end implementation of Shor’s prime factorization algorithm, developed as part of a framework for applying the certified approach to general applications. By leveraging our framework, one can significantly reduce the effects of human errors and obtain a high-assurance implementation of large-scale quantum applications in a principled way.

Document Details

Document Type
Pub Defense Publication
Publication Date
May 15, 2023
Source ID
10.1073/pnas.2218775120

Entities

People

  • Kesha Hietala
  • Liyi Li
  • Michael Hicks
  • Robert Rand
  • Runzhou Tao
  • Xiaodi Wu
  • Yuxiang Peng

Organizations

  • Air Force Office of Scientific Research
  • Columbia University
  • National Science Foundation
  • Office of Science
  • University of Chicago
  • University of Maryland

Tags

Fields of Study

  • Computer science

Readers

  • Distributed Systems and Data Platform Development
  • Parallel and Distributed Computing.
  • Software Engineering.

Technology Areas

  • Quantum Computing
  • Quantum Science - Quantum Key Distribution