- Docente: Damiana Lazzaro
- Crediti formativi: 6
- SSD: MAT/08
- Lingua di insegnamento: Italiano
- Moduli: Damiana Lazzaro (Modulo 1) Damiana Lazzaro (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Cesena
- Corso: Laurea in Ingegneria e scienze informatiche (cod. 8615)
Conoscenze e abilità da conseguire
Conoscenza degli aspetti fondamentali di metodologie dell'algebra lineare numerica e dell'analisi numerica utilizzabili nei sistemi informatici. Particolare attenzione sarà rivolta all'acquisizione di strumenti di base matematicocomputazionali tipici di alcune applicazioni come l'elaborazione di segnali ed immagini e l'analisi di dati strutturati.
Contenuti
1. Il Calcolo Numerico - Obiettivi e problemi nella risoluzione di problemi pratici al calcolatore.
2. Numeri Finiti - Rappresentazione dei numeri reali. I numeri finiti. Errori di rappresentazione. Aritmetica floating point. Analisi dell’errore nelle operazioni aritmetiche elementari. Propagazione degli errori: condizionamento di un problema e stabilità dell'algoritmo risolutivo.
3. Richiami di Algebra Lineare - Richiami su vettori, matrici e spazi vettoriali. Norme di vettori e norme di matrici.
4. Zeri di Funzioni - Formulazione del problema. Tecniche di Risoluzione. Metodi iterativi, convergenza e ordine dei metodi. Metodi a convergenza locale e a convergenza globale. Metodo di bisezione e altri metodi del primo ordine. Un metodo del secondo ordine: il metodo di Newton. Metodi quasi-Newton: il metodo delle secanti. Metodo di Newton-Raphson per la soluzione numerica di sistemi di equazioni non-lineari.
5. Soluzione numerica di Sistemi Lineari: Metodi diretti - Indice di condizionamento di una matrice e condizionamento del problema. Algoritmo di eliminazione Gaussiana e fattorizzazione LU di una matrice. Stabilità della fattorizzazione LU. Strategie pivotali. Fattorizzazione di Cholesky per matrici simmetriche e definite positive. Fattorizzazione QR e fattorizzazione SVD di matrici rettangolari. Proprietà.
6. Approssimazione ai minimi quadrati - Metodo delle equazioni normali, metodo QRLS (risoluzione del problema ai minimi quadrati utilizzando la fattorizzazione QR), metodo basato sulla fattorizzazione SVD della matrice.
7. Analisi dei dati- Principal Component Analysis: fattorizzazione SVD della matrice di covarianza.
8. Interpolazione - Interpolazione polinomiale. Esistenza ed unicità del polinomio interpolatore. Forma di Lagrange e forma di Newton. Espressione dell'errore nell'interpolazione polinomiale. Problemi di convergenza. Condizionamento del problema di interpolazione polinomiale.
9. Integrazione Numerica - Formule di quadratura di Newton-Cotes. Formule semplici e formule composite. Errore delle formule di quadratura semplici e composite.
Testi/Bibliografia
Fondamentale sarà l’utilizzo degli appunti presi a lezione e del materiale informatico reso disponibile all'indirizzo https://virtuale.unibo.it/
Per ulteriori approfondimenti si consigliano:
[1] R. Johansson: Numerical Python - Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib (2nd edition), Apress, 2019
[2] J. Kiusalaas: Numerical Methods in Engineering with Python 3, Cambridge University Press, 2013
[3] A. Quarteroni, R. Sacco, F. Saleri, P. Gervasio: Matematica Numerica (4a edizione), Springer Verlag, 2014
[4] R. Bevilacqua, D. Bini, M. Capovani, O. Menchi: Metodi Numerici, Zanichelli, Bologna, 1992
[5] D. Bini, M. Capovani, O. Menchi: Metodi numerici per l'algebra lineare, Zanichelli, Bologna, 1996
Metodi didattici
Il corso è strutturato in lezioni frontali ed esercitazioni in laboratorio. Più precisamente, alle lezioni frontali in aula in cui vengono presentati i metodi numerici di base per risolvere problemi classici della matematica mediante l'uso di un calcolatore, fanno seguito esercitazioni in laboratorio che mirano all'implementazione di tali metodi in Python e allo sviluppo di un'adeguata sensibilità e consapevolezza del loro utilizzo.
Modalità di verifica e valutazione dell'apprendimento
La prova d'esame mira a verificare il raggiungimento dei seguenti obiettivi didattici:
- conoscenza degli elementi fondamentali del calcolo numerico, illustrati durante le lezioni frontali;
- capacità di impiegare i metodi numerici di base per risolvere problemi reali mediante calcolatore.
L'esame di fine corso (la cui valutazione è in trentesimi) si svolgerà in un'unica prova che comprende, sia la realizzazione al calcolatore di codici Python per la risoluzione di problemi numerici, che la risposta scritta a domande teoriche sugli argomenti trattati nelle lezioni frontali.
Strumenti a supporto della didattica
Il corso prevede un'attività di laboratorio in cui si utilizzerà il linguaggio di programmazione Python. Il relativo materiale didattico verrà messo a disposizione dello studente in formato elettronico e sarà reperibile all'indirizzo https://virtuale.unibo.it/
Orario di ricevimento
Consulta il sito web di Damiana Lazzaro