1. Compiling Quantamorphisms for the IBM Q Experience
- Author
-
José Nuno Oliveira, Ana Neri, and Rui Soares Barbosa
- Subjects
FOS: Computer and information sciences ,Quantum programming ,Computer science ,Interface (Java) ,Computation ,FOS: Physical sciences ,Computer Science - Emerging Technologies ,02 engineering and technology ,Quantum Hall effect ,computer.software_genre ,Quantum circuit ,FOS: Mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Category Theory (math.CT) ,Quantum ,computer.programming_language ,Quantum Physics ,Functional programming ,Programming language ,TheoryofComputation_GENERAL ,Mathematics - Category Theory ,020207 software engineering ,Emerging Technologies (cs.ET) ,ComputerSystemsOrganization_MISCELLANEOUS ,Computer Science::Programming Languages ,Haskell ,Quantum Physics (quant-ph) ,computer ,Software - Abstract
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. Measurements are postponed to the end of such recursive computations, termed "quantamorphisms", thus maximising the quantum effect. Quantamorphisms are classical catamorphisms which, extended to ensure quantum reversibility, implement quantum cycles (vulg. for-loops) and quantum folds on lists. By Kleisli correspondence, quantamorphisms can be written as monadic functional programs with quantum parameters. This enables the use of Haskell, a monadic functional programming language, to perform the experimental work. Such calculated quantum programs prepared in Haskell are pushed through Quipper to the Qiskit interface to IBM Q quantum devices. The generated quantum circuits - often quite large - exhibit the predicted behaviour. However, running them on real quantum devices incurs into a significant amount of errors. As quantum devices are constantly evolving, an increase in reliability is likely in the near future, allowing for our programs to run more accurately., 18 pages
- Published
- 2022