L'insegnamento ha lo scopo di illustrare e analizzare i metodi numerici di base e le loro caratteristiche, tra cui le condizioni di applicabilità e l'efficienza, sia in termini di complessità computazionale sia di occupazione di memoria. Inoltre, mira a far acquisire agli studenti le competenze necessarie per risolvere problemi di calcolo numerico, utilizzando o sviluppando programmi, in particolare, in ambiente Matlab.
The main goal of the course is to describe and analyze the basic numerical methods and their characteristics, including conditions of applicability and efficiency, in terms of both computational complexity and storage. Additionally, it aims to equip students with the necessary skills to efficiently solve numerical problems using or developing computing programs, particularly in the Matlab environment.
Gli studenti che avranno seguito con profitto questo insegnamento saranno in grado di risolvere numericamente i seguenti problemi: risoluzione di sistemi lineari algebrici sparsi e di grandi dimensioni, approssimazione polinomiale algebrica, integrazione numerica, risoluzione di sistemi non lineari, e risoluzione numerica di equazioni differenziali ordinarie con condizioni iniziali o ai limiti. In particolare, per risolvere questi problemi, gli studenti utilizzeranno i metodi numerici di base appresi, implementati nativamente o personalmente in ambiente Matlab e, grazie alla conoscenza delle proprietà dei metodi, saranno in grado di fornire un’analisi critica dei risultati ottenuti.
Gli studenti acquisiranno inoltre le competenze necessarie per identificare e adottare il metodo più efficiente tra quelli a loro disposizione, al fine di ottenere la soluzione del problema numerico più accurata possibile al minimo costo computazionale.
Knowledge of the basic numerical methods, skill to construct and analyse, if needed, new numerical methods and to perform scientific computing using the Matlab software.
Si richiede una buona conoscenza degli argomenti trattati negli insegnamenti di Algebra Lineare e Geometria e di Analisi Matematica I e II, e la conoscenza dei principali costrutti sintattici di programmazione e del software Matlab.
Basic notions of linear algebra, calculus and Matlab programming.
Durante le lezioni in aula (40 ore) verranno trattati i seguenti argomenti, con il relativo peso in ore.
1. Sistemi lineari (10 ore).
Brevi richiami sui metodi diretti e sulle fattorizzazioni di una matrice. Metodi iterativi: Jacobi, Gauss-Seidel, SOR, gradiente e gradiente coniugato. Costruzione dei metodi e risultati di convergenza. Precondizionamento.
2. Approfondimenti sull’approssimazione di funzioni (8 ore).
Interpolazione polinomiale di funzioni di una sola variabile reale. Rappresentazione di Lagrange, scelta dei nodi di interpolazione e studio della convergenza. Rappresentazione di Newton alle differenze divise. Interpolazione con funzioni polinomiali a tratti: definizione e studio della convergenza. Derivazione numerica.
3. Equazioni non lineari (6 ore).
Metodi delle secanti e delle tangenti, metodo del punto fisso. Costruzione dei metodi e risultati di convergenza. Sistemi di equazioni non lineari: metodo di Newton e sue varianti, metodo del punto fisso.
4. Integrali definiti su intervalli (6 ore).
Formule di quadratura di tipo interpolatorio: formule di Newton-Cotes e formule Gaussiane. Costruzione delle formule e risultati di convergenza. Formule composte: definizione e proprietà di convergenza.
5. Equazioni differenziali ordinarie (10 ore).
Riduzione del generico problema a valori iniziali alla forma canonica. Metodi one-step espliciti e impliciti in generale: definizione, consistenza e convergenza. Metodi Runge-Kutta. Metodi multistep lineari espliciti e impliciti: definizione, consistenza e convergenza. Metodi di Adams. Stabilità assoluta dei metodi numerici. Sistemi stiff e metodi numerici per la loro risoluzione. Cenni sui metodi alle differenze finite per problemi con valori ai limiti.
Lectures (50 hours):
1. Linear systems (9.5 hrs): A brief review of direct methods. Iterative methods (construction and convergence results): Jacobi, Gauss-Seidel, SOR, gradient and conjugate gradient. Preconditioning.
2. Approximation of functions (7.5 hrs): Polynomial interpolation of functions of a real variable: Lagrange and Newton representations, optimal and quasi optimal choices of the interpolation nodes, convergence analysis. Piecewise polynomial interpolation: definition and convergence analysis. Basics of interpolation of functions of two real variables. Numerical differentiation.
3. Nonlinear equations (6 hrs): Roots of nonlinear equations: secant and tangent methods, fixed-point method; construction and convergence analysis. Nonlinear systems: Newton and quasi-Newton methods, fixed-point method. Applications to unconstraint and constraint optimization problems.
4. Numerical evaluation of integrals defined on intervals (10 hrs): Quadrature formulas of interpolatory type, Newton Cotes formula, orthogonal polynomials and Gaussian rules. Convergence analysis. Composite rules: definition and convergence properties. Basics of line and multiple integral numerical evaluation. Some applications.
5. Initial value ordinary differential equation problems (14 hrs): Reduction of the generic problem to the canonical form. Some theoretical results on the solution existence and uniqueness. Explicit and implicit one-step methods: definition, consistency and convergence properties. Runge-Kutta methods. Explicit and implicit linear multistep methods: definition, consistency and convergence. Adams methods. Absolute stability of a method. Stiff systems and numerical methods for their solution. Shooting method for the solution of boundary value problems.
L’insegnamento consta di 40 ore di lezioni in aula, 20 ore di esercitazioni in aula e 20 ore di esercitazioni in laboratorio informatico.
Durante le lezioni verranno descritti i principali metodi numerici e le loro caratteristiche. Durante le esercitazioni in aula verranno sottolineati, con esempi, aspetti particolarmente importanti degli argomenti trattati nelle lezioni e svolti esercizi che contribuiranno a una migliore comprensione della teoria e costruiti algoritmi di calcolo. Questi ultimi verranno successivamente implementati in ambiente Matlab durante le esercitazioni in laboratorio e applicati a problemi numerici test. Tale attività consentirà la verifica sperimentale delle proprietà dei metodi numerici descritti durante le lezioni e il contemporaneo addestramento degli studenti all’utilizzo del software Matlab nell’ambito della simulazione numerica. Alcune esercitazioni saranno di carattere interdisciplinare e concordate con altri docenti del corso di Laurea.
The above lectures are integrated by 15 hours of exercise sessions. The role of this activity is to underline important aspects of the topics and results presented in the lecture sessions, by means of examples and the solution of some significant exercises. Numerical algorithms are also constructed. An additional computer lab activity (15 hours) is also scheduled, to improve the students ability to use the Matlab software, and, more importantly, to numerically verify the correctness of the method properties presented during the lectures and that of the algorithms constructed in the exercise sessions.
G. Monegato, Metodi e algoritmi per il Calcolo Numerico, CLUT, Torino, 2008.
L. Scuderi, Laboratorio di calcolo numerico, CLUT, Torino, 2005.
Ulteriore materiale didattico (slide, esercizi e tracce di svolgimento, problemi di carattere applicativo) sarà disponibile sul portale della didattica.
G. Monegato, Metodi e algoritmi per il Calcolo Numerico, CLUT, Torino, 2008.
L. Scuderi, Laboratorio di calcolo numerico, CLUT, Torino, 2005.
Slides; Libro di testo; Libro di esercitazione; Esercizi; Esercizi risolti; Esercitazioni di laboratorio; Esercitazioni di laboratorio risolte; Strumenti di simulazione; Strumenti di auto-valutazione;
Lecture slides; Text book; Practice book; Exercises; Exercise with solutions ; Lab exercises; Lab exercises with solutions; Simulation tools; Self-assessment tools;
Modalità di esame: Test informatizzato in laboratorio; Prova scritta (in aula);
Exam: Computer lab-based test; Written test;
...
L'esame è composto da due prove: un test informatizzato della durata indicativa di un'ora e una prova scritta della durata di due ore.
Il test si svolge in un laboratorio didattico ed è costituito da 5 domande a risposta multipla, in cui si richiede l'uso del software Matlab per risolvere problemi numerici simili a quelli affrontati a lezione e durante le esercitazioni. I punteggi massimi attribuiti alle singole domande vengono riportati nel testo della prova. Al test viene complessivamente assegnato un punteggio massimo di 8 punti.
La prova scritta si svolge in un'aula, successivamente al test, ed è composta da 5 domande a risposta aperta. A ciascuna domanda viene attribuito un punteggio massimo, riportato nel testo d’esame, per un totale di 24 punti. Le domande includono definizioni, costruzione, proprietà e applicazione dei singoli metodi numerici, nonché dimostrazioni di risultati teorici.
Durante le prove non è consentito utilizzare appunti, testi e strumenti elettronici, ad eccezione del PC in uso per il collegamento alle piattaforme di ateneo. L’esame si intende superato se lo studente ottiene una votazione complessiva non inferiore a 18/30. In caso di mancato superamento, lo studente deve sostenere nuovamente l’esame con entrambe le prove.
I punteggi conseguiti nelle prove vengono comunicati tramite il portale della didattica, insieme a una convocazione per eventuali chiarimenti.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Computer lab-based test; Written test;
Al termine delle esercitazioni in laboratorio, e solo in questa occasione, gli studenti sono chiamati a dimostrare di saper risolvere, utilizzando il software Matlab, un problema che viene loro assegnato. A questa prova, della durata di un’ora e 20 minuti, sono attribuiti massimo 2 punti. Il punteggio acquisito viene mantenuto valido per le tre sessioni d’esame previste per l’anno accademico in corso. Durante la prova è posssibile consultare solo gli appunti cartacei delle esercitazioni.
Successivamente, negli appelli in calendario, gli studenti dovranno completare l’esame sostenendo una prova scritta in aula, della durata di 2 ore e 30 minuti, riguardante l'intero programma. Tale prova è composta da 7-8 domande, a ciascuna delle quali vengono assegnati 3 o 4 punti, alcune di carattere teorico e altre di tipo applicativo. Il punteggio massimo attribuibile a questa prova è 28.
Durante la prova scritta non è consentito consultare testi o appunti e utilizzare strumenti elettronici.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.