Registro delle lezioni di Calcolo Scientifico e Metodi Numerici

Anno Accademico 2017/2018
Corso di Laurea in Informatica (Facoltà di Scienze)
Università degli Studi di Cagliari


1. Mercoledì 27/09/2017   Ore:1 (Totale: 1)
Introduzione al corso.


E1. Giovedì 28/09/2017   Ore:2 (Totale: 2)
(C. Fenu) Introduzione a Matlab. La funzione diary. Assegnazione del valore a una variabile. Definizione estensiva di un vettore e di una matrice. Le funzioni zeros, ones, rand, randn e randi. Operatori aritmetici e dot operators. Estrazione di singoli elementi o di parti di una matrice e loro utilizzo. Valutazione dei tempi di calcolo (tic e toc). Controllo del workspace: whos, clear, clc, save, load.


E2. Venerdì 29/09/2017   Ore:2 (Totale: 2)
(C. Fenu) Stessi argomenti del precedente.


2. Venerdì 29/09/2017   Ore:2 (Totale: 3)
Problemi ben posti. Esempi di problemi mal posti. Numero di condizionamento. Algoritmi: stabilità, complessità computazionale, occupazione di memoria. Sistemi di numerazione in base qualsiasi. Errori assoluti e relativi.
Capitolo 1 (tutto), Capitolo 3 (paragrafi 3.1 e 3.2, no Teorema 3.1).


3. Mercoledì 04/10/2017   Ore:2 (Totale: 5)
Rappresentazione in virgola fissa e in virgola mobile. Segno, mantissa ed esponente di un numero. Insieme dei numeri di macchina. Condizione di normalizzazione. Funzione di memorizzazione. Underflow e overflow. Troncamento, arrotondamento e relativi errori. Arrotondamento unitario. Epsilon di macchina. Operazioni di macchina e aritmetica non aberrante. Propagazione degli errori nella somma di numeri reali. Cancellazione.
Capitolo 3 (paragrafi 3.3 e 3.4, no Osservazione 3.3).


4. Venerdì 06/10/2017   Ore:2 (Totale: 7)
Richiami di Algebra Lineare. Spazi vettoriali. Sottospazi. Combinazioni lineari e indipendenza lineare. Basi e dimensione. Esempi di spazi vettoriali. Spazi normati. Esempi di norme vettoriali. Norme vettoriali con indice 1, 2 e ∞. Successioni convergenti e successioni di Cauchy. Spazi completi. Norme equivalenti. Matrici.
Capitolo 2 (paragrafo 2.1.1).


5. Mercoledì 11/10/2017   Ore:2 (Totale: 9)
Aggiunta e trasposta. Operazioni su matrici. Prodotto matriciale e potenza di una matrice. Matrice inversa. Determinante. Rango di una matrice. Autovalori e autovettori. Polinomio caratteristico. Spettro e raggio spettrale di una matrice. Proprietà degli autovalori. Esercizi su determinanti, autovalori e autovettori. Matrici di forma particolare e loro proprietà: simmetriche e triangolari.
Capitolo 2 (paragrafi 2.1.2 e 2.1.3).


E3. Giovedì 12/10/2017   Ore:2 (Totale: 4)
(A. Concas) Esercizi sull'aritmetica di macchina. Calcolo dell'epsilon di macchina. I cicli for e while. Le istruzioni if, else, switch. Funzioni che generano arrays: eye, diag, magic. Funzioni statistiche: sum, prod, min, max, mean, std. Esempi: verificare se un quadrato è magico.


E4. Venerdì 13/10/2017   Ore:2 (Totale: 4)
(A. Concas) Stessi argomenti del precedente.


6. Venerdì 13/10/2017   Ore:2 (Totale: 11)
Matrici di forma particolare e loro proprietà: simmetriche, ortogonali, triangolari, diagonali, a banda, sparse. Norme matriciali. Submoltiplicatività e consistenza. Norma di Frobenius. Norme naturali. Norme matriciali con indice ∞, 1 e 2. Norma-2 per matrici simmetriche.
Capitolo 2 (paragrafi 2.2 e 2.3).


7. Mercoledì 18/10/2017   Ore:2 (Totale: 13)
Generalità sui sistemi lineari. Condizionamento di un sistema in presenza di perturbazioni sul termine noto. Numero di condizionamento. Proprietà del numero di condizionamento. Risoluzione di sistemi con struttura particolare. Sistemi diagonali, ortogonali e triangolari: proprietà, algoritmi e complessità.
Capitolo 4 (paragrafi 4.1 e 4.2, no Lemma 4.1 e Teorema 4.2).


8. Venerdì 20/10/2017   Ore:2 (Totale: 15)
Il metodo di triangolarizzazione di Gauss. Analisi di un esempio numerico e studio dei primi due passi del metodo. Analisi del passo k dell'algoritmo di Gauss. Descrizione della struttura dati utilizzata. Mappa strutturale dell'algoritmo di Gauss. Complessità ed ottimizzazione rispetto all'occupazione di memoria. Fattorizzazione LU e sua utilizzazione per la risoluzione di un sistema lineare. Calcolo del determinante della matrice dei coefficienti.
Capitolo 4 (paragrafi 4.3 e prima parte 4.3.2).


9. Mercoledì 25/10/2017   Ore:2 (Totale: 17)
Riepilogo fattorizzazione LU e calcolo dell'inversa. Breakdown dell'algoritmo in presenza di un pivot nullo. Pivoting parziale. Giustificazione del pivoting sul piano della stabilità numerica. Matrici di scambio e di permutazione: definizione e proprietà. Matrici a predominanza diagonale stretta. Costruzione pratica della fattorizzazione $ PA=LU$ e suo uso per risolvere sistemi lineari e calcolare inverse e determinanti. Esempi.
Capitolo 4 (paragrafi 4.3.1 e 4.3.2).


