Programma Calcolo Numerico Mat e Inf - ICAR-CNR

Dipartimento di Matematica e Fisica
Seconda Università degli Studi di Napoli
Corso di Laurea Triennale in Matematica
Programma del corso di Calcolo Numerico 1 (12 CFU)
A.A. 2012/2013
Prof. Laura Antonelli - Prof. Valentina De Simone
1. Argomenti trattati
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.
1
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. Metodi di iterazione del punto fisso. Metodi ibridi: algoritmo di Dekker-Brent.
Approfondimenti sul linguaggio di programmazione C
Puntatori e vettori. Funzioni e struttura dei programmi. I/O e accesso ai file. Gestione della
memoria.
2. Attività di laboratorio
Costituiscono parte integrante del programma del corso le attività di seguito elencate.
Sviluppo ed applicazione, in ambiente Unix, di programmi in linguaggio C per la risoluzione dei
seguenti problemi:
1. effettuare le seguenti operazioni di base dell’Algebra Lineare: prodotto scalare di due
vettori, norma euclidea di un vettore, prodotto matrice-vettore, prodotto tra matrici;
2. calcolare un’approssimazione di ex, mediante una ridotta della sua serie di Mc Laurin, in
modo da ottenere un risultato corretto a meno di un numero di cifre significative, o decimali,
fissato in input;
3. calcolare la soluzione di un sistema lineare mediante l’algoritmo di eliminazione di Gauss
con pivoting parziale e la back substitution;
4. calcolare le soluzioni di più sistemi lineari con la stessa matrice dei coefficienti, mediante
fattorizzazione LU con pivoting parziale e back e forward substitution;
5. calcolare i coefficienti del polinomio interpolante di Lagrange rappresentato mediante la
formula di Newton e valutare tale polinomio, in uno o più punti assegnati, mediante
l’algoritmo di Hörner.
E’ richiesta una prova di laboratorio in cui lo studente dimostri una buona conoscenza dei
programmi sviluppati e una buona capacità nella programmazione e nell’analisi dei test.
2
3. Riferimenti bibliografici
[1] A. Murli, Matematica Numerica: metodi, algoritmi e software (parte prima), Liguori editore, 2007,
capitoli 2 e 3
[2] L. Antonelli - V. De Simone, Algoritmi e software per le operazioni di Algebra Lineare di Base,
materiale didattica del corso di Calcolo Numerico 1, a.a. 2012-2013
[3] D. Kincaid, W. Cheney, Numerical Analysis, II edition, Brooks/Cole Pub. Company (ITP), 1996,
capitolo 3.
[4] A. Murli, Algebra Lineare Numerica: Metodi Iterativi, Rapporto Tecnico del Centro di Ricerche sul
Calcolo Parallelo e i Supercalcolatori del CNR, CPS TR-98-08, 1998.
[5] D.M. Ritchie, B.W. Kernighan, Linguaggio C, seconda edizione, Jackson, 1989.
Caserta, 12 giugno 2013
I docenti del corso
Prof. Laura Antonelli
Prof. Valentina De Simone
3