UFDF005 Programming for Physicists

Faculty of Philosophy and Science in Opava
Winter 2019
Extent and Intensity
0/0/0. 0 credit(s). Type of Completion: dzk.
Guaranteed by
doc. RNDr. Stanislav Hledík, Ph.D.
Centrum interdisciplinárních studií – Faculty of Philosophy and Science in Opava
Prerequisites
Skills in the programming language C (in the scope of UF / BL124 "Programming in C language"), particularly in working with fields (both one- and two-dimensional) and pointers. Graduation in UF/W3601 "Programming for Physics" is an advantage. Working with a suitable IDE on which homeworks will be developed may be advantageous.
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
Course objectives
One-semester course Programming for Physicists introduces intermediatelly advanced numerical methods used in physics. The programming language C is used.
Syllabus
  • 1. Introduction to the development environment I: Introduction to Unix-like aOS (Linux), shell, working with command line, text editor. IDE under Windows (Code::Blocks, Bloodshed Dev-C + +). Compiler, separated compiling, linking.
    2. Recapitulation: Constructs of the C programming language important for numerics. Program organization and program flow structures. Working with the book by Press W. H. et al.
    3. Representation of numbers by computers and computer arithmetic: decimal, binary, octal and hexadecimal representations. Integers signed and unsigned. Floating-point numbers. The IEEE standard. Rounding, arithmetic operations, exceptions. Error and accuracy. Stability of computation. Traps and pitfalls.
    4. Solution of linear algebraic equations: Gauss-Jordan elimination. Gauss elimination with backsubstitution. LU decomposition.
    5. Solution of nonlinear algebraic equations, finding extremes: Bracketing and bisection. Secant method. Newton-Raphson method.
    6. Interpolation and extrapolation: polynomial interpolation and extrapolation. Rational interpolation and extrapolation.
    7. Random numbers: Generators of uniform distribution, system generators vs. portable random number generators. Transformation and rejection method of generation of other distributions. Exponential and normal distributions.
    8. Numerical integration: classical formulas (open, closed, semi-open) and algorithms (trapezoidal, Simpson's rule). Romberg integration. Improper integrals.
    9. Ordinary differential equations: initial value problem vs. boundary values problem. Runge-Kutta method, and other methods.
Literature
    recommended literature
  • Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, Cambridge, 1997. ISBN 0-521-43108-5. URL info
  • Vetterling, W. T., Teukolsky, S. A., Press, W. H., Flannery, B. Numerical Recipes Example Book (C). Cambridge University Press, Cambridge, 1993. ISBN 0-521-43720-2. URL info
    not specified
  • Ralston, A. Základy numerické matematiky. Academia, Praha, 1978. URL info
Teaching methods
Lecturing
Lecture with a video analysis
Assessment methods
Test
The analysis of student 's performance
Language of instruction
Czech
Further comments (probably available only in Czech)
The course can also be completed outside the examination period.
Teacher's information
To get the credit the student must successfully defend credit project whose topic will be assigned during the course.
The course is also listed under the following terms Winter 2000, Summer 2001, Winter 2001, Summer 2002, Winter 2002, Summer 2003, Winter 2003, Summer 2004, Winter 2004, Summer 2005, Winter 2005, Summer 2006, Winter 2006, Summer 2007, Winter 2007, Summer 2008, Winter 2008, Summer 2009, Winter 2009, Summer 2010, Winter 2010, Summer 2011, Winter 2011, Summer 2012, Winter 2012, Summer 2013, Winter 2013, Summer 2014, Winter 2014, Summer 2015, Winter 2015, Summer 2016, Winter 2016, Summer 2017, Winter 2017, Summer 2018, Winter 2018, Summer 2019, Summer 2020, Winter 2020, Summer 2021, Winter 2021, Summer 2022.
  • Enrolment Statistics (Winter 2019, recent)
  • Permalink: https://is.slu.cz/course/fpf/winter2019/UFDF005