Calcolo Numerico - Dipartimento di Matematica e Fisica

CALCOLO NUMERICO 1
A.A. 2013-14
Insegnamento: Calcolo Numerico 1
Docente: Valentina De Simone
Settore Scientifico - Disciplinare: MAT/08
CFU:
ORE:
12=9L+1E+2La 108=72+12+24
Obiettivi formativi: acquisire competenze di base su metodi ed algoritmi numerici, e relativi
strumenti software, per la risoluzione di problemi della matematica mediante calcolatore.
Propedeuticità: Analisi Matematica 1, Geometria 1.
Modalità di svolgimento: : lezioni ed esercitazioni in aula, esercitazioni in laboratorio.
Modalità di accertamento del profitto: superamento di una prova di laboratorio e di una prova
orale.
Legenda: L= Lezioni, E= Esercitazioni, La= Attività di Laboratorio
PROGRAMMA
1. Argomenti
Sistemi aritmetici floating-point ed errore di roundoff. Errore assoluto ed errore relativo. Sistemi
aritmetici floating-point a precisione finita. Errore di roundoff di rappresentazione ed errore di
roundoff nelle operazioni aritmetiche floating-point. Minimo e massimo numero reale positivo
rappresentabile. Massima accuratezza relativa ed ε -macchina. Algoritmi per il calcolo dell’
ε macchina e del minimo numero reale positivo rappresentabile. Cenni al sistema aritmetico standard
IEEE. Introduzione ai processi iterativi. Criteri di arresto di un processo iterativo. Valutazione della
funzione esponenziale mediante il suo sviluppo in serie di Mac Laurin. Condizionamento di un
problema matematico. Indice di condizionamento. Esempi di problemi mal condizionati. Stabilità di
un algoritmo numerico. Esempi di algoritmi stabili ed instabili.
Algebra lineare numerica. Algebra lineare di base: algoritmi e complessità computazionale dei tre
livelli in cui sono suddivise le operazioni di base. Influenza dell’ambiente computazionale nella
progettazione del software matematico; il package BLAS (Basic Linear Algebra Subprograms).
Risoluzione di sistemi lineari triangolari: algoritmi di back e forward substitution. Risoluzione di
sistemi lineari con matrice generica: algoritmo di eliminazione di Gauss. Strategia del pivoting:
pivoting parziale e pivoting totale. Analisi dell’accuratezza nella risoluzione di un sistema lineare.
Esempi di matrici mal condizionate: matrici di Vandermonde. Fattorizzazione LU di una matrice.
Teorema di esistenza e unicità. Equivalenza tra algoritmo di eliminazione di Gauss e fattorizzazione
LU. Il pivoting parziale nella fattorizzazione LU. Applicazioni della fattorizzazione LU: calcolo della
matrice inversa.
Rappresentazione di dati. Introduzione alla rappresentazione di dati. Interpolazione polinomiale di
Lagrange: esistenza e unicità del polinomio interpolante. Metodi costruttivi per la rappresentazione
del polinomio interpolante: formula di Lagrange e formula di Newton. Differenze divise e proprietà.
Sviluppo di algoritmi per la costruzione e valutazione del polinomio interpolante di Lagrange e analisi
della complessità di tempo e spazio. Interpolazione polinomiale di Hermite: formula di Newton.
Approssimazione nel senso dei minimi quadrati lineari. Sistema delle equazioni normali: proprietà ed
interpretazione geometrica. Retta e parabola dei minimi quadrati lineari.
Risoluzione numerica di equazioni non lineari. Metodi globalmente e localmente convergenti.
Metodi basati su modelli lineari: metodo di bisezione, di regula falsi, di Newton e delle secanti.
Convergenza ed ordine di convergenza di tali metodi. Dominio di attrazione del metodo di Newton.
Radici di molteplicità maggiore di uno: metodo di Newton modificato e metodo di Newton modificato
adattativo. Metodi ibridi. Criteri di arresto.
Risoluzione di sistemi lineari con metodi iterativi. Matrici sparse e schemi di memorizzazione a tre
vettori. Fenomeno di fill-in. Metodi iterativi lineari stazionari ad un passo: i metodi di Jacobi e GaussSeidel. Formulazione matriciale ed interpretazione geometrica di tali metodi. Consistenza,
convergenza e velocità di convergenza. Stime calcolabili dell’errore e criteri di arresto.
2. Attività di laboratorio
Sono previste, quale parte integrante del programma, attività di laboratorio rivolte all’implementazione
di algoritmi trattati durante il corso o all’uso di routine che implementano tali algoritmi. Tali attività sono
svolte sia utilizzando il linguaggio C in ambiente Linux sia utilizzando l’ambiente Matlab.