PROGRAMMA DEL CORSO DI ANALISI NUMERICA

PROGRAMMA DEL CORSO DI ANALISI NUMERICA
Classe 3
Laurea in Informatica
Proff. D.Conte – A. Cardone, a.a.2009-2010
1. Aritmetica, errori.
Introduzione, modelli matematici, sorgenti di errore.
Rappresentazione dei numeri in un calcolatore. Errori di arrotondamento e loro propagazione,
operazioni di macchina. Precisione di macchina e minimo numero rappresentabile. Cancellazione
numerica. Problemi numerici ed algoritmi. Condizionamento di un problema, stabilità numerica di
un algoritmo.
2. Richiami sulle matrici.
Operazioni tra matrici. Matrici con proprietà particolari. Matrici non singolari. Matrici definite
positive: criterio di Sylvester. Autovalori di una matrice. Norme di vettore e di matrice.
3. Richiami sulla complessità di calcolo di algoritmi.
Valutazione di polinomi: l’algoritmo di Horner. Complessità di calcolo del metodo di Cramer.
4. Sistemi lineari.
Esistenza della soluzione di un sistema lineare. Malcondizionamento di sistemi lineari.
Metodi diretti:
Risoluzione di sistemi triangolari, metodi di sostituzione in avanti e all’indietro, complessità
computazionale. Metodo di eliminazione di Gauss e calcolo della sua complessità computazionale.
Pivoting parziale, totale, scaling. Decomposizione di Gauss e fattorizzazione LU di matrice.
Fattorizzazione di matrici tridiagonali: metodo di Thomas. Fattorizzazione di matrici simmetriche
definite positive: teorema di Cholesky.
Metodi iterativi:
Metodo di Jacobi. Metodo di Gauss-Seidel. Metodo di sovrarilassamento. Metodi iterativi in forma
matriciale, matrice di iterazione. Teoremi di convergenza, costo computazionale. Algoritmi basati
su metodi iterativi: stima dell’errore e criteri d’arresto. Cenni sulla memorizzazione di matrici
sparse.
5. Approssimazione di dati e di funzioni.
Scelta della classe delle funzioni approssimanti. Teorema di Weierstrass.
Interpolazione polinomiale: formula di interpolazione di Lagrange, rappresentazione dell’errore.
Convergenza: fenomeno di Runge, teoremi di Faber e Bernstein, nodi di Chebychev.
Interpolazione con funzioni polinomiali a tratti. Definizione di funzioni splines.
Approssimazione nel senso dei minimi quadrati. Caso discreto: retta di regressione, polinomio dei
minimi quadrati. Problema dei minimi quadrati nella formulazione generale. Problema del
malcondizionamento del sistema delle equazioni normali. Approssimazione di dati e funzioni in
ambiente Matlab.
6. Autovalori di matrici.
Definizione di autovalori e autovettori di una matrice, polinomio caratteristico. Localizzazione degli
autovalori: teorema di Gerschgorin. Metodi iterativi: metodo delle potenze e applicazioni, metodo
delle potenze inverse. Similitudine tra matrici, idea dei metodi basati su trasformazioni di
similitudine.
Fattorizzazione QR di matrice e metodo QR per il calcolo degli autovalori.
7. Calcolo di integrali.
Formule di quadratura interpolatorie. Formule di Newton-Cotes: formula dei trapezi e di Cavalieri
Simpson, determinazione dei pesi, espressione dell’errore. Formule composite ed espressione
dell’errore. Convergenza (dimostrazione per la formula trapezoidale composta). Grado di
precisione.
Algoritmi iterativi per la quadratura: schemi fissi ed adattivi.
8. Equazioni non lineari, cenni.
Cenni sui metodi iterativi: metodo di bisezione, metodo delle secanti, metodo delle tangenti (o
Newton-Raphson).
9. Programmazione di algoritmi numerici.
Attributi del software matematico: affidabilità, efficienza, robustezza.
Documentazione interna ed esterna dei programmi.
Sviluppo di elementi di software matematico relativo ai principali argomenti trattati in ambiente
MATLAB.
Libri di testo consigliati:
G.Monegato, Fondamenti di Calcolo Numerico, CLUT
A. Quarteroni, F.Saleri, Introduzione al Calcolo Scientifico: esercizi e problemi risolti con Matlab,
Springer.
Matlab User’s Guide.
Copia delle diapositive proiettate durante le lezioni.
Modalità d’esame
L’esame consiste in:
Una prova scritta in Laboratorio, consistente nella risoluzione di problemi numerici in ambiente
MATLAB o Octave e domande relative alla descrizione dei metodi numerici utilizzati. Lo studente
dovrà portare con sè, su pendrive o CDROM, i codici sviluppati durante le Esercitazioni in
Laboratorio e durante lo studio individuale.
Si consiglia di leggere gli esempi di domande per la Prova di Laboratorio.
1)
2) Prova orale (entro 4-5 giorni dalla prova scritta) consistente nella discussione dell'elaborato
scritto durante la Prova di Laboratorio, con test e correzione dei codici in Laboratorio, ed eventuali
domande di teoria.
Algoritmi da codificare in linguaggio MAtlab o Octave:
Determinazione della precisione di macchina e del minimo numero rappresentabile.
Risoluzione di sistemi lineari:
Algoritmo di back-substitution, Metodo di eliminazione di Gauss senza pivoting e con pivoting
parziale, metodo di Jacobi, metodo di Gauss-Seidel, metodo di sovrarilassamento (SOR).
Approssimazione di dati e funzioni:
Costruzione di polinomi di interpolazione e di minimi quadrati con i comandi in linea di Matlab.
Calcolo di integrali definiti:
Algoritmo di quadratura adattivo con controllo globale dell’errore basato sulla formula trapezi
composita.
Calcolo di autovalori:
Metodo delle potenze per l’autovalore di minimo e di massimo modulo. Metodo delle potenze
inverse. Metodo QR.
Codici da utilizzare (disponibili sulla piattaforma):
Risoluzione di sistemi lineari: jacobi.m
Algoritmi FACOLTATIVI da codificare in linguaggio MAtlab o Octave:
Risoluzione di sistemi lineari:
Metodo di sostituzione in avanti, metodo di eliminazione di Gauss con pivoting totale,
fattorizzazione LU di matrice, fattorizzazione di Cholesky di una matrice simmetrica definita
positiva, fattorizzazione di Thomas di matrice tridiagonale. Metodi iterativi con memorizzazione
CRS della matrice sparsa dei coefficienti del sistema lineare.
Calcolo di integrali definiti:
Algoritmo di quadratura adattivo con controllo locale dell’errore basato sulla formula trapezi
composita oppure di Cavalieri-Simpson composita; Algoritmo di quadratura adattivo con controllo
globale dell’errore basato sulla formula di Cavalieri-Simpson composita.