FU:FYBPV0004 Programming for Physicists - Course Information
FYBPV0004 Programming for Physicists
Institute of physics in Opavawinter 2020
- Extent and Intensity
- 0/2/0. 4 credit(s). Type of Completion: z (credit).
- Guaranteed by
- RNDr. Jan Novotný, Ph.D.
Institute of physics in Opava - Prerequisites
- basic knowledge of programming.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Astrophysics (programme FU, FYZB)
- Astronomy and popularization (programme FU, FYZB)
- Course objectives
- Programming for physicists introduces basic and more advanced numerical methods used in physics.
- Learning outcomes
- After completing the course, the student will be able to:
- computer representation of numbers and computer arithmetic and its influence on the numerical accuracy; - Solution of linear algebraic equations - Gauss-Jordan elimination. Gaussian elimination with back substitution. LU decomposition; - Solution of nonlinear algebraic equations, finding extremes: Bracketing and bisection. Mowing method. Newton-Raphson method; - Numerical integration: Classical formulas (open, closed, semi-open) and algorithms (trapezoidal, Simpson's rule). Romberg integration. Improper integrals. Gaussian quadrature and orthogonal polynomials. - Solve ordinary differential equations; - Work with relevant libraries for physicists such as FFTW, GNU GSL, Intel MKL, OpenBLAS; - Syllabus
- 1. Computer representation of numbers and computer arithmetic: Decimal, binary, octal and hexadecimal representations. Signed and unsigned integers. Floating-point numbers. IEEE standard. Rounding, arithmetic operations, exceptions. Error and accuracy. Stability of calculation. Traps and lures. 2. Solution of linear algebraic equations: Gauss-Jordan elimination. Gaussian elimination with back substitution. LU decomposition. Solutions for some special matrix shapes. 3. Solution of nonlinear algebraic equations, finding extremes: Bracketing and bisection. Mowing method. Newton-Raphson method. The roots of polynomials. 4. Interpolation and extrapolation: Polynomial interpolation and extrapolation. Rational interpolation and extrapolation. Cubic splines. Interpolation in two or more dimensions. 5. Random numbers: Even distribution generators, system generators vs. portable random number generators. Transformation and rejection method for generating other distributions. 6. Numerical integration: Classical formulas (open, closed, semi-open) and algorithms (trapezoidal, Simpson's rule). Romberg integration. Improper integrals. Gaussian quadrature and orthogonal polynomials. Multidimensional integrals. Integration as a special case of solving ordinary differential equations. Monte Carlo integration. 7. Evaluation of functions: Convergence of series and its acceleration, chain fractions. Polynomial and rational functions. Complex arithmetic. Recurrence. Quadratic and cubic equations. Numerical derivation. 8. Ordinary differential equations: The problem of initial values vs. problem of marginal values. Runge-Kutta method. Fixed and adaptive step methods. Predictor-corrector method. Bulirsch-Stoer method. 9. Boundary value problem: Shooting method. Relaxation method. 10. Fast Fourier transform (FFT) and its applications: Fourier transform of discretely sampled data. Nyquist critical frequency, sampling theorem, aliasing. Complex FFT, FFT of real functions, sine and cosine transformation. Multidimensional FFT. Convolution and deconvolution. Correlation and autocorrelation.
- Literature
- Teaching methods
- Lecture Demonstration Laboratory work
- Assessment methods
- Test Student performance analysis Project (credit, semester, seminar)
- Language of instruction
- Czech
- Further Comments
- The course is taught annually.
The course is taught: every week.
- Enrolment Statistics (winter 2020, recent)
- Permalink: https://is.slu.cz/course/fu/winter2020/FYBPV0004