Aritmetica finita, soluzione numerica di sistemi lineari, approssimazione di dati, decomposizione a valori singolari di una matrice, approssimazione di autovalori, applicazioni dei metodi numerici introdotti alla data science.
- R. L. Burden, J. D. Faires, Numerical Analysis, Brooks/Cole, 2011.
- J. Kiusalaas, Numerical methods in engineering with Python 3, Cambridge University Press, 2014.
- Q. Kong, T. Siauw, A. bayen, Python Programming And Numerical Methods A Guide For Engineers And Scientists, 2020.
Obiettivi Formativi
L'insegnamento si propone di fornire agli studenti le nozioni di base per la comprensione teorica e l'applicazione dei metodi numerici di base per affrontare problemi di data science. A termine dell'insegnamento, lo studente sarà in grado di:
- comprendere ed esporre la formulazione matematica dei problemi proposti e la relazione con la corrispondente soluzione numerica;
- comprendere ed esporre gli aspetti matematici che garantiscono l'efficienza e l'accuratezza dei metodi numerici;
- risolvere alcuni problemi test scrivendo programmi in Python che implementano i metodi studiati.
Prerequisiti
Elementi di algebra lineare: vettori, matrici, determinanti, sistemi lineari. Elementi di analisi matematica: successioni e loro convergenza, limiti e continuità delle funzioni reali, concetti di base del calcolo differenziale e integrale per funzioni in una e più variabili.
Metodi Didattici
Le lezioni affronteranno sia gli aspetti teorici sia quelli pratici. In parte delle lezioni sarà analizzata la teoria dei metodi numerici in programma, con interazione diretta docente-studente per facilitare la piena comprensione della materia. Le restanti lezioni saranno dedicate ad esercizi, finalizzati ad apprendere come risolvere numericamente problemi di data science in ambiente Python. Queste ultime si svolgeranno in modo da aiutare gli studenti a sviluppare le capacità di applicare le conoscenze acquisite e migliorare la loro interpretazione dei risultati ottenuti.
Altre Informazioni
Frequenza delle lezioni: fortemente raccomandata. Materiale di supporto disponibile alla pagina del corso sulla piattaforma UniFi E-Learning (http://e-l.unifi.it).
Modalità di verifica apprendimento
Durante il corso verranno assegnati degli esercizi che ogni studente/studentessa deve risolvere e consegnare alla fine del corso. La prova finale orale prevede invece domande volte ad accertare la conoscenza degli aspetti teorici dei metodi numerici. La valutazione, che tiene in considerazione i risultati degli esercizi assegnati e della prova finale, è centrata sulla verifica della conoscenza dei concetti matematici alla base dei metodi e della capacità di usarli per risolvere problemi con lo strumento della programmazione in Python.
Programma del corso
Errori ed aritmetica finita; soluzione numerica di sistemi lineari (metodi diretti ed iterativi); interpolazione e approssimazione polinomiale ai minimi quadrati; decomposizione a valori singolari di una matrice; metodi per l'approssimazione di autovalori (metodo delle potenze, metodo QR); applicazioni alla data science (low-rank approximation, principal component analysis).