UFW3601 Programming for Physicists

Faculty of Philosophy and Science in Opava
Winter 2023
Extent and Intensity
0/2/0. 3 credit(s). Type of Completion: z (credit).
Teacher(s)
RNDr. Jan Novotný, Ph.D. (seminar tutor)
Guaranteed by
doc. RNDr. Stanislav Hledík, Ph.D.
Centrum interdisciplinárních studií – Faculty of Philosophy and Science in Opava
Timetable of Seminar Groups
UFW3601/01: Wed 16:25–18:00 PU-UF, J. Novotný
Prerequisites (in Czech)
( UFAF508 Programming in C-language || UFBL124 Programming in C-language ) && TYP_STUDIA ( B )
Zručnost v programovacím jazyce C (v rozsahu předmětu UF/BL124 "Programování v jazyce C"), zejména v práci s poli (jedno- i dvourozměrnými) a ukazateli. Hodí se znalost práce s vhodným IDE, na němž budou vypracovávány domácí úlohy.
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 the basic 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
The analysis of student 's performance
Credit
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course can also be completed outside the examination period.
Teacher's information
To get the credit the student must have at least 80% attendance and successfully defend credit project whose topic will be assigned during the course.
The course is also listed under the following terms Winter 1993, Winter 1994, Winter 1995, Winter 1996, Winter 1997, Winter 1998, Winter 1999, Winter 2000, Winter 2001, Winter 2002, Winter 2003, Winter 2004, Winter 2005, Winter 2006, Winter 2007, Winter 2008, Winter 2009, Winter 2010, Winter 2011, Winter 2012, Winter 2013, Winter 2014, Winter 2015, Winter 2016, Winter 2017, Winter 2018, Winter 2019, Winter 2020, Winter 2021, Winter 2022.
  • Enrolment Statistics (recent)
  • Permalink: https://is.slu.cz/course/fpf/winter2023/UFW3601