This document is the lecture script of a onesemester course taught at the University of Basel in the Fall semesters of 2012 and 2013. It is aimed at advanced students of physics who are familiar with the concepts and notations of quantum mechanics.
Quantum mechanics lectures can often be separated into two classes. In the first class you get to know Schroedinger's equation and find the form and dynamics of simple physical systems (square well, harmonic oscillator, hydrogen atom); most calculations are analytic and inspired by calculations originally done in the 1920s and 1930s. In the second class you learn about large systems such as molecular structures, crystalline solids, or lattice models; these calculations are usually so complicated that it is difficult for the student to understand them in all detail.
This lecture tries to bridge the gap between simple analytic calculations and complicated largescale computations. We will revisit most of the problems encountered in introductory quantum mechanics, focusing on computer implementations for finding analytical as well as numerical solutions and their visualization.
Most of these calculations are too complicated to be done by hand. Even relatively simple problems, such as two interacting particles in a onedimensional trap, do not have analytic solutions and require the use of computers for their solution and visualization. More complex problems scale exponentially with the number of degrees of freedom, and make the use of large computer simulations unavoidable.
The course is taught using the Mathematica programming language; however, the concepts presented are readily translated to any other programming language.
