The course is an introduction to the general methodologies, techniques and operational competences related to the development of algorithms and software in the field of scientific calculation. The course contains an introduction to the MATLAB language, used for software development in laboratory activities that are an integral part of the course.
Knowledge and comprehension: The student must show that he knows and understands the fundamentals of numerical analysis, with particular regard to numerical linear algebra, the methodologies for the development and analysis of numerical algorithms, the Matlab programming language and its application context.
Ability to apply knowledge and understanding: The student must demonstrate that he knows how to use his acquired knowledge to solve computationally the main problems of applied mathematics, even when they appear in concrete contexts, To develop numerical algorithms and analyze them from the point of view of accuracy and complexity, to consciously use a programming language in order to efficiently implement a numerical algorithm.
These capacities are also obtained by means of a thorough and aware use of the computational tools and the advanced computer labs. Autonomy of judgement: the student must know how to evaluate the results of a numerical algorithm and its software implementation.
Communicative skills: The student must be able to write a presentation report of a numerical algorithm and to document his Matlab implementation,
also working in a group, using advanced writing/documentation Tools of Scientific calculation and correctly using the terminology of applied and
computational mathematics, also in English language.
Learning skills: The student must be able to update themselves and deepen specific numerical calculation topics and applications, including by
accessing databases, on-line repositories of scientific software, and other modalities available through the web.
Students must know the basic topics provided in the following Courses of the Program: Calculus I, II, Programming I
Introduction to scientific computing – Mathematical models, numerical models, algorithms and scientific software - 2h.
Programming in MATLAB – data parallel programming - scientific visualization in MATLAB. 4h
Numerical linear algebra – Basic operations and computations with vectors and matrices: scalar product and angle between vectors, algorithms for matrix-vector product and matrix-matrix product – vector and matrix norms - solving linear equation systems - algorithms for triangular systems - Gauss algorithm - LU factorization - stability and pivoting. 12h
Solving an equation – Nonlinear equations and iterative methods, bisection, Newton, secants and hybrids methods - convergence, rate of convergence and stopping criteria - fixed point problem and fixed point method. 8h
Maxima and minima of functions – Newton's minimization methods and its variants - Gradient descent, Fibonacci search and Golden search - Convergence, rate of convergence, and stopping criteria.4h
Data fitting – Lagranian interpolation - interpolation with polynomials - interpolation with linear models - interpolation with piecewise polynomials, splines and Hermite cubics - interpolation with parametric curves - approximation in the sense of least squares - linear least squares - normal equations - statistical applications (linear regression). 10h
Numeric integration – Basic formulas and composite formulas: rectangular, midpoint, trapezoidal, Simpson - Quadrature with interpolating splines and Hermite cubics – error analysis - adaptive quadrature algorithms – Monte Carlo methods. 4h
Descriptive statistics – Samples – histogram and empirical cumulative function - position indices - variability indices - asymmetry and form indices - qualitative data, Gini indices, Shannon entropy - introduction to the multivariate case: dispersion diagram, covariance matrix and correlation matrix. 4h
Introduction to scientific computing – mathematical models, numerical models, algorithms and scientific software - importance of numerical simulations - computational science - the technological context - web and scientific calculation. 2h
Programming in MATLAB. 4h
Numerical linear algebra. 12h
Solving an equation. 8h
Calculation of maximums and minimums of functions. 4h
Data fitting – Interpolation - interpolation with parametric curves - approximation in the sense of least squares. 10h
Numerical integration. 4h
Univariated and multivariated descriptive statistics. 4h
Lectures of the teacher, lecture of the teacher in a computer lab with the support of a tutor, training sessions aimed at problem
solving and analyzing the correctness and reliability of the results of a scientific computation. The lessons can also be followed in synchronous telematic mode through Microsoft Teams, code rxghhf3
A.QUARTERONI, C. SALERI, P. GERVASIO: "Scientific Calculation Exercises and Problems Solved with MATLAB and Octave," Springer, 20017.
A.MURLI: "Numeric Mathematics: Methods, Algorithms, and Software". Liguori, 2007.
D.J. HIGHAM, N.J. HIGHAM: "MATLAB Guide" - SIAM, 2017 (in English).
T.A. DRISCOLL, R.J. BRAUN: "Fundamentals of Numerical Computations" - SIAM, 2018 (in English).
Lessons can be viewed as animated presentations in Flash format with the Lecturer's commentary audio streamed through the e-learning platform of the Department of Science and Technology; the slides (.pdf and .pps format) of all the lessons are available on the same platform, along with online self-assessment quizzes, exercises, in-depth projects, notes for the lab, an operational introduction note to Matlab, a Publish and Live Editor operational introduction note.
The objective of the verification procedure is to quantify the level of attainment of the previously indicated training objectives.
The verification procedure consists of an oral examn (40% of the vote) + 2 mid-term tests (40% of the vote) + 2 HomeWorks (20% of the vote).
The HomeWorks evaluate the ability to solve a scientific computing problem of medium difficulty, to use Matlab as a programming and graphical
visualization tool, also by accessing external software repositories, to write an explanatory report using advanced writing tools like Matlab Publish.
The mid-term tests evaluate the level of knowledge of the topics of arithmetic F-P, linear algebra, resolution of equations, minimization and the topic
of data fitting, quadrature, descriptive statistic, respectively, together with the ability to write brief formal reports on these topics.
The oral exam assesses the level of knowledge and the overall competences on the theoretical and applicative aspects of the topics of the course
and the ability to critically analyse the results of a scientific computation.
Lectures are in Italian. Teachers are fluent in English and available to interact with students in English, also during the exam.
Further information on the course is available on the e-learning platform