This course introduces some of the most widely used methods of computational physics, including numerical solutions of differential equations (initial and boundary value problems) in classical and quantum mechanics, Monte Carlo simulations, and numerical diagonalization of quantum many-body Hamiltonians. Beyond providing a basic working knowledge of these particular techniques, the goal is to create the foundations for ``computational thinking''---the ability to create models of physical phenomena and devise suitable numerical methods to study their properties. The Julia programming languages will be used---the first few lectures will introduce the language. The full syllabus is available here. |
Homework assignment #7 posted, due Tuesday, December 12. |
0) Course Introduction      Lecture slides: [Sep 5] |
1) Introduction to the Julia programming language      Lecture slides: [Sep 5] [Sep 7] [Sep 12] [Sep 14] [Sep 19] |
2) Numerical integration and Monte Carlo integration      Lecture slides: [Sep 19] [Sep 21(anim)] [Sep 26] |
3) Solving classical equations of motion      Lecture slides: [Sep 26] [Sep 28] [Oct 3] |
4) Quantum mechanics: solving the Schroedinger equation      Lecture slides: [Oct 5 (anim) (anim) (anim) (anim) (anim) (anim)] [Oct 12] [Oct 17]      [Oct 19 (anim) (anim) (anim) (anim)] [Oct 24] |
5) Monte Carlo simulations in classical statistical physics      Lecture slides: [Oct 26] [Oct 31 (anim) (anim) (anim) (anim) (anim) (anim) (anim)] [Nov 2] [Nov 7]      [Nov 9 (anim) (anim) (anim)] |
6) Quantum spin systems      [Instructor's notes]      Lecture slides: [Nov 21] [Nov 23] [Nov 28] |
[Sep 8
(qsub templates)] |
1) Due: September 26 2) Due: October 3 3) Due: October 17 4) Due: October 26 5) Due: November 9 6) Due: November 21 7) Due: December 12 |
Home page of the Julia language; download, documentation |
Julia Express; brief introduction to the Julia language |
[color2d.f90] 2D plot program (Fortran) |