## Mathematics of Quantum Computing

Vorlesung im Sommersemester 2023The need to process ever larger amounts of data means that the development of ever smaller circuits and ever more compact physical memory is constantly being promoted. At the latest at the sub-atomic level, the effects of quantum mechanics must be taken into account in order to be able to describe calculation rules and data storage. This is what the young discipline of "quantum computing" deals with.

In addition to discussing physical principles, we need mathematical foundations from many different areas: analysis, linear algebra, functional analysis, group and number theory, and stochastics.

The aim of this course is to create an understanding of which algorithms are suitable for implementation on quantum computers and which problems can be solved with them.

To do this, we study the basic terms of quantum mechanics and introduce the concept of quantum bits (qubits) as the smallest unit to store data (instead of classical bits). Here we encounter the curious property of entanglement, and illustrate this with the Einstein-Podolski-Rosen paradox and Bell's inequality. We need quantum gates to represent arithmetic operations and can use them to build quantum circuits.

Using various algorithms (e.g. Deutsch-Jozsa algorithm, Shor's algorithm) and tasks (detection of attacks on communication) we discuss the differences between classical computing and quantum computing.

We close the lecture with contributions on error correction (which plays an important role to actually build quantum computers) and on adiabatic quantum algorithms (which use quantum mechanical states directly and are no longer based on circuit concepts).

In addition to the mathematical part, we will also build quantum circuits in the Python-based programming language Qiskit and simulate resp. execute them on the IBM Quantum Lab computers.