Course Details

NUMERICAL ANALYSIS

S0515

Course
NUMERICAL ANALYSIS
Code
S0515
Academic Year
2026/2027
Curriculum Year
2024/2025
Degree Programme
CHEMISTRY
Curriculum
000 - CORSO GENERICO
Course coordinator
Lecturers
Credits
6
Lecture Hours
48
Scientific Disciplinary Sector (SSD)
MAT/08 - Numerical Analysis
Course Type
Single-subject learning activity
Course Delivery
OPZ - Opzionale
Year
3
Teaching period
Secondo Semestre
Campus
ALESSANDRIA
Teaching language
Italian
Course Contents
The course provides an introduction to error analysis, machine arithmetic, numerical approximation methods for the solution of nonlinear equations, and efficient methods for solving systems of linear equations. The course also addresses the main issues related to function approximation and numerical integration.
Reference Texts
Teacher's notes available on the DIR platform.
Learning Outcomes
The course aims to provide students with the fundamental knowledge of numerical analysis, introducing methods and algorithms for the approximate solution of mathematical problems through computational tools. The course addresses the main aspects of error analysis, machine arithmetic, conditioning, and numerical stability, providing students with the tools necessary to understand the reliability of results produced by computers.

The course also introduces numerical methods for solving nonlinear equations, systems of linear equations, function approximation problems, and numerical integration. Particular emphasis is placed on understanding the principles underlying numerical algorithms, their computational efficiency, and the selection of the most appropriate method according to the problem under consideration.

The course consists of 6 ECTS credits, corresponding to 48 hours of teaching activities, organized as follows:

28 hours of instructional activities, devoted to the presentation of fundamental theoretical concepts, the derivation and discussion of numerical methods, and the analysis of the properties of the algorithms introduced;
20 hours of interactive laboratory activities, devoted to the application of numerical methods through the implementation and use of computational tools. Laboratory activities involve the active participation of students in the design, implementation, testing, and critical analysis of simple numerical algorithms.

At the end of the course, students will have acquired the ability to understand and apply basic numerical methods, evaluate the accuracy and reliability of the solutions obtained, analyse the behaviour of algorithms, and use computational tools to address simple scientific computing problems.

The educational objective of the course is to develop skills in numerical modelling, algorithmic reasoning, and critical analysis of computational results, providing competencies relevant to the Computer Science degree programme and to the study and application of computational methods in areas such as simulation, data processing, optimization, and scientific computing.
Prerequisites
A knowledge of the fundamental mathematical concepts acquired in the basic courses of the degree programme is required, with particular reference to:

elementary algebra;
real functions of one real variable;
fundamental concepts of limits, continuity, and differentiability;
Taylor series expansions and differential and integral calculus for functions of one variable;
basic elements of linear algebra, with particular reference to vectors, matrices, and systems of linear equations.

The ability to read and understand simple mathematical texts and to formalize problems using mathematical language is also required.
Teaching Methods
The teaching activities will consist of blackboard lectures and computer laboratory sessions.

The lectures will be devoted to the presentation of fundamental theoretical concepts, the derivation and discussion of numerical methods, and the analysis of the properties of the algorithms introduced. The computer laboratory activities will focus on the practical application of the topics covered in the lectures, through the implementation, testing, and analysis of numerical methods using computational tools.

During the laboratory sessions, students will be actively involved in problem solving, in the design and verification of algorithms, and in the critical interpretation of the results obtained. The concepts introduced during the theoretical lectures will be discussed and applied through examples and exercises, with the aim of developing analytical skills, critical thinking, and independent judgement in the use of numerical methods.

Attendance: recommended.
Additional Information
Students with physical disabilities, Learning Disabilities or Special Education Needs can request specific services and tools via the Staff Sviluppo e Coordinamento Carriere e Servizi alle Studentesse e agli Studenti, consulting the University webpage: https://uniupo.it/en/services/services-students-physical-or-learning-disabilities/sld-information-desk

Students with disabilities, learning disabilities or special education needs, once they have contacted the University Staff, can refer to the tutor in charge of the course to define the examination modalities, concerning academic aspects.
Assessment Methods
The assessment of learning consists of an oral examination on the topics covered during the theoretical lectures and the practical activities carried out in the computer laboratory.

During the oral examination, students are required to demonstrate that they have acquired the knowledge and skills specified in the learning objectives of the course, using appropriate mathematical and computational terminology and showing the ability to describe, apply, and critically discuss the numerical methods introduced during the course.

The overall evaluation will take into account the level of achievement of the following learning outcomes:

- knowledge and understanding of the fundamental principles of numerical analysis and of the issues related to scientific computing;
- ability to apply numerical methods for the approximate solution of mathematical problems;
- ability to analyse the accuracy, stability, and reliability of the results produced by numerical algorithms;
- ability to select and justify the use of a numerical method in relation to the problem under consideration;
- ability to clearly and rigorously communicate procedures, results, and critical observations.

The final grade will be determined based on the level of achievement of the learning objectives of the course, considering knowledge of the theoretical contents, the ability to apply numerical methods, proficiency in the computational tools used in the laboratory, and the ability to provide independent and critical arguments.

A passing grade (18/30) is achieved when students demonstrate an essential knowledge of the fundamental topics of the course and are able to:

- describe the main concepts and numerical methods introduced;
- correctly apply standard procedures to simple numerical problems;
- interpret the results obtained, even in the presence of minor non-substantial inaccuracies;
- use appropriate basic mathematical and computational terminology.

