ANALISI NUMERICA

Obiettivi del corso
Scopo del corso è di fornire una trattazione di base delle principali tecniche numeriche relative ai seguenti problemi:

1) Interpolazione di funzioni e dati
2) Formule di quadratura
3) Integrazione di equazioni differenziali ordinarie
4) Soluzione di sistemi lineari e non lineari
5) Calcolo di autovalori ed autovettori

Il corso prevede anche attività di laboratorio per la realizzazione di alcuni programmi corrispondenti agli algortimi trattati in C, C++ o MATLAB.

Programma di massima del corso

1. Approssimazione delle funzioni e delle derivate
Interpolazione polinomiale di Lagrange e Hermite. Differenze divise e forma di Newton. Cenni sul condizionamento del problema e sulla stabilità degli algoritmi. Funzione e costante di Lebesgue. Splines. Proprietà di convergenza. Metodo dei Minimi Quadrati.
Derivazione numerica tramite differenze finite.  L’uso delle splines per l’approssimazione delle derivate. Estrapolazione di Richardson.

2. Integrazione numerica
Formule di quadratura aperte e chiuse. Grado di precisione ed ordine di un metodo. Esempi: rettangoli, trapezi e Simpson. Costruzione delle formule e  stime dell'errore. Stime dell'errore per le formule generali aperte e chiuse. Estensione delle formule di quadratura al caso bidimensionale (cenni).

3. Equazioni differenziali ordinarie
Schemi numerici per la soluzione del Problema di Cauchy. Schemi espliciti e schemi impliciti, a passo singolo ed a k passi.  Metodi ad un passo. Consistenza di ordine p,  stabilità e convergenza. Errore locale e globale. Errori di calcolo ed analisi dell’errore. I metodi di Eulero, Heun, Eulero modificato. Schemi di tipo Runge-Kutta. Formule di Adams.  Formule aperte.  Schemi predictor-corrector. Eulero corretto. Metodo di Adams-Moulton. Stima dell’errore locale nei metodi predictor-corrector. Cenni sui metodi a passo variabile.

4. Soluzione di sistemi lineari e non lineari
Norme delle matrici. Numero di condizionamento e stima di stabilità per il sistema lineare. Metodi diretti.
Metodo di Gauss con pivot. Decomposizione LU. Metodo di Cholesky. Matrici a banda, metodo di Thomas. Metodi iterativi: Jacobi, Gauss-Seidel, S.O.R.. Matrice di iterazione e condizioni sufficienti per la convergenza dei metodi.  Residuo e criteri di arresto
Metodi diretti per alcune classi di matrici. Confronto tra i  metodi. Metodo di Newton in R^n. Equazioni non lineari nel campo complesso. Equazioni algebriche, metodi per il calcolo di tutte le radici.

5. Autovalori ed autovettori
Autovalori ed autovettori destri e sinistri.  Legame tra gli autovalori, il determinante e la traccia di una matrice. Trasformazioni di similitudine. Localizzazione degli autovalori. Teoremi di Gershgorin.  Metodi particolari e metodi globali.  Metodo delle potenze per il calcolo dell'autovalore di modulo massimo. Metodo delle potenze inverse per il calcolo dell'autovalore di modulo minimo. Metodo di Householder (cenni).

Testi consigliati
A. Quarteroni, R. Sacco, F. Saleri, "Matematica Numerica", Springer, 2002
V. Comincioli, Analisi Numerica, Mc Graw Hill, 1990
AA.VV., Dispense su vari argomenti che verranno distribuite durante il corso

Modalità di erogazione: in aula e laboratorio

Frequenza: consigliata

Studio personale
la percentuale prevista di studio personale sul totale dell'impegno richiesto è del 65%

Prerequisiti
Sono richieste nozioni di base di Analisi Matematica e di Algebra Lineare, quali quelle acquisite nei corsi di Calcolo I e Analisi Matematica, Algebra Lineare. E' inoltre richiesta la conoscenza di un linguaggio di programmazione (C, C++ o MATLAB) del livello acquisito nel corso di Laboratorio di Programmazione e Calcolo oppure in uno dei corsi di Abilità Informatiche (MATLAB, C++).

Risultati di apprendimento
Gli studenti che abbiano superato l'esame conosceranno le principali tecniche numeriche sui temi trattati.  e saranno in grado di  decidere quale tipo di metodo numerico sia opportuno utilizzare in rapporto al problema da risolvere. Sapranno anche implementare gli algoritmi in un linguaggio di programmazione e sapranno usare una libreria di visualizzazione dei dati/risultati.