Quantum Simulation and Emulation
Quantum Computing is very much at the research stage with scientists still competing on the manipulation of a handful of qubits. Big challenges for quantum computing are still ahead and include implementation of the laws of physics in the manipulation of quantum systems (e.g. atom, subatomic particles, photon, etc.), formalization and implementation of quantum algorithms. The lack of quantum computers leads to the development of a variety of software-based simulators – including Microsoft’s LIQUi|>, Google’s Quantum Computing Playground - to assist in the research and development of quantum algorithms. In addition, quantum computing can contribute significantly to the resolution of “hard-to-be-solved” problems, but it is still dedicated today to specific applications (e.g. Factoring, Cryptography, Optimization, etc.) and therefore, it can still be considered as an acceleration technology to be associated with classical computing. This proposal focusses on the development of a complete toolbox sitting at the software level of quantum computation. A quantum computing stack including specification language, libraries and optimization/verification tools will be built upon a well-defined mathematical framework mixing classical and quantum computation. Such environment will be dedicated to support the expression of quantum algorithm for the purpose of investigation and verification. However, simulation of quantum algorithms at the software level is quite challenging since the algorithms of interest have exponential run-times and memory requirements. Furthermore, the sequential nature of software-based computation may not respond efficiently to the parallel nature of quantum computation. Therefore the project will consider an evolution towards emulation on a Hw platform with actual computing acceleration technologies (e.g. HPC/GPU/FPGA).