|Instructor:||Laurence G. Yaffe [PAB 404, firstname.lastname@example.org]|
|Office Hours:||by arrangement|
|TA Office Hours:||by arrangement|
|Class:||1:00-2:20pm TTh, PAA 114|
This offering of Physics 506 will focus on computational techniques and aspects of numerical analysis which are broadly useful in theoretical physics. (Analysis of experimental data will not be a primary topic.) Function approximation, interpolation, integration and differentiation, and numerical solution of differential equations (both ordinary and partial) will be discussed at length, with an emphasis on (pseudo)spectral methods. A recurring theme will be recognizing and coping with sources of trouble: precision loss, singularities, instabilities, etc.
The course is designed for graduate students in physics and related fields. Problems used as examples will often be drawn from quantum and statistical mechanics; a solid (graduate level) understanding of these areas will be assumed. So will facility with linear algebra, basic differential equations (Sturm-Liouville theory, method of Frobenius), basic complex analysis (domains of analyticity, types of singularities), and Fourier analysis. Some prior programming experience in both procedural languages (e.g., C/C++) and Mathematica will be helpful, but a variety of programming backgrounds is expected.
Class time will be a mix of lecture/discussion and small group in-class problem solving. Homework, typically biweekly, will be assigned, but a major part of the class will be an individual computational project, to be selected and defined early in the quarter, carried out during the quarter, presented to the class in the final week(s), and written up.
Gain substantially greater experience and expertise with numerical methods which are widely used in physics. Understand how to recognize, and counter, typical problems encountered in computational physics. Significantly improve facility with one or more computer language: Mathematica, Matlab, Python, C/C++. Successfully complete an interesting, non-trivial computational project. Prepare and present a clear, concise and informative summary of the project and its results, both orally and in writing.
Basics: precision vs. accuracy, precision loss, computational complexity
Interpolation, approximation, integration & differentiation
Root finding & minimization
Ordinary differential equations: initial value & boundary value problems
Partial differential equations: elliptic vs. hyperbolic
Assignment #1 (Due Wed October 11). Mathematica solutions.
In-class quasinormal mode exercise (Oct 19). Mathematica solutions.
Assignment #2 (Due Mon Oct 23).
Assignment #3 (Due Wed Nov 15).
|Sep 28-Oct 5:||project formulation|
|Oct 9:||approved project proposal deadline|
|Oct 23:||progress report (I)|
|Nov 8-9:||presentation scheduling|
|Nov 15:||progress report (II)|
|Nov 28-Dec 14:||presentations (revised schedule):|
|Dec 14:||final write-up deadline|
|Project suggestions:||Requested by:|
|Lyapunov spectrum: stadium||Wihan|
|Quantum density of states: 1D quartic well||Ding|
|Double well: ground state splitting||Alex|
|Anharmonic oscillator analyticity||Sifang|
|Lyapunov spectrum: x2y2 potential||Lukas|
|Particle in stadium||Isaac|
|Quantum density of states: x2y2 potential||Tyler|
|Quasinormal modes: charged black brane||Andrew|
|Quantum time evolution||Bryce|
|Infalling geodesic congruence||Dake|
|Two dimensional turbulence||Lev|
|Helium in any dimension||Ting|
|Double-filled quantum dot||Bhavik|
Recommended books and papers:
|J. P. Boyd, Chebyshev and Fourier Spectral Methods|
|R. W. Hamming, Numerical Methods for Scientists and Engineers|
|M. Hjorth-Jensen, Computational Physics|
|J.-P. Berrut & L. Trefethen, Barycentric Lagrange interpolation|
|Spectral approximation modules: SpectralCode.nb, loadable package: SpectralCode.m|
|Spectral approximation modules (version 2): SpectralCode2.nb, loadable package: SpectralCode2.m|
|Riemannian geometry and tensor calculus: EDCRGTCcode.m, documentation: RGTC.nb|
|Tutorials: Mathematica, Matlab, Python, Python|
|UW Licensing: Mathematica, Matlab|
|Numerical computing libraries: GNU Scientific Library, Wikipedia listing|