93912 - Numerical Analysis and Linear Algebra

Academic Year 2021/2022

  • Docente: Serena Morigi
  • Credits: 9
  • SSD: MAT/08
  • Language: English

Learning outcomes

At the end of the course, the student knows the numerical-mathematical aspects and the main numerical algorithms that allow to solve problems of interest in Engineering. In particular, the student knows basic numerical methods for solving linear and non-linear systems of large dimensions, interpolation, least squares approximation, integration and derivation, numerical methods for the regularization of ill-posed inverse problems. Given this basic knowledge, the main objective is to introduce the student to numerical methods for the solution of differential equations (ordinary differential equations and partial differential equations) with particular reference to finite difference and basic finite element schemes. The course includes a laboratory activity which is an integral part of it, the MATLAB scientific software is used.

Course contents

Part A:

A first course in Numerical Analysis. Covers the basic techniques of the subject and provides a foundation for the efficient numerical solution of problems in science and engineering. Numerical methods to solve linear and nonlinear systems , numerical derivative, numerical integration, interpolation, approximation. A brief introduction to inverse problems and regularization techniques.

Part B:

This second part of the course presents numerical methods for the solution of problems modeled by both Ordinary Differential Equations (ODE) and Partial Differential Equations (PDE). The course discusses their analysis, applications, and computation of the solution (by first discretizing the equation, bringing it into a finite-dimensional subspace by a finite element method, or a finite difference method , and finally reducing the problem to the solution of an algebraic equations)


1. [ANALISI] Basics of numerical computing: floating-point arithmetic, roundoff errors, algorithms, problem conditioning, numerical stability.

2. [ALGEBRA] Linear algebra: matrices, vector and matrix norm.

3. [ANALISI]Introduction to programming using MATLAB.

4. [ALGEBRA]Solving Linear Systems. Direct methods: LU factorization, pivoting, Gaussian elimination, Cholesky factorization.

5. [ALGEBRA]Solving Linear Systems. Itarative methods:Gauss-Seidel, Conjugated Gradients, Preconditioning.

6. [ANALISI]Numerical solution of nonlinear equations and systems: bisection method, Newton's method, secant, regula falsi.

7. [ANALISI]Polynomial interpolation and piecewise polynomial interpolation

8. [ALGEBRA]Polynomial approximation of data by least squares: normal equations, method based on QR factorization and SVD.

9. [ALGEBRA]Regularization methods for ill-posed problems

10. [ANALISI] Numerical integration: Newton Cotes quadrature formulas of simple and composite.

11. [ANALISI] Numerical differentiation

Part B:

1. Numerical Solution of Ordinary Differential Equations: One step methods; Control of error; Definition of the step; Multi-step methods; Predictor corrector method; Methods for Stiff Problems;

2. Boundary value problems;

3. Numerical Solution of Partial Differential Equations; Classification; domain of dependence of the first order equations; Finite difference methods for parabolic problems; transport equation, hyperbolic problems: Galerkin method for Parabolic Problems; Elliptic equations: finite difference method and finite element methods.

4. Introduction to PDETOOL and its use in the analysis of some models.


Cleve Moler, Numerical Computing with MATLAB , Ed. SIAM, 2004.
Michael T. Heath, Scientific Computing: An Introductory Survey , 2nd ed., McGraw-Hill, 2002.

A.Quarteroni, F.Saleri, P.Gervasio, Scientific Computing with MATLAB and Octave, 2010

A. Quarteroni, Numerical Models for Differential Problems, 2014, ISBN 978-88-470-5522-3

Randall J. Leveque, Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems, 2007

Teaching methods

class hours and computational exercises in lab.

Assessment methods

The exam consists of 2 written parts: two tests to be carried out in the laboratory, one for part A and one for Algebra.

Development of a project where numerical methods are used in a specific application agreed with the teacher. Delivery of a paper and oral exam for part B.

Teaching tools

Experience in Lab. is an essential part of the course. Matlab is used as problem solving environment, matrix-vector programming language, graphics.

Slides provided in the WEB site in the Platform iol.unibo.it

Office hours

See the website of Serena Morigi


Quality education

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.