dlfivefifty / M3M6MethodsOfMathematicalPhysics

Lecture notes for M3M6 Methods of Mathematical Physics
MIT License
38 stars 11 forks source link

Course material for M3M6 Methods of Mathematical Physics

Office Hours: 16:00-17:00 Mondays during term, Huxley 6M40

Reading list

  1. M.J. Ablowitz & A.S. Fokas, Complex Variables: Introduction and Applications, Second Edition, Cambridge University Press, 2003
  2. R. Earl, Metric Spaces and Complex Analysis, 2015

Problem sheets, exams, and mastery material (2018)

  1. Problem sheet 1 (Solutions)

  2. Problem sheet 2 (Solutions)

  3. Problem sheet 3 (Solutions)

  4. Problem sheet 4 (Solutions)

  5. Mastery sheet (Solutions)

  6. Mastery material (Available on Blackboard)

  7. Practice exam

Lecture notes (2018)

Each file is a Jupyter notebook, that can be viewed using the Jupyter Notebook viewer:

  1. Course overview
  2. Cauchy's theorem
  3. Cauchy's integral formula and Taylor series
  4. Trapezium rule, Fourier series and Laurent series
  5. Residue theorem
  6. Analyticity at infinity
  7. Integrals over the real line
  8. Functions with branch cuts
  9. Cauchy transforms
  10. Hilbert transforms
  11. Riemann–Hilbert problems
  12. Ideal fluid flow
  13. Electric charges in a potential well
  14. Constructing orthogonal polynomials
  15. Recurrence relationships
  16. Solving differential equations with orthogonal polynomials
  17. Differential equations satisfied by orthogonal polynomials
  18. Orthogonal polynomials and singular integrals
  19. Logarithmic singular integrals
  20. Integral equations on the real line
  21. Laplace transforms
  22. Integral equations on the half-line and Riemann–Hilbert problems
  23. Cauchy transforms on the real line
  24. Riemann–Hilbert problems on the real line

Lecture notes (2017)

  1. The Wiener–Hopf method
  2. Analyticity of solutions of ordinary differential equations
  3. Singular points of ordinary differential equations
  4. Hypergeometric functions

To run the files on your own machine, use the following steps:

  1. Download Julia v1.1
  2. 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")
  3. Boot-up Jupyter by running in Julia
    using IJulia
    @async notebook()
  4. Download the files and drag and drop (or better yet, use git to clone the reposaitory and stay up-to-date).