66736 - Numerical Methods

Academic Year 2021/2022

  • Docente: Lucia Romani
  • Credits: 6
  • SSD: MAT/08
  • Language: Italian
  • Moduli: Lucia Romani (Modulo 1) Damiana Lazzaro (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

Learning outcomes

Knowledge of the fundamental aspects of numerical linear algebra and numerical analysis, that can be used in computer systems. Particular attention will be addressed to the acquisition of basic mathematical and computational tools typical of some applications such as signal and image processing and analysis of structured data.

Course contents

1. Numerical Calculus - Goals and problems in solving practical computer problems.

2. Finite numbers - Representation of real numbers. Finite numbers. Representation errors. Floating point arithmetic. Error analysis in elementary arithmetic operations. Error propagation: conditioning of a problem and stability of an algorithm.

3. Linear Algebra recalls on vectors, matrices and vector spaces. Vector norms and matrix norms.

4. Zeros of Functions - Problem formulation. Resolution Techniques. Iterative methods, convergence and order of methods. Local convergence and global convergence methods. Bisection method and other methods of the first order. The Fixed Point iteration method. Convergence theorem. A second-order method: the Newton method. Quasi-Newton methods: the secant method.

5. Numerical solution of Linear Systems - Condition number of a matrix and conditioning of the problem. The Gauss elimination algorithm. LU factorization of a matrix. Stability of LU factorization. Pivoting. Cholesky factorization of symmetric and positive definite matrices. Householder method and QR factorization of non-square matrices. Properties.

6. Least Squares approximation - Normal equations and QRLS method (least squares solution using QR factorization). Properties of the two methods.

7. Interpolation - Polynomial interpolation. Existence and uniqueness of the interpolating polynomial. Lagrange's form and Newton's form of the interpolating polynomial. Error expression in polynomial interpolation. Convergence problems. Analysis of conditioning of the polynomial interpolation problem.

8. Numerical Integration - Newton-Cotes quadrature formulas. Simple and composite quadrature formulas. Error of simple and composite formulas. Adaptive quadrature formulas.

9. One-dimensional and two-dimensional discrete Fourier transform. Fast Fourier Transform (FFT) algorithm. Fields of application of the discrete Fourier transform with particular attention to image filtering.

Readings/Bibliography

It will be fundamental to use the notes taken during the lectures and the computer material made available at https://virtuale.unibo.it/

For further study we recommend:

[1] A. Quarteroni, F. Saleri: Introduzione al Calcolo Scientifico - Esercizi e problemi risolti con MATLAB, Springer Verlag, 2006

[2] A. Quarteroni, R. Sacco, F. Saleri, P. Gervasio: Matematica Numerica (4th edition), Springer Verlag, 2014

[3] R. Bevilacqua, D. Bini, M. Capovani, O. Menchi: Metodi Numerici, Zanichelli, Bologna, 1992

[4] D. Bini, M. Capovani, O. Menchi: Metodi numerici per l'algebra lineare, Zanichelli, Bologna, 1996

Teaching methods

The course is structured in lectures and exercises in the computer laboratory. More precisely, the lectures on the basic numerical methods to solve classical mathematical problems through the use of a computer, are followed by laboratory exercises aimed at implementing these methods in Matlab and developing an adequate sensitivity and awareness of their use.

Assessment methods

The exam aims to verify the achievement of the following educational objectives:

- knowledge of the fundamental elements of numerical calculus, illustrated during the lectures;

- ability to use basic numerical methods to solve real problems using a computer.

The end-of-course exam (the evaluation of which is in thirtieths) will take place in a single test which includes both the development of Matlab codes for solving numerical problems, and the written answer to theoretical questions on the topics covered in the lessons.

Teaching tools

The course includes a laboratory activity in which the Matlab programming language is used. The corresponding teaching material will be made available to the student in electronic format and will be downloadable at https://virtuale.unibo.it/

Office hours

See the website of Lucia Romani

See the website of Damiana Lazzaro