seminaire passé

[SEMINAR] March 2019 – Emulating quantum computers 🧑‍🏫 Victor Alessandrini

🧑‍🏫 Victor Alessandrini, Maison de la Simulation, France
🌎 March 2019


There is today increasing consensus on the fact that quantum computing – an emerging data processing technology – may in the future play a significant role (with not yet fully understood boundaries) in high performance scientific computing. The simulation of quantum computers on standard computing platforms is today a necessary step to understand, assess, and develop quantum algorithms for computation, paving the way for the eventual future adoption of this disruptive technology. Emulation software will remain useful for some time to validate results of the earlier quantum computing platforms, and to help tuning application quantum codes. We will present a fully portable C++ emulation library under development for more than one year. The library disposes of three interfaces: a shared memory version running on SMP nodes, a MPI extension enabling access to a larger number of qubits, and a Python wrapper of the C++ library. A significant pedagogical effort is implemented in the documentation. Besides the traditional C++ class documentation, we are producing strategic higher level documentation and pedagogical papers on applications, including Jupyter notebooks. This seminar will propose first an introduction to quantum computing, explaining the fundamental differences with classical computing, underlining the strong features as well as the limiting bottlenecks of the technology. We will present next a short and very high level overview of the emulation library, focusing on a few major strategic choices. Then, the issues involved in quantum algorithms will be illustrated with a quantum chemistry example used in the validation tests of the software. Finally, we will conclude with a rapid overview of different areas in which quantum algorithm research is evolving (quantum chemistry, condensed matter physics, combinatorial optimization, fault tolerant quantum computing,…).