17 research outputs found
Foundations of quantum programming
Progress in the techniques of quantum devices has made people widely believe that large-scale and functional quantum computers will be eventually built. By then, super-powered quantum computer will solve many problems affecting economic and social life that cannot be addressed by classical computing. However, our experiences with classical computing suggest that once quantum computers become available in the future, quantum software will play a key role in exploiting their power, and quantum software market will even be much larger than quantum hardware market. Unfortunately, today's software development techniques are not suited to quantum computers due to the essential differences between the nature of the classical world and that of the quantum world. To lay a solid foundation for tomorrow's quantum software industry, it is critically essential to pursue systematic research into quantum programming methodology and techniques. © 2010 Springer-Verlag
Quantitative Robustness Analysis of Quantum Programs (Extended Version)
Quantum computation is a topic of significant recent interest, with practical
advances coming from both research and industry. A major challenge in quantum
programming is dealing with errors (quantum noise) during execution. Because
quantum resources (e.g., qubits) are scarce, classical error correction
techniques applied at the level of the architecture are currently
cost-prohibitive. But while this reality means that quantum programs are almost
certain to have errors, there as yet exists no principled means to reason about
erroneous behavior. This paper attempts to fill this gap by developing a
semantics for erroneous quantum while-programs, as well as a logic for
reasoning about them. This logic permits proving a property we have identified,
called -robustness, which characterizes possible "distance" between
an ideal program and an erroneous one. We have proved the logic sound, and
showed its utility on several case studies, notably: (1) analyzing the
robustness of noisy versions of the quantum Bernoulli factory (QBF) and quantum
walk (QW); (2) demonstrating the (in)effectiveness of different error
correction schemes on single-qubit errors; and (3) analyzing the robustness of
a fault-tolerant version of QBF.Comment: 34 pages, LaTeX; v2: fixed typo
Quantum Hoare logic with classical variables
Hoare logic provides a syntax-oriented method to reason about program
correctness, and has been proven effective in the verification of classical and
probabilistic programs. Existing proposals for quantum Hoare logic either lack
completeness or support only quantum variables, thus limiting their capability
in practical use.
In this paper, we propose a quantum Hoare logic for a simple while language
which involves both classical and quantum variables. Its soundness and relative
completeness are proven for both partial and total correctness of quantum
programs written in the language. Remarkably, with novel definitions of
classical-quantum states and corresponding assertions, the logic system is
quite simple and similar to the traditional Hoare logic for classical programs.
Furthermore, to simplify reasoning in real applications, auxiliary proof rules
are provided which support the introduction of disjunction and quantifiers in
the classical part of assertions, and of super-operator application and
superposition in the quantum part. Finally, a series of practical quantum
algorithms, in particular the whole algorithm of Shor's factorisation, are
formally verified to show the effectiveness of the logic