Part I. Finite precision computation. Numerical solution of linear systems. Data and function approximation. Numerical integration.
Part II. Numerical methods for nonlinear equations. Numerical methods for initial value problems for ordinary differential equations. Finite difference methods for boundary value problems.
Part III. Matlab programming language
M.G. Gasparo, R. Morandi, Elementi di Calcolo Numerico, McGraw Hill, 2008.
A.Quarteroni, R. Sacco, F. Saleri : Matematica Numerica. Springer-Verlag Italia,1998
W. Palm III : Matlab7 per l'Ingegneria e le scienze. Mc-Graw Hill, 2005.
C.F. Van Loan Introduction to Scientific Computing, Prentice Hall
Learning Objectives
The course deals with the definition and study of methods for solving mathematical problems by using computers.
Purpose of the course is to present the basic methodologies used in numerical analysis for solving mathematical problems arising in the applications with a particular attention devoted to implementation issues.
Knowledge acquired:
Knowledge of classical numerical methods for solving the considerd mathematical problems.
Competence acquired:
Understanding of the major issues related to the numerical solution of mathematical problems.
Skills acquired (at the end of the course):
Ability to choose the best numerical method and algorithm for solving a given problem, and to understand the numerical results.
Students of the classes including program's Part III will be able to develop simple programs and to use the Matlab environment in order to solve the mathematical problems under study.
Prerequisites
Basic linear algebra tools: vectors, matrices, linear systems. Fundamental of Mathematical Analysis.
Teaching Methods
Part I and Part II. Lectures: Presentation of the theory described in the course program, with teacher-student direct interaction, to ensure a full understanding of the subject.
Part III. Training essions in the computer lab (not scheduled for the class Advanced Numerical Analysis - LM Ingegneria Edile): practicing with numerical problem solving in Matlab envinronment.
The training sessions are conducted so to:
-- help the students to develop skills to apply the theoretical knowledge;
-- encourage criticism in the students, particularly in assessing the numerical results obtained.
Moodle learning platform: online teacher-student interaction, posting of additional notes, supplementary exercise sheets, examples of final tests.
Further information
The course is followed by the following classes:
- Numerical Analysis and Computer Programming (LM Ingegneria Civile) 9CFU
- Advanced Numerical Analysis (LM Ingegneria Edile) 6 CFU (Part I and Part II)
- Elements of Numerical Calculus (LM Informatica) 6 CFU (Part I and Part III)
Frequency of lectures, practice and lab: Recommended
Students are evaluated as follows.
a) a written test (for all classes)
b) a Matlab practical test (not required to the class of Advanced Numerical Analysis - LM Ingegneria Edile)
c) an optional oral test.
a) Theoretical written test, with essay questions, to assess student's knowledge and comprehension of the theory presented in the lectures.
b) Matlab practical test in the computer lab, to asses knowledge of Matlab language and capability to use numerical methods.
The test consists usually of two exercises, each organized in several points.
The weighted mean of the score obtained for the two tests provides the exam final score in case the student does not request to hold the oral test. The cut score for passing is 18/30.
c) Oral test. It can be requested by the student after passing the previous tests. A number of questions (usually three) are posed. The test will be mainly devoted to assess the degree of knowledge and understanding of the theory presented in the course, possibly including a discussion on the written and Matlab tests.
The final evaluation result will be determined on the base of the score of all the taken tests.
Course program
Part I.
Numerical methods and algorithms: definitions. Errors in scientific computing: floating-point representation, machine precision and arithmetic operations; discretization error and effects of finite precision; perturbation analysis and stability.
Linear systems - Condition number of a matrix; Gaussian elimination; LU and Cholesky factorizations; pivoting strategies; error analysis.
Data and functions approximation - Polynomial and piecewise polynomial interpolation: Lagrange and Newton form of the interpolant polynomial, interpolation error, conditioning of the problem; spline functions, cubic spline interpolants. Polynomial least squares approximation.
Part II.
Nonlinear equations - Iterative methods for finding the roorts of a nonlinear equation:
Bisection, Newton and Secant methods; convergence properties and implementation issues.
Differential equations - Numerical methods for initial value problems for differential equations: explicit one step methods (Euler and Runge-Kutta).
Finite difference methods for boundary value problems: central differences method and upwind method; convergence and implementation issues.
Part III.
How to use the interactive MATLAB environment.
Variables, elementary functions, array operations. Working with files: Scripts and Functions. Loops and execution control. Plotting and program output. Matlab predefinite functions implementing the numerical methods studied in Part I and Part II.