Course material for M3M6 Methods of Mathematical Physics
Office Hours: 16:00-17:00 Mondays during term, Huxley 6M40
Reading list
- M.J. Ablowitz & A.S. Fokas, Complex Variables: Introduction and Applications, Second Edition, Cambridge University Press, 2003
- R. Earl, Metric Spaces and Complex Analysis, 2015
Problem sheets, exams, and mastery material (2018)
-
Problem sheet 1 (Solutions)
-
Problem sheet 2 (Solutions)
-
Problem sheet 3 (Solutions)
-
Problem sheet 4 (Solutions)
-
Mastery sheet (Solutions)
-
Mastery material (Available on Blackboard)
-
Practice exam
Lecture notes (2018)
Each file is a Jupyter notebook, that can be viewed using the Jupyter Notebook viewer:
- Course overview
- Cauchy's theorem
- Cauchy's integral formula and Taylor series
- Trapezium rule, Fourier series and Laurent series
- Residue theorem
- Analyticity at infinity
- Integrals over the real line
- Functions with branch cuts
- Cauchy transforms
- Hilbert transforms
- Riemann–Hilbert problems
- Ideal fluid flow
- Electric charges in a potential well
- Constructing orthogonal polynomials
- Recurrence relationships
- Solving differential equations with orthogonal polynomials
- Differential equations satisfied by orthogonal polynomials
- Orthogonal polynomials and singular integrals
- Logarithmic singular integrals
- Integral equations on the real line
- Laplace transforms
- Integral equations on the half-line and Riemann–Hilbert problems
- Cauchy transforms on the real line
- Riemann–Hilbert problems on the real line
Lecture notes (2017)
- The Wiener–Hopf method
- Analyticity of solutions of ordinary differential equations
- Singular points of ordinary differential equations
- Hypergeometric functions
To run the files on your own machine, use the following steps:
- Download Julia v1.1
- In Julia, install the necessary packages:
Pkg.add("ApproxFun")
Pkg.add("Plots")
Pkg.add("GR")
Pkg.add("Plotly")
Pkg.add("PlotlyJS")
Pkg.add("Interact")
Pkg.add("IJulia")
Pkg.add("DifferentialEquations")
Pkg.add("ComplexPhasePortrait")
Pkg.clone("https://github.com/JuliaApproximation/OscillatoryIntegrals.jl")
- Boot-up Jupyter by running in Julia
using IJulia
@async notebook()
- Download the files and drag and drop (or better yet, use
git
to clone the reposaitory and stay up-to-date).