Introduction to Numerical Algorithms
Overall Course Objectives
To perform a technical/mathematical computation (such as evaluation of an integral or solution of a differential equation) on a computer, one must use numerical algorithms that define how the computations are performed efficiently and accurately. Hence, numerical algorithms are the fundamental “building blocks” in most technical computations – whether they are done in Python, Matlab, C, or other languages.
This course gives an introduction to the field of numerical algorithms, with focus on the interplay between the mathematical formulation of the computational problem and the practical implementation on a computers (specifically: in Python). The aim is to give the student a basic understanding of how to perform mathematical computations on a computer. Note that this is NOT a programming course — our focus is on numerical algorithms, and not on a particular programming language.
See course description in Danish
Learning Objectives
- explain and apply basic notions such as iteration and convergence
- discuss the effect of truncation and rounding errors
- critically compare alternative methods regarding efficiency and accuracy
- apply numerical algorithms to actual (simple) problems
- implement simple numerical algorithms in Python
- apply existing Python programs in the solution of a given problem
- perform sensitivity analysis of a simple problem
- estimate and in some cases derive estimates of the accuracy of the computed solution
- convey and discuss the topics of the course in a clear technical language
- develop computational methods in such that they are first tested and evaluated on selected test problems
Course Content
Approximations and rounding errors. Numerical algorithms for solving systems of linear equations, interpolation, numerical integration, roots in functions, linear data fitting, and ordinary differential equations. Implementation and use of selected numerical algorithms in Python.
Recommended prerequisites
02002/02631/02632/02633/02525/01002/01004/01005/01006/01015/01016, Taylor’s formula, roots of polynomials, ordinary differential equations and linear algebra. These subjects are covered by 01005/01006 Mathematics 1 whos second semester has to be taken at least at the same semester. Elementary programming in Python.
Teaching Method
Lectures and exercises in the databar.
Faculty
Remarks
The course gives a general introduction to numerical algorithms. It is a prerequisite for the following courses given by the scientific computing group at DTU Compute: 02526 – Mathematical Modeling, 02610 Optimization and Data Fitting, 02614 High Performance Computing, 02616 Large-Scale Modelling,02623 The Finite Element Method for Partial Differential Equations, 02624 – Inverse Problems and Imaging, 02686 – Scientific Computing for differential equations 1.