Molecular Dynamics on Quantum Computers
Project reference: 2118
Quantum computing is one of the scientific hot-topics nowadays with the potential to vastly improve our computation capacity in certain areas due to its use of quantum-bits offering superpositions and much faster computation, subsequently. Thus, it seems very promising for many possible applications in other areas like cryptography, artificial intelligence, or numerical methods.
Quantum chemistry is one of its most prominent areas of application, with some algorithms able to be used in solving real-world problems instead of just overly simplified ones. These tend to utilize the latest, state-of-the-art, quantum-adapted mathematical approaches, like numerical derivative approximation, bringing a new optimization aspect into them – not only runtime but also the number of qubits necessary. Thus, quantum chemistry provides an excellent opportunity to start with quantum computing, connecting an already-investigated field with results, while offering a lot of straightforward, obvious directions for improvement and connecting multiple skills, most notably mathematics, quantum mechanics, and programming.
In this project, we aim to implement Variational Quantum Eigensolver (VQE) to obtain potential energy surfaces in an on-the-fly manner for molecular dynamics simulations of two- and three-atomic systems. These results will be further compared with classical methods like MCSCF and MRCI, using these as a benchmark for assessment of VQE approximation ability, depending on adopted approximations, chosen trial functions, and other algorithm modifications.
The implementation will be performed utilizing IBM’s Qiskit package for Python, allowing developers to access real quantum machines and further use a lot of pre-implemented functionalities, so that the algorithm will be the main focus, instead of too much supplementary work. Considering, that different types of problems can occur while computing on real machines, simulators will be also adopted to compare the results with the real machine and further assess the influence of different levels of noise and ways of its mitigation.
Project Mentor: Martin Beseda
Project Co-mentor: Stanislav Paláček
Site Co-ordinator: Zuzana Cervenkova
Student will learn the basics of programming in Python and obtain some knowledge of quantum chemistry. The main point will be quantum computing, where a student should have an overview about the current state-of-the-art in the field and hands-on experience with some of the methods.
Student Prerequisites (compulsory):
Students need to have a basic knowledge of programming and mathematics, most notably linear algebra.
Student Prerequisites (desirable):
It’s desirable to have a previous experience with programming in Python, as well as understanding of basics of quantum mechanics.
https://qiskit.org/textbook/preface.html – Qiskit textbook, very convenient for self-learners
https://quantum-computing.ibm.com/ – IBM tools for learning of quantum computing, including a graphical editor
The 1st week is planned to be in a tutorial-like way, with frequent, everyday talks with students, explanation of basic concepts and installation of Anaconda package and Qiskit.
The 2nd and 3rd week are devoted to the implementation of basic functionalities, like gradient approximation and subsequent optimization method together with preparation of first report.
The main part of implementation is supposed to be performed from 4th to 6th week as the working simulation should be done by this date.
The 7th week will comprise of minor improvements and comparisons of different techniques for approximation (gradients…) and noise mitigation.
The final report and presentation will take place during 8th week, together with explanations of more advanced concepts and possible continuation of self-study in this field, after the end of SoHPC21.
In the case of two students, the implementation part will be larger, as they will be supposed to participate also in other parts of the code outside of Qiskit and to implement the code in more ways to compare them in the end.
Final Product Description:
The main result of the project will be a Python (Qiskit) implementation of VQE method, joined with our code for molecular dynamics simulations.
Adapting the Project: Increasing the Difficulty:
The difficulty can be easily increased by adopting more advanced techniques of gradient approximation and necessary-qubit-number reduction, which need much larger effort to comprehend.
Adapting the Project: Decreasing the Difficulty:
The main point of the project lies in implementation of VQE method itself, i.e. in variational optimization of a specific functional and subsequent determination of eigenvalues of Hamiltonian operator. That said, only this part can be implemented without connection to dynamical simulations, as obtained energies themselves will be a sufficient result to demonstrate strengths of this approach.
All the equipment will be personal laptops and an access to IBM’s quantum computer. While we assume, that students are already equipped with personal computers, IBM offers free access to some of its machines, so we’ll apply for that in the beginning of the SoHPC.
IT4Innovations National Supercomputing Center at VSB – Technical University of Ostrava