Abstract

Common quantum algorithms make heavy use of ancillae: scratch qubits that are initialized at some state and later returned to that state and discarded. Existing quantum circuit languages let programmers assert that a qubit has been returned to the \textbar0> state before it is discarded, allowing for a range of optimizations. However, existing languages do not provide the tools to verify these assertions, introducing a potential source of errors. In this paper we present methods for verifying that ancillae are discarded in the desired state, and use these methods to implement a verified compiler from classical functions to quantum oracles.

Publication Details
Publication Type
Journal Article
Year of Publication
2019
Volume
287
DOI
10.4204/EPTCS.287.17
URL
https://arxiv.org/abs/1901.10118
Journal
EPTCS
Contributors
Groups
Date Published
01/2019