PROGRAMMA DEL CORSO DI
CALCOLO SCIENTIFICO E METODI NUMERICI

CORSO DI LAUREA IN INFORMATICA
A.A. 2016/2017 - DOCENTE: PROF. GIUSEPPE RODRIGUEZ

  1. Analisi degli errori e codifica degli algoritmi. Problemi ben posti. Condizionamento. Codifica di algoritmi mediante mappe strutturali. Stabilità, complessità computazionale ed occupazione di memoria di un algoritmo. Origine degli errori. Errore assoluto e relativo. Rappresentazione in virgola mobile normalizzata. Insieme dei numeri di macchina. Memorizzazione di un numero reale: troncamento ed arrotondamento. Overflow e underflow. Precisione di macchina. Variabili in singola e doppia precisione. Operazioni di macchina. Analisi di perturbazione per le operazioni aritmetiche e loro condizionamento. Cancellazione.

  2. Richiami di Algebra Lineare. Spazi lineari. Spazi normati. Equivalenza delle norme. Principali norme vettoriali. Convergenza e successioni di Cauchy. Calcolo matriciale. Rango. Determinante e matrice inversa. Autovalori e autovettori. Raggio spettrale. Matrici dotate di struttura particolare: matrici Hermitiane, unitarie, triangolari e a banda. Norme matriciali e loro proprietà. Principali norme matriciali naturali. Relazioni tra raggio spettrale e norme matriciali.

  3. Metodi diretti per la risoluzione di sistemi lineari. Condizionamento di un sistema lineare. Risoluzione di sistemi lineari diagonali, ortogonali e triangolari. Algoritmo di triangolarizzazione di Gauss. Pivoting parziale e totale. Fattorizzazione $A=LU$. Matrici di permutazione e fattorizzazione $PA=LU$. Calcolo del determinante e dell'inversa di una matrice. Crescita del numero di condizionamento e propagazione degli errori di arrotondamento nell'algoritmo di Gauss.

  4. Metodi iterativi per la risoluzione di sistemi lineari. Metodi iterativi lineari stazionari del prim'ordine. Convergenza e consistenza. Condizioni sufficienti o necessarie e sufficienti per la convergenza. I metodi di Jacobi e di Gauss-Seidel. Classi di matrici per cui i due metodi convergono. Criteri di arresto.

  5. Radici di equazioni non lineari. Ordine di convergenza di un metodo iterativo. Caratterizzazione delle radici multiple. Condizionamento di una radice semplice. Il metodo di bisezione. Il metodo di Newton. Rapporto tra ordine di convergenza e molteplicità delle radici. Metodi quasi-Newton: corde e secanti.

  6. Approssimazione di funzioni. Formulazione generale del problema dell'interpolazione. Unisolvenza. Enunciati dei teoremi di Taylor e di Weierstrass. Interpolazione polinomiale. Esistenza ed unicità. Polinomio interpolante nella forma di Lagrange. Errore di interpolazione. Influenza del posizionamento dei nodi. Nodi di Chebychev.

  7. Laboratorio. Introduzione a Matlab. Operatori aritmetici. Numeri complessi. Generazione di vettori e matrici. Operatori e funzioni vettoriali e matriciali. Operatori e funzioni che agiscono componente per componente. L'operatore di divisione matriciale. Programmazione mediante scripts e functions. Cicli. Istruzioni grafiche elementari per grafici 2D e 3D. Uso di alcune funzioni di libreria. Esempi e simulazioni numeriche relative agli argomenti trattati durante il corso.

Bibliografia

1
G. Rodriguez.
Algoritmi Numerici.
Pitagora Editrice, Bologna, 2008.

2
A. Quarteroni, R. Sacco, and F. Saleri.
Matematica Numerica.
Springer, Milano, 2000.
Seconda edizione.

3
V. Comincioli.
Analisi Numerica Metodi Modelli Applicazioni.
McGraw-Hill, Milano, 1993.



Giuseppe Rodriguez
rodriguez@unica.it