Il corso presenta i concetti principali del calcolo numerico, analizzando i più comuni modelli numerici per la risoluzione di problemi matematico-applicativi di base.
Contenuti: errori e aritmetica finita, soluzione numerica di equazioni nonlineari e di sistemi lineari, interpolazione polinomiale per l’approssimazione di funzioni, integrazione numerica. Illustrazione e utilizzo del linguaggio Matlab per l'implementazione e la sperimentazione dei principali metodi numerici trattati.
L. Brugnano, C. Magherini, A. Sestini, Calcolo Numerico, Masterbooks, ultima edizione disponibile.
Materiale integrativo messo a disposizione alla pagina e-learning Moodle del corso (https://e-l.unifi.it).
Obiettivi Formativi - Cognomi L-Z
Conoscenza e comprensione delle definizioni degli oggetti matematici trattati nel corso e delle loro proprietà.
Conoscenza e comprensione dei concetti fondamentali dell’analisi numerica e delle problematiche connesse all’aritmetica finita.
Conoscenza e comprensione delle caratteristiche di alcune classi di problemi applicativi di base (risoluzione di equazioni nonlineari, di sistemi lineari, approssimazione di funzioni mediante interpolazione, integrazione numerica).
Conoscenza e comprensione dei metodi numerici di più comune utilizzo per la risoluzione delle suddette classi di problemi.
Conoscenza e comprensione del linguaggio Matlab per il calcolo scientifico.
Saper formulare matematicamente i problemi affrontati.
Saper enunciare e dimostrare i risultati teorici presentati.
Saper esporre, argomentare e applicare le principali strategie numeriche presentate, contestualizzandole sulla base delle loro aderenza al problema continuo di riferimento, delle loro funzionalità e proprietà teoriche.
Saper implementare efficientemente in Matlab i principali metodi numerici studiati, anche mediante il ricorso alle funzioni Matlab predefinite e tenendo conto delle specificità del linguaggio.
Saper presentare efficacemente i risultati numerici ottenuti, commentando il funzionamento del metodo e interpretandone la soluzione.
Acquisire l'abilità di sperimentare e confrontare diversi metodi numerici per la risoluzione del problemi trattati, sia per trovare riscontro delle loro caratteristiche teoriche, che per conoscerne le peculiarità sperimentali, allo scopo di proporre criticamente il modello numerico più opportuno.
Prerequisiti - Cognomi L-Z
Fondamenti di algebra lineare: calcolo vettoriale, matriciale, determinanti e risoluzione di sistemi lineari.
Fondamenti di analisi matematica: successioni e loro convergenza, continuità e limiti di funzioni reali, concetti di base del calcolo differenziale e integrale per funzioni in una variabile (esame di “Matematica I” obbligatorio).
Metodi Didattici - Cognomi L-Z
Lezioni frontali partecipate relative all’analisi teorica dei metodi (32 ore), esercitazioni di programmazione Matlab (24 ore).
Altre Informazioni - Cognomi L-Z
Assidua frequenza alle lezioni fortemente raccomandata.
Comunicazioni e materiali a supporto della didattica sono forniti mediante la pagina e-learning Moodle del corso (https://e-l.unifi.it).
L’orario di ricevimento è consultabile alle pagine web https://www.unifi.it/p-doc2-0-0-A-3f2b3d2b352b30-0.html (Gianmarco Gurioli, DIMAI, stanza 205), sezione “Orario di ricevimento”.
Modalità di verifica apprendimento - Cognomi L-Z
Esercizi a scadenza da risolvere in Matlab in gruppi di al più tre studenti e da consegnare prima della prova orale finale; nello specifico, durante il corso verranno assegnate due esercitazioni Matlab da svolgere (maggiori informazioni sulla piattaforma e-learning Moodle del corso https://e-l.unifi.it).
Prova orale sommativa all’appello d’esame, al fine di accertare l’acquisizione degli obiettivi formativi e degli aspetti metodologico-applicativi della disciplina.
La valutazione terrà particolare conto della capacità di organizzare efficacemente la conoscenza, dell’accuratezza dei contenuti, della capacità di ragionamento critico e di motivare quanto asserito, del livello d’esposizione formale e dell’impiego di lessico specifico.
Programma del corso - Cognomi L-Z
Errori e aritmetica finita: fonti di errore nei modelli computazionali, errore relativo e assoluto, rappresentazione floating-point dei numeri, precisione ed epsilon di macchina, operazioni in aritmetica finita, condizionamento e relativi errori (cancellazione numerica, overflow, underflow); concetti fondamentali dell’analisi numerica: condizionamento di un problema, stabilità numerica e complessità computazionale.
Metodi iterativi per la soluzione di equazioni non lineari: problema di riferimento, convergenza e ordine di un metodo iterativo, carattere di convergenza locale e globale, criteri di arresto e salvaguardie, condizionamento del problema; metodo di bisezione, Newton, quasi-Newton (corde, secanti, Newton modificato per la ricerca di radici multiple di molteplicità nota, Newton-Aitken), proprietà di convergenza e bilancio costo-prestazione.
Soluzione di sistemi lineari: problema di riferimento e definizioni di base, sistemi lineari quadrati, studio del condizionamento e analisi “a posteriori’; metodi diretti: risoluzione di sistemi triangolari, metodi di fattorizzazione, fattorizzazione LU, esistenza e unicità della fattorizzazione, metodo di Gauss con e senza la tecnica del pivoting parziale, applicabilità e costo computazionale, classi di matrici con struttura specifica (simmetriche e definite positive, a diagonale dominante) e loro proprietà, fattorizzazione LDLt; metodi iterativi: condizioni necessarie e sufficienti alla convergenza e criteri di arresto, splitting, metodi di Jacobi e Gauss-Seidel.
Interpolazione polinomiale: problema di riferimento, esistenza e unicità del polinomio interpolante, base delle potenze e matrice di Vandermonde, scelta delle ascisse d’interpolazione, forma di Lagrange, errore d’interpolazione e analisi, condizionamento del problema e costante di Lebesgue, polinomio di migliore approssimazione, cenni agli spazi di funzioni spline.
Integrazione numerica per l’approssimazione d’integrali definiti: problema di riferimento, formule di quadratura interpolatorie e condizionamento del problema continuo, formule di Newton-Cotes interpolatorie (rettangoli, trapezi e Simpson), condizionamento del problema, grado di precisione, errore di quadratura, convergenza, formule composite e corrispondente errore di quadratura.
Illustrazione e utilizzo del linguaggio MATLab per l'implementazione e la sperimentazione dei principali metodi numerici affrontati: installazione, interfaccia, definizioni matriciali, salvataggio/cancellazione variabili, registrazione sessioni di lavoro, operatori aritmetici, relazionali e logici, espressioni, comandi e funzioni predefinite, funzioni scalari, vettoriali, matriciali e loro definizione, tipi di variabili e formato di visualizzazione, lettura e stampa dei dati su video e su file, istruzioni per il controllo del flusso esecutivo (cicli for/while, if, switch), files script/function e loro caratteristiche, istruzioni per la valutazione di funzioni reali (anche in più variabili), istruzioni per la gestione grafica di base in 2D e 3D.