SCIENTIFIC COMPUTING APPLICATIONS WITH LAB. PART I AND II
OBJECTIVES OF UNIT TEACHING
The course analyzes methodologies, algorithms and software for scientific computing, with particular attention to advanced applications in the field of computer science and environmental modeling. The course contains insights into the MATLAB language, used for software development in laboratory activities that are an integral part of the course.
Knowledge and understanding: The student must demonstrate knowledge and understanding of advanced aspects of numerical analysis and scientific computing, with particular regard to linear algebra, approximation, systems of differential equations and Fourier analysis, in both theoretical and applicative context, and the MATLAB programming language and its framework.
Ability to apply knowledge and understanding: The student must demonstrate that he knows how to use his acquired knowledge to solve computationally advanced problems of applied mathematics, even when they appear in concrete contexts and in other scientific fields. Moreover, the student must be able to develop numerical algorithms and analyze them from the point of view of accuracy and complexity, and to use in a conscious way the MATLAB language, in order to produce scientific software that solve a variety of concrete problems. These capabilities are also expressed in a thorough and conscious use of computational tools and advanced computer labs.
Autonomy of judgement: The student must be able to assess the results returned by scientific software. In addition, she should know how to identify, even using online repositories of scientific software, the most suitable algorithms and software to solve a specific problem.
Communication skills: the student should be able to draw up a report on a numerical algorithm and to document its MATLAB implementation, also working in groups, using advanced scientific computing and documentation tools. Moreover, the student should be able to use the suitable terminology of applied and computational mathematics, even in English language.
Learning skills: students must be able to update and deepen topics and specific applications of numerical analysis and scientific computing, even accessing databases, on-line scientific software repositories and other tools available on the web.
The attendant student (Informatica Applicata) must have acquired knowledge and skills transmitted in the following courses: Mathematics 1, Mathematics 2, Numerical Methods, Algorithms and Data Structures with Labs.
The attendant student (Scienze e Tecnologie della Navigazione) must have acquired knowledge and skills transmitted in the following courses: Calculus 1, Calculus 2, Numerical Methods and Applied Mathematics.
Part I (first semester)
Matrix Factorizations. Lesson Hours: 8. Lab Hours: 6.
Cholesky factorization - QR factorization - spectral decomposition - singular values decomposition (SVD) -applications to data analysis, bioinformatics, image analysis, robotics, semantic indexing of texts, search engines - Google's PageRank algorithm - use of MATLAB to solve problems in previous areas.
Solving large linear systems. Lesson Hours: 4. Lab Hours: 3.
Stationary and non-stationary iterative methods - convergence, convergence speed and stopping criteria –sparse matrices in MATLAB - application to Markov chains - use of MATLAB to solve problems in previous areas.
Solving nonlinear systems. Lesson Hours: 2. Lab Hours: 2.
Newton and fixed point methods - application to computer graphics - application to social networks reputation systems - use of MATLAB to solve nonlinear systems.
Maximum and minimum of multivariate functions. Lesson Hours: 4. Lab Hours: 2.
Steepest descent and Newton-like methods - convergence, convergence speed, stopping criteria -applications to computational modelling - use of MATLAB in minimization.
3D data fitting. Lesson Hours: 4. Lab Hours: 2.
Interpolation on regular grids and scattered grids - Delaunay triangulation – interpolation with linear and bilinear polynomials - interpolation with tensor splines - least squares approximation with surfaces -applications to data analysis and computer graphics - use of MATLAB in multidimensional interpolation.
Numerical resolution of ordinary differential equations. Lesson Hours: 6. Laboratory Hours: 4.
Finite differences - initial values problems - explicit and implicit methods - stability and convergence - boundary values problem - applications to computational modelling - use of MATLAB to solve ordinary differential equations.
Numerical resolution of partial differential equations. Lesson Hours: 6. Laboratory Hours: 3.
Stationary equations (Laplace eq.) - Non-stationary equations (advection equation, diffusion equation) - Finite differences methods - applications to computational modelling - use of MATLAB to solve partial differential equations.
Part II (second semester)
Vector spaces and transformations. Lesson Hours: 10. Lab hours 6.
Main spaces (linear, related, projective,...) and related transformations – eigenspaces - conformal mappings - applications to computater graphics - use of MATLAB to solve problems in previous areas.
Least squares approximation. Lesson Hours: 10. Lab hours 6.
Discrete linear least squares – continuous linear least squares - nonlinear least squares - use of MATLAB in approximation.
Insights into Fourier transform. Lesson Hours: 10. Lab hours 6
1D and 2D Fourier transform - applications to analysis and synthesis of sounds and images - discrete Fourier transform - FFT algorithms - use of MATLAB in Fourier analysis.
Textbooks and other teaching material
C. Moler - Numerical computing with MATLAB, SIAM, 2005. Downloadable from the website www.mathworks.com
M. Rizzardi - Sperimentare la matematica con MATLAB: elementi di analisi complessa, Liguori 2008.
G. Giunta - Appunti ACS parte I, 2014. Downloadable from the e-learning platform of the Department of Science and Technology.
All lessons are available as animated presentations in Flash format, with audio commentary by the professor; they are streamed through the e-learning platform of the Department of Science and Technology; slides (pdf and pps format) of all lectures are available on the same platform, together with exercises, projects, laboratory notes and an introductory note to MATLAB.
The objective of the assessment procedure is to quantify, for each student, the level of achievement of the training objectives listed above.
The assessment procedure is precisely described in the e-learning platform of the Department of Science and Technology. In summary, the assessment procedure consists of an oral exam.