/ Aarhus University / Physics / Subatomic Physics / Nuclear Theory >

Numeriske Metoder / Numerical methods F11

[ FAQ | F10 home-page ]

NB:
  • The obligatory exercises and the project should be ready by the end of June. When you are done with the exercises and the project, indicate that on the Homeworks table of the Wiki page of the course.
  • Remember chmod --recursive go+xr ~/public_html
  • An example of using the unix graph utility is here.
  • An example of using the gnuplot utility is here
  • Schedule:
    Lectures: Monday, 10:15, aud. D1 (mat) and Thursday, 09:15, aud. D4 (mat)
    Exercises: Friday, 09:15 (team 1) and 12:15 (team 2), aud. 1525-319.
    Exercises:
    Hello World, Interpolation, Adaptive integration, Monte Carlo integration, ODEs, QR-decomposition, Least-Squares fit, Eigenvalues, RootFinding and Optimization, FFT, SMP.
    Weekly notes:
    1. Introduction: Numerical computations in physics; servers and clusters; Danish Center for Scientific Computing, IFA's farmor; POSIX systems; free software; programming languages; programming in POSIX environment; The POSIX make utility; Exercises: structure: makefile, main.c, method.c, utils.c → output.txt, illustration.png, ... .
    2. Interpolation
      [page1.png; page2.png; page3.png; page4.png; pdf; (June 25 2019)]
      Polynomial interpolation; spline interpolation: linear, quadratic, cubic splines; other forms of interpolation; multivariate interpolation.
    3. Numerical integration (quadratures)
      [page1.png; page2.png; page3.png; page4.png; pdf (June 25 2019) ]
      Quadratures with equally spaced abscissas (Newton-Cotes); quadratures with optimized abscissas (Gauss); adaptive algorithms with equally spaced abscissas; Gauss-Kronrod quadratures.
    4. Monte Carlo integration
      [page1.png; page2.png; page3.png; page4.png; pdf (June 25 2019) ]
      Plain Monte Carlo sampling; importance sampling; stratified sampling; quasi-random sequences.
    5. Ordinary differential equations
      [page1.png; page2.png; page3.png; page4.png; pdf (June 25 2019) ]
      One-step (Runge-Kutta) methods; multi-step and predictor-corrector methods; error estimates; adaptive step-size strategy.
    6. Systems of linear equations
      [page1.png; page2.png; page3.png; pdf (June 25 2019) ]
      Triangular systems and back-substitution; LU-decomposition: Doolittle algorithm; QR-decomposition: modified Gram-Schmidt algorithm; determinant of a matrix; matrix inverse.
    7. Linear least-squares problem
      [page1.png; page2.png; page3.png; pdf (June 25 2019) ]
      Least-squares solution with QR-method; ordinary least-squares fit; fit errors and covariance matrix.
    8. Eigenvalues and eigenvectors
      [page1.png; page2.png; page3.png; page4.png; pdf (June 25 2019) ]
      Jacobi eigenvalue algorithm; QR/QL algorithm; power method; inverse iteration method.
    9. Nonlinear equations and optimization
      [page1.png; page2.png; page3.png; page4.png; pdf (June 25 2019) ]
      modified Newton's method; Broyden's quasi-Newton's method; downhill simplex method.
    10. Fast Fourier transform and applications
      [page1.png; page2.png; page3.png; pdf (June 25 2019) ]
      Discrete Fourier Transform and applications; Fast Fourier Transform: Danielson-Lanczos lemma and Cooley-Tukey algorithm.
    11. Krylov subspace methods
      [page1.png; page2.png; pdf (June 25 2019) ]
      Arnoldi and Lanczos methods for finding few eigenvalues of a matrix; GMRES (Generalized Minimum RESidual) method for solving systems of linear equations.
    12. Multiprocessing
      • Processes and threads; multiprocessing and multithreading; POSIX threads (pthreads).
      • Open Multi-Processing (OpenMP, OMP):
        • Header file: omp.h; CFLAGS += -fopenmp; LDFLAGS += -lgomp;
        • OpenMP tutorial from llnl.gov
        • thread creation:
          • #pragma omp parallel private(var1,var2) shared(var3)
        • parallel work-sharing:
          • #pragma parallel for private() shared() schedule()
          • #pragma omp sections
    13. Last bits:
      • More on multi-threading: thread safety.
      • Calculations of the complex valued special functions. [ png, pdf ]
    Literature:
    Numerical Recipes in ... , by W.H.Press et.al., available on-line
    D.V.Fedorov, Introduction to Numerical Methods, lecture notes [ 1M PS file or 1M PDF file (June 25 2019) ].
    Evaluation:
    Project and exercises (weighted 90%-10%), 7-scale grade.
    Useful links:
    [ Linuxbog.dk | GNU scientific library | HTMLhelp | Computer Language Benchmarks ]
    Computers:
    We have a dedicated server, molveno, which is a two-processor box running the current Ubuntu. You can only login into it from inside the local network. That is, from home you have to login first into lifa.phys.au.dk and then to molveno. You can also use the IFA's servers lifa.phys.au.dk. However, molveno is a bit more updated and has a lot more software installed.
    Program examples
    can be found here.
    Homeworks:
    Is now located at the Wiki at AULA

    "Copyleft" © 2004-2009 D.V.Fedorov (fedorov at phys dot au dot dk)