A Polytime Quantum Programming Language
Résumé
As quantum computing emerges as a promising computational paradigm, quantum programming languages provide the tools that bridge the distance between abstract programming and its hardware implementation. In some cases, restricted programming languages may even provide an avenue for more efficient circuit compilation strategies.
In this work, we introduce foq, a first-order quantum programming language which allows for quantum control and recursion, and where a syntactically restricted subset of programs (pfoq) is shown to be sound and complete for quantum polytime computation. This is achieved by bounding both the recursion depth and the branching width of programs, which we demonstrate to still be compatible with various interesting applications, such as quantum teleportation and the quantum Fourier transform.
pfoq constitutes the first programming-language-based characterization of the quantum complexity class fbqp, and we provide a semantics-preserving compilation algorithm such that any pfoq program can be compiled into a quantum circuit that grows polynomially on its number of input qubits, using an anchoringand-merging technique to solve the problem of branch sequentialization.
| Origine | Fichiers produits par l'(les) auteur(s) |
|---|---|
| Licence |