Preface#

This book is written for undergraduate physics students in junior or senior year. Many students take quantum mechanics courses in senior years. On the other hand, many contempolary topics in physics involve quantum mechanics. If quantum mechanics is a prerequisite, many students have no chance to take the courses. Furthermore, the materials covered in traditional quantum mechanics courses are not sufficient to learn modern physics such as condensed matter physics and particle physics. It is a big challenge to expose the students to modern physics involving advanced topics in quantum mechanics. Quantum information theory and quantum computation suffers greatly from these issues. Most of physics students are not prepared to take courses on those topics.

Not only physics students are interested in quantum information theory and quantum computing. Students in mathematics, computer science, eletric engineering, data science, …. are eager to learn them. Obviously, most of them do not have experiences in quantum mechanics at all. Therefore, it is necessary to teach quantum mechanics along with quantum information and quantum computing. However, there is also time limit. Idealy, every thing must fit to a semester-long course. We cannot spend too much time on quantum mechanics.

Furthremore, it is desired to use a computer programming language to exercise quantum computation. In particular, python is apparently the preferred language in quantum computing. Not all students have epxerience in python coding.

At the end, I found myself teaching quantum mechanics, mathematics, and programming language along with quatum compuation. The contents of main topics, quantum computation, was necessarily squeezed into a very limited time.

Then, I found Jupyter Book. If I write lecture notes in Jupyter Book, students can self-teach prerequisites through interactive online lecture notes. So, my course is entirely written in Jupyter Book. A problem is solved.

Since I do not assume prior experience in quamtum mechanics nor python language, the course can be taken by students outside of physics. I hope I can expose students in many different fields to quantum computation.

Another problem is what topics in quantum computation should be covered. Despite that the quantum computation is rather young topics, it has made huge progresses and our knowledge still expanding rapidly. Most of introductory level textbooks explain mostly famous alfgorithms such as the Shor’s algorithm, Grover’s algorithm, and Fourier Transforms. However, I found very littel information about how to make your own algorithms. Perhaps we can talk about simpler problems and solve them using quantum computers for the sake of learning how quantum gates work. So, I put off discussion on quantum supremacy until students become familiar with quantum operations. Due to the lack of my experience, I could not find small but interesting problems. Nevertheless, you will find a few quantum computation with only a singe or two qubits. I hope they help students gain aptite to go further into quantum computation.

Ryoichi Kawai, July 30, 2022