Dipartimento di Matematica e Fisica Seconda Università degli Studi di Napoli Corso di Laurea Triennale in Matematica Programma del corso di Calcolo Numerico 2 (8 CFU) - a.a. 2014/2015 Prof. D. di Serafino, Prof. V. De Simone, Prof. P. D’Ambra 1. Argomenti trattati Risoluzione numerica di sistemi lineari • Metodi diretti (matrici simmetriche e matrici simmetriche definite positive) Fattorizzazione LU di matrici a banda: algoritmo con e senza pivoting, complessità computazionale. Fattorizzazione LDLT di matrici simmetriche: esistenza e unicità, algoritmo per il calcolo della fattorizzazione, cenni al pivoting, complessità computazionale. Fattorizzazione di Cholesky di matrici simmetriche definite positive: esistenza e unicità, algoritmo per il calcolo della fattorizzazione, complessità computazionale, cenni alla stabilità. Risoluzione di sistemi lineari utilizzando le fattorizzazioni suddette. • Metodi iterativi (matrici generiche e matrici simmetriche definite positive) Matrici sparse, grado di sparsità, memorizzazione di matrici sparse. Metodi lineari stazionari basati sullo splitting della matrice: formulazione generale, metodi di Jacobi, di Gauss-Seidel e SOR, consistenza, convergenza, velocità di convergenza, complessità computazionale, valore ottimo del parametro di rilassamento nel metodo SOR. Metodi di Richardson stazionari: formulazione, convergenza, valore ottimo del parametro. Metodi non stazionari per la risoluzione di sistemi lineari con matrice simmetrica definita positiva: metodi del gradiente e del gradiente coniugato, proprietà, convergenza, stima dell’errore, relazioni tra lo spettro della matrice ed il comportamento dei metodi, complessità computazionale. Criteri di arresto per i metodi suddetti. Interpolazione mediante spline Funzioni spline: definizione e rappresentazione. Spline naturali. Interpolazione di Lagrange mediante spline naturali. Esistenza e unicità della spline naturale cubica interpolante un insieme di punti; algoritmo per la costruzione di tale spline, risoluzione dei sistemi lineari tridiagonali che si presentano in tale algoritmo, complessità computazionale. Quadratura Formule di quadratura esatte per polinomi algebrici. Formule di Newton-Cotes e formule di Gauss. Analisi dell’errore mediante il teorema di Peano. Convergenza delle formule di Newton-Cotes e di Gauss. Formule composite di Newton-Cotes. Convergenza delle formule composite e ordine di convergenza. Stime calcolabili dell’errore e criteri di arresto. Integratori automatici. Complessità computazionale degli algoritmi di quadratura. Algoritmi adattativi di tipo locale e globale. Introduzione alla risoluzione numerica di equazioni differenziali ordinarie Richiami sui problemi di Cauchy per le equazioni differenziali ordinarie. Metodo di Eulero in avanti e metodo di Eulero all’indietro: consistenza, zero-stabilità, convergenza e teorema di Dahlquist; stabilità assoluta, equazione test e regioni di assoluta stabilità; errore di roundoff. 1 2. Attività di laboratorio Costituiscono parte integrante del programma le attività di laboratorio di seguito specificate. Si noti che per ciascuno dei programmi elencati è richiesta l’esecuzione su un insieme di problemi test, che mettano in luce le caratteristiche del metodo implementato e gli aspetti salienti del corrispondente programma, e l’analisi dei risultati ottenuti. 1. Sviluppo di un programma in linguaggio C che implementa la fattorizzazione di Cholesky e la risoluzione dei sistemi triangolari associati. 2. Sviluppo di una funzione Matlab che implementa i metodi di Jacobi e di Gauss-Seidel (utilizzando la formulazione matriciale dei metodi). 3. Sviluppo di una funzione Matlab che implementa il metodo del gradiente per la risoluzione di sistemi lineari con matrice simmetrica e definita positiva. 4. Applicazione della funzione pcg di Matlab; confronto del metodo del gradiente coniugato e del metodo del gradiente, utilizzando rispettivamente pcg e la funzione di cui al punto 3. 5. Sviluppo di un programma in linguaggio C che costruisce la spline naturale cubica interpolante e la valuta in un insieme di punti; confronto della spline costruita con quella implementata nella funzione spline di Matlab. 6. Sviluppo di una funzione Matlab che implementa un integratore automatico adattativo, basato su strategia globale e formula trapezoidale composita; uso della funzione quad di Matlab e confronto con la funzione Matlab sviluppata. 7. Sviluppo di una funzione Matlab che implementa il metodo di Eulero in avanti per la risoluzione di problemi di Cauchy per sistemi di equazioni differenziali ordinarie del primo ordine; uso delle funzioni della ODE suite di Matlab e confronto con la funzione sviluppata. 3. Riferimenti bibliografici [1] A. Murli, Matematica Numerica: metodi, algoritmi e software, parte prima e seconda, Liguori editore, 2007, 2013. [2] A. Quarteroni, F. Saleri, R. Sacco, P. Gervasio, Matematica Numerica, 4a edizione, SpringerVerlag Italia, 2014. [3] J.R. Shewchuck, An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, School of Computer Science, Carnegie Mellon University, Pittsburgh, 1994 (http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf). Caserta, 8 giugno 2015 I docenti del corso Prof. Daniela di Serafino Prof. Valentina De Simone Prof. Pasqua D’Ambra 2