PY 502, Computational Physics, Fall 2024

Department of Physics, Boston University

Instructor: Anders Sandvik

Lectures: Tuesday, Thursday 5 - 6:15 PM, in SCI B58
Discussion meetings, Friday 2:30-3:20 PM, in PRB 148
Office hours: Wednesdays 2 - 3 PM, Fridays 3:30 - 4:30 PM, in SCI 450A

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.

Course News

There will be no regular discussion meeting on Friday 11/15, because of an overlapping seminar 2-3 pm on a topic related to the course; please see information here and plan to attend if you can.

Homework 6 posted; due 11/21.

Lecture Notes and Program Examples

0) Course Introduction
     Lecture slides: [Sep 3]
1) Introduction to the Julia programming language [Program examples]
     Lecture slides: [Sep 3] [Sep 5] [Sep 10] [Sep 12]
2) Numerical integration and Monte Carlo integration [Notes] [Program examples]
     Lecture slides: [Sep 17] [Sep 19(anim)]
3) Solving classical equations of motion [Notes] [Program examples]
     Lecture slides: [Sep 24] [Sep 26] [Oct 1] [Oct 3 (anim)(anim)]
4) Quantum mechanics: solving the Schroedinger equation [Instructor's notes] [Program examples]
     Lecture slides: [Oct 8 (anim) (anim) (anim) (anim) (anim) (anim)] [Oct 10] [Oct 17]
     [Oct 22 (anim) (anim) (anim) (anim)] [Oct 24]
5) Monte Carlo simulations in classical statistical physics [Instructor's notes] [Program examples]
     Lecture slides: [Oct 29] [Oct 31 (anim) (anim) (anim) (anim) (anim) (anim) (anim)] [Nov 5] [Nov 7]      [Nov 12 (anim) (anim) (anim)] [Nov 14 (anim) (anim) (anim) (anim) (anim) (anim)]

Materials for (some) discussion meetings

[Sep 6(a) Sep 6(b)] [Sep 13] [Sep 20] [Sep 27 (actually Sep 26)]

Homework assignments

1) Due: 9/24/2024 [Problem text] [Solutions]
2) Due: 10/3/2024 [Problem text] [Solutions]
3) Due: 10/15/2024 [Problem text] [Solutions]
4) Due: 10/24/2024 [Problem text] [Solutions]
5) Due: 11/07/2024 [Problem text] [Solutions]
6) Due: 11/21/2024 [Problem text] [Solutions]

Online Julia resources

Home page of the Julia language; download, documentation
Julia Express; brief introduction to the Julia language

Other resources

[color2d.f90] 2D plot program (Fortran)