After successful completion of the course, students are able to understand quantum computing methods and apply them for the development of hybrid applications, i.e., applications that consist of classic and quantum tasks, and apply them to typical scientific applications. After basic notions of quantum computing, necessaries for the development of quantum programs, students will have to develop different programs to solve typical scientific computing problems, i.e., computation of inter-atomic distances, eigenvalues calculation and optimization problems. Students will have to solve up to four different assignments, ranging from purely theoretical ones to purely programming-oriented ones, and describe their solutions in a report. As programming framework, we will employ IBM Qiskit, which already provides student programs to let students experiment with real quantum machines. Specific focus will be given to Variational Quantum Algorithms, which are known to be the most promising to achieve the so-called quantum supremacy.
The class is divided in three modules: In first module, we introduce basics of HPC and integration with quantum systems. In second module, we introduce quantum computing and the concepts that are required for the development of quantum programs. In the third module, we introduce the quantum circuit programming model and describe how it can be applied to scientific computations.
A. Concepts of Hybrid Systems
1. Introduction to HPC
2. Connection to Quantum
3. Hybrid System
4. First Assignment
B. Basics of Quantum Computing
1. Vectors, Matrices, dirac notation, tensor product(inner product),
2. Qubit, measuring qubit, visualizing qubit, single qubit & multiple qubit states, Qiskit
3. Pure states, mixed states. entaglements
4. Second Assignment
C. Hybrid Classic/Quantum Programming
1. Quantum circuit, operators, gates, simulating on local machine or cloud
2. Time evolution of quantum system
3. Variational Quantum Algorithms
4. Third Assignment
The theoretical concepts are presented and discussed on the basis of slides and scientific literature. The book "Quantum Computing for Computer Scientists" by Yanofski and Mannucci, edited by Cambridge University Press, will be used as reference for the quantum part, and eventually integrated with Qiskit textbook and research papers. There will be three practical projects. We also plan to have invited speakers to introduce specific concepts.