Nuova ricerca

Silvia BONETTINI

Professore Associato
Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica

Insegnamento: Calcolo numerico

Informatica (Offerta formativa 2024)

Obiettivi formativi

Il corso di Calcolo Numerico mira a formare studenti in grado di analizzare da un punto di vista numerico problemi di base della matematica (quali l'algebra lineare, il calcolo di radici di un'equazione o l'approssimazione di dati e funzioni), scegliendo l'algoritmo più opportuno a seconda delle peculiarità del problema specifico. L'implementazione dei metodi studiati nel linguaggio Matlab permetterà allo studente da un lato di mettere in pratica le nozioni teoriche e dall'altro di acquisire conoscenza e pratica di un linguaggio di programmazione all'avanguardia nel mondo del calcolo scientifico.

Prerequisiti

- Calcolo differenziale per funzioni reali di una o più variabili reali.
- Calcolo integrale per funzioni reali di una variabile reali.
- Elementi di algebra lineare.
- Elementi di programmazione al calcolatore.

Programma del corso

Numeri di macchina: operazioni sui numeri di macchina, analisi degli errori di arrotondamento.
Sistemi lineari: analisi di stabilità, il metodo di eliminazione di Gauss e la fattorizzazione LU, fattorizzazioni di Crout e di Cholesky, fattorizzazione QR e decomposizione in valori singolari; metodi iterativi, metodi di Jacobi e Gauss-Seidel, analisi della convergenza.
Equazioni e sistemi non lineari: metodo di bisezione, metodo di Newton, metodo delle secanti, metodi di punto fisso, studio della convergenza, test di convergenza.
Approssimazione di dati e di funzioni: il problema matematico della rappresentazione, funzioni di base per la rappresentazione, interpolazione polinomiale e funzioni spline di interpolazione, il metodo dei minimi quadrati nell'approssimazione.
Calcolo di integrali: formule di quadratura interpolatorie, formule di Newton-Cotes, studio dell'errore, formule composte.
Calcolo di autovalori di matrici: metodo delle potenze, delle potenze inverse, QR iterativo.
Introduzione alla programmazione in ambiente MATLAB, implementazione e sperimentazione su calcolatore degli algoritmi presentati.

Metodi didattici

- Lezioni frontali d'aula, con illustrazione dei contenuti capitolari mediante l'ausilio della lavagna e del proiettore.
- Esercitazioni di laboratorio sulla risoluzione numerica dei problemi trattati a lezione, per la verifica pratica delle nozioni strutturate che costituiscono l'ossatura del programma d'insegnamento.

Testi di riferimento

Appunti forniti dal docente
R.L. Burden, J.D. Faires: Numerical Analysis, Seventh
Edition, Brooks/Code, Pacific Grove, 2001.
V. Comincioli: Analisi Numerica - Metodi Modelli Applicazioni, McGraw-Hill, Milano 1995.
P. Deuflhard, A. Hohmann: Numerical Analysis: A First Course in Scientific Computation, Walter de Gruyter, Berlino, 1995.
D. Kincaid, W. Cheney: Numerical Analysis: Mathematics of Scientific Computing, 3rd Edition, Brooks/Code, Pacific Grove, 2001.
A. Quarteroni, R. Sacco, F. Saleri: Matematica Numerica (3° edizione), Springer, 2008.
L. Brugnano, C. Magherini, A. Sestini: Calcolo Numerico, Master - Università & Professioni. 2005

Verifica dell'apprendimento

Modalità d'esame: prova orale.

L'esame consiste in tre domande: due sulla parte di lezioni svolte in aula - descrizione degli algoritmi e loro proprietà - e una relativa alle esperienze effettuate in laboratorio - richiesta di implementazione Matlab di semplici algoritmi.

Il candidato deve dimostrare di conoscere approfonditamente:
- i contenuti curricolari e formativi dell'insegnamento, parte istituzionale d'aula e parte esercitativa di laboratorio;
- la memorizzazione e le operazioni di e tra numeri reali al calcolatore;
- le tecniche principali per la risoluzione di un sistema lineare o di un'equazione non lineare e il calcolo di autovalori ed autovettori di una matrice;
- le nozioni principali sull'approssimazione di dati e funzioni quali la differenza tra interpolazione e regressione, le tecniche numeriche per la costruzione di un modello ottimale e l'applicazione al calcolo numerico di un integrale di una funzione;
- la sintassi MATLAB per l'implementazione di un algoritmo elementare al calcolatore.

La verifica è integrale, rispetto ai contenuti dell’insegnamento; è anche verificata la capacità del candidato di mettere in relazione contenuti disciplinari specifici con le conoscenze acquisite nelle propedeuticità del corso.

La prova orale consiste nell'implementazione di uno degli algoritmi numerici analizzati durante il corso in linguaggio Matlab e nell'approfondimento di alcuni argomenti trattati durante le lezioni. Il punteggio della prova orale in trentesimi viene suddiviso in:
5 punti per l'abilità comunicativa;
5 punti per le competenze trasversali;
20 punti per la conoscenza dei contenuti.

Risultati attesi

CONOSCENZA e COMPRENSIONE
- conoscere le tecniche base per risolvere un sistema lineare, per calcolare gli autovalori e gli autovettori di una matrice, per risolvere una equazione non lineare, per costruire un modello approssimante a partire da un insieme di punti e per approssimare un integrale di una funzione reale.

CAPACITA' di APPLICARE CONOSCENZA e COMPRENSIONE
- risolvere numericamente elementari problemi matematici scegliendo ed applicando la tecnica matematica più idonea;
- saper implementare un algoritmo in linguaggio MATLAB in maniera efficace ed efficiente.

AUTONOMIA di GIUDIZIO
- capacità di discernere fra diversi algoritmi per la risoluzione numerica di un dato problema matematico a seconda delle peculiarità e della struttura dei dati a disposizione.

ABILITA' COMUNICATIVE
Mediante le discussioni in aula e la prova finale acquisisce abilità comunicative e relazionali per argomentare i risultati ottenuti o presentati da altri.

CAPACITA' di APPRENDIMENTO
Dall'insieme delle attività del corso lo studente:
- apprende gli strumenti per approfondire attraverso la bibliografia le conoscenze acquisite;
- sa individuare una metodica opportuna consultando le fonti opportune sul web e sui testi.