This course is an upper-division undergraduate course and introductory graduate course on computational physics, focusing on solving select physics problems in quantum mechanics using Feynman's path integral approach, combined with Markov chain Monte Carlo methods. The course will explore both the theoretical foundations and computer implementations. Students will develop their own code to solve the physics applications. Basic knowledge of calculus, quantum mechanics, Linux, and programming in some language is expected.
The course structure will consist of weekly lectures on conceptual topics, e.g, quantum mechanics, and lab sections on computational tools, e.g., programming in Python and C/C++. Students will learn how to apply physical reasoning to programming, optimize and debug code, create simulations of physical systems. We will focus primarily on numerically solving quantum mechanics problems using Feynman's path integral approach, combined with Markov chain Monte Carlo methods. Students will also learn how to use modern tools to efficiently solve scientific computing problems interpreted (Python) vs. compiled (C/C++) languages and how to link the two. There will be 2 individual homework assignments and an individual midterm project. There will also be a final project in which students will work in groups.
Upon successful completion of Physics 142/242, students will be able to:
- Design computer programs to numerically solve physics problems, like the harmonic oscillator using the Feynman path integral approach.
- Consider multiple approaches and compare their computational performance, accuracy, and fidelity to physical laws.
- Find and choose the best tool or programming language for the task.
- Visualize the solutions.
- Collaborate with peers to tackle complex, realistic problems.
- Present findings.