Compiling quantamorphisms for the IBM Q Experience

  title={Compiling quantamorphisms for the IBM Q Experience},
  author={Ana Neri and Rui Soares Barbosa and Jos{\'e} Nuno Oliveira},
Based on the connection between the categorical derivation of classical programs from specifications and the category-theoretic approach to quantum physics, this paper contributes to extending the laws of classical program algebra to quantum programming. This aims at building correct-by-construction quantum circuits to be deployed on quantum devices such as those available at the IBM Q Experience. Quantum circuit reversibility is ensured by minimal complements, extended recursively… 
1 Citations
Type your matrices for great good: a Haskell library of typed matrices and applications (functional pearl)
A simple inductive data type for representing correct-by-construction matrices that can be used to implement matrix-manipulation algorithms efficiently and safely, performing in some cases faster than existing alternatives even though the algorithms are written in a direct and purely functional style.


Semantics of Higher-Order Quantum Computation via Geometry of Interaction
The proposed denotational model is the first one that supports the full features of a quantum functional programming language, and it is proved adequacy of the semantics is achieved.
From Symmetric Pattern-Matching to Quantum Control (Extended Version)
It is argued that, under the right circumstances, a reasonable notion of quantum loops and recursion is possible and a classical, typed, reversible language with lists and fixpoints is proposed to extend this language to the closed quantum domain.
A functional quantum programming language
  • Jonathan Grattage
  • Computer Science
    20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05)
  • 2005
QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit, and preserves superpositions and entanglement -which is essential for quantum parallelism.
Quantum Programming
The theory of quantum programming provides tools to write both classical and quantum specifications, develop quantum programs that implement these specifications, and reason about their comparative time and space complexity all in the same framework.
Quantum Alternation: Prospects and Problems
This work proposes a notion of quantum control in a quantum programming language which permits the superposition of finitely many quantum operations without performing a measurement, and shows that adding such a quantum IF statement to the QPL programming language simplifies the presentation of several quantum algorithms.
Towards a quantum programming language
  • P. Selinger
  • Computer Science
    Mathematical Structures in Computer Science
  • 2004
This paper describes the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types, and has an interesting denotational semantics in terms of complete partial orders of superoperators.
From Symmetric Pattern-Matching to Quantum Control
One perspective on quantum algorithms is that they are classical algorithms having access to a special kind of memory with exotic properties, and the control flow notions of sequencing, conditionals, loops, and recursion are entirely classical.
Quantum theory, the Church–Turing principle and the universal quantum computer
  • D. Deutsch
  • Physics, Philosophy
    Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences
  • 1985
It is argued that underlying the Church–Turing hypothesis there is an implicit physical assertion. Here, this assertion is presented explicitly as a physical principle: ‘every finitely realizible
A Flowchart Language for Quantum Programming
  • M. Ying, Yuan Feng
  • Computer Science
    IEEE Transactions on Software Engineering
  • 2011
A structured quantum programming theorem is presented, which provides a technique of translating quantum flowchart programs into programs written in a high-level language, namely, a quantum extension of the while-language.
Phase Gadget Synthesis for Shallow Circuits
An efficient method is presented to translate the phase gadgets back to CNOT gates and single qubit operations suitable for execution on a quantum computer with significant reductions in gate count and circuit depth.