E5. Giovedì 26/10/2017   Ore:2 (Totale: 6)
(C. Fenu) Costruzione di un sistema lineare con soluzione assegnata. Risoluzione di un sistema lineare con l'utilizzo del backslash. Implementazione dell'algoritmo per la risoluzione di un sistema diagonale. Implementazione dell'algoritmo per la risoluzione di un sistema triangolare inferiore e superiore. Creazione di una function. Parametri di input e output. Visibilità delle variabili nel workspace. Le funzioni size, error e warning. Verifica del funzionamento degli algoritmi e calcolo dell'errore relativo. Functions che restituiscono più di un parametro in output.


10. Venerdì 27/10/2017   Ore:2 (Totale: 19)
Riepilogo metodo di Gauss. Vantaggi del metodo con pivoting parziale. Pivoting totale. Cenni sul teorema di Wilkinson e crescita del condizionamento. Implementazione del metodo di Gauss con e senza pivoting parziale. Rilevazione della singolarità della matrice. Introduzione ai metodi iterativi per sistemi lineari. Differenze e vantaggi rispetto ai metodi diretti. Metodi iterativi del prim'ordine. Convergenza e consistenza. Metodi iterativi lineari, stazionari, del prim'ordine. Condizione necessaria e sufficiente per la consistenza. Condizione sufficiente per la convergenza.
Capitolo 4 (paragrafo 4.3.2), Capitolo 5 (introduzione e prima parte paragrafo 5.1).


E6. Venerdì 03/11/2017   Ore:2 (Totale: 8)
(C. Fenu) Metodo di triangolarizzazione di Gauss. Implementazione in Matlab. Verifica del funzionamento. Realizzazione di una function. Costruzione della fattorizzazione LU. Verifica della fattorizzazione ottenuta. Implementazione in Matlab del metodo di Gauss con pivoting parziale. Creazione di una function. Realizzazione di una sperimentazione numerica che, al variare della dimensione, misuri errori e tempi di calcolo.


11. Venerdì 03/11/2017   Ore:2 (Totale: 21)
Condizione necessaria e sufficiente per la convergenza dei metodi iterativi lineari, stazionari, del prim'ordine. Costruzione di metodi iterativi mediante splitting additivo. Il metodo di Jacobi. Formulazione matriciale e in componenti. Parallelizzabilità. Il metodo di Gauss-Seidel. Formulazione matriciale e in componenti. Confronto col metodo di Jacobi. Classi di matrici per cui i metodi convergono. Esempi.
Capitolo 5 (parte finale paragrafo 5.1 e paragrafo 5.2).


12. Venerdì 10/11/2017   Ore:2 (Totale: 23)
Prova parziale.


13. Mercoledì 15/11/2017   Ore:2 (Totale: 25)
Correzione prova parziale.


14. Venerdì 17/11/2017   Ore:2 (Totale: 27)
Criteri di arresto per i metodi iterativi. Introduzione alla soluzione numerica di equazioni non lineari. Formulazione del problema. Equazioni nonlineari. Convergenza e ordine di un metodo iterativo. Definizione e caratterizzazione di radici semplici e multiple. Serie di Taylor.
Capitolo 5 (paragrafo 5.3), Capitolo 7 (prima parte paragrafo 7.1).


E7. Giovedì 23/11/2017   Ore:2 (Totale: 10)
(A. Concas e C. Fenu) Creazione di un sistema lineare con matrice diagonalmente dominante. Implementazione dei metodi di Jacobi e di Gauss-Seidel in forma matriciale. Test degli algoritmi al variare del fattore di dominanza diagonale. Controllo del numero dei parametri in input mediante nargin e isempty e assegnazione di valori di default.


15. Giovedì 23/11/2017   Ore:2 (Totale: 29)
Il metodo di bisezione: studio dell'algoritmo e della convergenza. Il metodo di Newton: costruzione geometrica e analitica. Illustrazione di alcuni risultati numerici. Zeri di polinomi.
Capitolo 7 (parte finale paragrafo 7.1, paragrafo 7.2, 7.3, 7.4).


E8. Venerdì 24/11/2017   Ore:2 (Totale: 12)
(A. Concas e C. Fenu) Utilizzo delle istruzioni grafiche di base: figure, plot, title, xlabel, legend, subplot. Modifica delle caratterisitche della figura tramite tool grafico.


16. Venerdì 24/11/2017   Ore:2 (Totale: 31)
Esempi sull'utilizzo del metodo di bisezione e Newton. Metodi quasi-Newton: corde e secanti.
Capitolo 7 (paragrafo 7.5).


17. Mercoledì 29/11/2017   Ore:2 (Totale: 33)
Interpolazione ed approssimazione. Costruzione di una funzione interpolante e condizione che ne assicura l'esistenza ed unicità. I teoremi di Taylor e di Weierstrass. Interpolazione polinomiale mediante la base canonica. Matrici di Vandermonde. Polinomi caratteristici di Lagrange. Forma di Lagrange per il polinomio interpolante. Esempi. Errore di interpolazione. Influenza sull'errore della regolarità della funzione da interpolare e della distribuzione dei nodi. Errore di interpolazione e nodi di Chebychev.
Capitolo 8 (paragrafi 8.1, 8.2, 8.2.1, 8.2.2 (no dim. Teorema 8.4)).


E9. Giovedì 30/11/2017   Ore:2 (Totale: 14)
(A. Concas e C. Fenu) Il metodo di bisezione e di Newton per la soluzione di equazioni nonlineari. Sperimentazione numerica. Puntatori a funzione. Forma di Lagrange per il polinomio Interpolante.


Totale ore: 33 (Totale ore Laboratorio: 14)