Obiettivi formativi
Nel corso vengono esaminati i problemi - ed i relativi algoritmi di
risoluzione - più frequenti in campo numerico. Al di
là dell'indispensabile bagaglio teorico, particolare enfasi
è data all'aspetto algoritmico e più puramente
numerico - sia dal punto di vista dell'implementazione e della
complessità di calcolo che da quello della stabilità
- con l'obiettivo di fornire allo studente, oltre alla necessaria
conoscenza dei problemi, quella dose di sensibilità per il
"numero" e di spirito critico che sempre dovrebbe essere presente
sia in chi progetta che in chi utilizza applicazioni in questo
campo.
Attività formative
Il corso viene svolto in 60 ore di lezione/esercitazione frontale e
30 ore di laboratorio numerico (codice MATLAB), equamente suddivise
in due periodi. L'attività di laboratorio prevede
l'apprendimento delle operazioni fondamentali presenti nel codice
di calcolo ed inerenti agli argomenti trattati, l'utilizzo di
librerie fornite dal docente e l'implementazione di alcuni
algoritmi presentati durante le lezioni.
Programma del corso
- Analisi degli errori. Errore assoluto ed errore
relativo. Rappresentazione dei numeri. Numeri di macchina ed errori
connessi. Le operazioni elementari. Algoritmi per il calcolo di una
espressione. Errori di propagazione: analisi del primo ordine ed
analisi differenziale, condizionamento e stabilità.
- Equazioni non lineari. Separazione degli zeri. I metodi
di iterazione funzionale. Convergenza e criteri di arresto. Metodi
particolari: bisezione, secanti e tangenti. Accelerazione di
Aitken. Le equazioni algebriche: schema di Horner, limitazione
delle radici, proprietà del metodo delle tangenti.
- Sistemi di equazioni. Condizionamento di una matrice e
sue conseguenze. Metodi diretti: sostituzione in avanti ed
all'indietro, fattorizzazione LU, fattorizzazione QR, eliminazione
di Gauss senza e con pivoting. Metodi iterativi: costruzione e
convergenza, criteri di arresto, metodo di Jacobi, metodo di
Gauss-Seidel, condizioni sufficienti di convergenza per i metodi di
Jacobi e di Gauss-Seidel. Sistemi sparsi, a banda, sovra- e
sotto-determinati ed omogenei. Brevi cenni sui sistemi non
lineari.
- Autovalori ed autovettori. Richiami sulle
proprietà fondamentali. Trasformazioni per similitudine:
metodo di Householder e metodo di Gauss. Localizzazione degli
autovalori: teorema di Hirsch e di Gershgorin. Metodi di calcolo
degli autovalori: uso del polinomio caratteristico per matrici
tridiagonali e di Hessenberg, metodo di Jacobi, metodo delle
potenze e delle potenze inverse, metodo QR senza traslazione, con
traslazione singola e con passo doppio di Francis. Cenni sulle
matrici "companion" e radici complesse di un polinomio.
- Interpolazione di dati ed approssimazione di funzioni.
Interpolazione polinomiale: interpolazione di Lagrange, algoritmo
di Neville, polinomio di Newton. Stima dell'errore di
approssimazione. Interpolazione polinomiale a tratti. Funzioni
spline. Cenni sull'interpolazione trigonometrica. Il metodo dei
minimi quadrati.
- Derivazione ed integrazione numerica. Derivazione
numerica ed errori connessi. Integrazione numerica: costruzione di
una formula di quadratura, formule di quadratura di Newton-Cotes ed
errori connessi, formule di quadratura di tipo gaussiano ed errori
connessi, formule composite.