A grade above the passing level reflects a progressive improvement in the ability to connect concepts, apply methods independently, and critically analyse the solutions obtained:

18–20/30: essential knowledge of the course contents, ability to apply standard methods with limited autonomy, and presence of some minor inaccuracies.
21–24/30: good knowledge of the topics, correct application of the main numerical methods, and a satisfactory ability to analyse results.
25–27/30: solid mastery of the contents, ability to connect theoretical and computational aspects, and autonomy in the use of numerical methods.
28–30/30: in-depth knowledge of the topics, ability to critically analyse the properties of algorithms, conscious selection of the most appropriate methods, and rigorous use of mathematical and computational language.
30/30 cum laude: achievement of an excellent level characterized by a high degree of independent judgement, ability to further explore the topics, mastery of the contents, and clarity of exposition.

The assessment method is designed to encourage students’ active involvement in the learning process, valuing not only the knowledge of final results but also the understanding of procedures, the ability to justify the choices made, and the critical interpretation of numerical solutions.

For the preparation of the oral examination, the following materials are recommended:

- lecture notes;
- course handouts and teaching material provided by the instructor;
- exercises carried out during the course and material related to the computer laboratory activities;
- Numerical Analysis textbooks suggested by the instructor, useful for consolidating the theoretical understanding of the topics and for further exploring methodological aspects.
Detailed Syllabus
ERROR ANALYSIS: Absolute error and relative error. Types of errors. Machine numbers. Representation through truncation and rounding. Machine precision. Overflow and Underflow. Finite arithmetic. Conditioning of a problem. Conditioning of the four fundamental algebraic operations.
APPROXIMATION OF FUNCTION ZEROS: The bisection method: stopping criteria, problem conditioning, and convergence order. Newton's method: local convergence and quadratic convergence order for simple roots. The case of multiple roots: linear convergence and restoration of quadratic convergence when exact multiplicity is known a priori. Quasi-Newton methods.
SOLVING LINEAR SYSTEMS: Simple cases. LU factorization: existence, uniqueness, and computational cost. Diagonally dominant matrices. Symmetric and positive-definite matrices: Cholesky method. Pivoting. Problem conditioning. Basic iterative methods. Overdetermined linear systems: least squares solution, normal equations method, and a brief mention of the method based on QR factorization.
FUNCTION APPROXIMATION: Polynomial interpolation: existence and uniqueness of the interpolating polynomial. Lagrange form. Brief analysis of error. The discrete least squares method.
NUMERICAL INTEGRATION: Interpolatory quadrature formulas. Newton-Cotes formulas: the trapezoidal method and the simple Simpson's method. Error analysis. Precision degree of a quadrature formula. Conditioning analysis of a definite integral and a quadrature formula. Composite trapezoidal and Simpson’s methods and their error analysis. OCTAVE/MATLAB COMPUTING ENVIRONMENT: Definition of scalar variables, vectors, and matrices. Variable types. Colon operator. Subvectors and submatrices. Arithmetic, relational, and logical operators. Main built-in functions. Script-type M-files. Input and output commands for data. Commands for controlling the execution flow. Function-type M-files: input and output parameters. Main 2D graphics commands.
Expected Learning Outcomes
The expected learning outcomes are consistent with the objectives of the Computer Science Degree Programme, as they provide students with fundamental knowledge and skills for the understanding, analysis, and use of numerical methods in computational contexts. These skills are relevant for addressing computer science problems requiring mathematical modelling, algorithm design, analysis of results, and the conscious use of computational resources.

The expected learning outcomes are consistent with the 6 CFU assigned to the course, the planned teaching activities (theoretical lectures and computer laboratory sessions), and the educational resources provided by the Degree Programme. Their achievement is assessed through the oral examination and the practical activities carried out during the course.

- Knowledge and understanding

At the end of the course, students will be able to:

- understand the fundamental principles of numerical analysis and the issues related to the approximate solution of mathematical problems using computers;
- know the main techniques for the development of numerical methods and the fundamental properties of the algorithms introduced;
- understand the aspects related to accuracy, convergence, conditioning, and numerical stability;
- understand the difficulties associated with number representation and automatic computation, as well as the strategies used to address them.

Minimum level of achievement: students demonstrate knowledge of the fundamental concepts of the course, understand the meaning of the main numerical methods studied, and are able to describe their essential characteristics using appropriate mathematical terminology.

Advanced level of achievement: students demonstrate an in-depth knowledge of numerical methods, are able to analyse their properties and limitations, establish connections between theoretical and computational aspects, and critically evaluate the reliability of the results obtained.

- Applying knowledge and understanding

At the end of the course, students will be able to:

- apply numerical methods for the approximate solution of mathematical problems;
- identify the most appropriate method according to the nature of the problem, the required accuracy, and the available computational resources;
- implement, use, and verify numerical algorithms through computational tools;
- perform correctness and accuracy tests on the results produced by algorithms;
- evaluate the advantages and limitations of different numerical methods and make informed choices;
- analyze and clearly present the results of numerical experiments;
- develop solution strategies for new problems based on the methods and techniques acquired.

Minimum level of achievement: students are able to apply standard numerical methods to known problems, use simple implementations or codes provided by the professor, qualitatively verify the results obtained, and describe the procedure followed.

Advanced level of achievement: students are able to independently select appropriate methods and solution strategies, justify their choices, critically analyze the accuracy and stability of solutions, develop or modify numerical algorithms, and effectively communicate results and technical evaluations.
Last update:09-09-2026 00:14:31