Registro delle lezioni di Calcolo Scientifico e Metodi Numerici

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


1. Martedì 24/09/2019   Ore:2 (Totale: 2)
Introduzione al corso e breve seminario su alcune applicazioni del calcolo numerico.


2. Venerdì 27/09/2019   Ore:2 (Totale: 4)
Problemi ben posti e problemi mal posti. Numero di condizionamento assoluto e relativo. Esempi: condizionamento della somma e del prodotto di numeri reali. Cancellazione. Algoritmi e loro caratterizzazione: stabilità, complessità computazionale e occupazione di memoria.
Capitolo 1 (tutto).


3. Martedì 01/10/2019   Ore:2 (Totale: 6)
Sistemi di numerazione in base qualsiasi. Errori assoluti e relativi. 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 e errori assoluto e relativo.
Capitolo 3 (paragrafi 3.1, 3.2, 3.3 (fino a pag.57, no Teorema 3.1).


LAB1. Giovedì 03/10/2019   Ore:2 (Totale: 8)
(Gruppo A) - Introduzione a Matlab. La funzione diary. Assegnazione del valore a una variabile. Valutazione dei tempi di calcolo (tic e toc). Controllo del workspace: whos, clear, clc, save, load. Istruzioni if e switch.


LAB1. Venerdì 04/10/2019   Ore:2 (Totale: 8)
(Gruppo B) - Stessi argomenti del precedente.


4. Venerdì 04/10/2019   Ore:2 (Totale: 10)
Arrotondamento e errori assoluto e relativo. Arrotondamento unitario. Epsilon di macchina. Operazioni di macchina. Propagazione degli errori. Esempi.
Capitolo 3 (paragrafi 3.3 e 3.4, no Osservazione 3.3).


5. Martedì 08/10/2019   Ore:2 (Totale: 12)
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 ∞. Norme equivalenti.
Capitolo 2 (paragrafo 2.1.1).


LAB2. Giovedì 10/10/2019   Ore:2 (Totale: 14)
(Gruppo A) - Definizione estensiva di un vettore. Le funzioni zeros e ones. Estrazione di singoli elementi o di parti di un vettore e loro utilizzo. Esercizi sull'aritmetica di macchina. Calcolo dell'epsilon di macchina. I cicli for e while. Calcolo di limiti che producono/non producono cancellazione.


LAB2. Venerdì 11/10/2019   Ore:2 (Totale: 14)
(Gruppo B) - Stessi argomenti del precedente.


6. Venerdì 11/10/2019   Ore:2 (Totale: 16)
Successioni convergenti e successioni di Cauchy. Spazi completi. Matrici. Aggiunta e trasposta. Operazioni su matrici. Prodotto matriciale e potenza di una matrice. Matrice inversa. Determinante. Rango di una matrice.
Capitolo 2 (paragrafo 2.1.2).


7. Martedì 15/10/2019   Ore:2 (Totale: 18)
Autovalori e autovettori. Polinomio caratteristico. Spettro e raggio spettrale di una matrice. Proprietà degli autovalori. Esempi su autovalori e autovettori. Matrici di forma particolare e loro proprietà: Hermitiane/simmetriche, unitarie/ortogonali, triangolari superiori e inferiori, diagonali, a banda, sparse.
Capitolo 2 (paragrafi 2.1.3 e 2.2).


LAB3. Giovedì 17/10/2019   Ore:2 (Totale: 20)
(Gruppo A) - Definizione estensiva di una matrice. Le funzioni zeros , ones, rand e randn per la creazione di matrici. Estrazione di singoli elementi o di parti di una matrice e loro utilizzo. Aggiunta e trasposta di una matrice, matrice identità, potenza di matrice, inversa, determinante e rango. Calcolo degli autovalori. Funzioni orth, triu, tril, diag. Creazione delle funzioni iseye, isorth, isinv, istriu e istril.


LAB3. Venerdì 18/10/2019   Ore:2 (Totale: 20)
(Gruppo B) - Stessi argomenti del precedente.


8. Venerdì 18/10/2019   Ore:2 (Totale: 22)
Norme matriciali. Submoltiplicatività e consistenza. Norma di Frobenius. Norme naturali. Norme matriciali con indice ∞, 1 e 2. Norma-2 per matrici simmetriche.
Capitolo 2 (paragrafo 2.3).


9. Martedì 22/10/2019   Ore:2 (Totale: 24)
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).


LAB4. Giovedì 24/10/2019   Ore:2 (Totale: 26)
(Gruppo A) - 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 ortogonale. Implementazione dell'algoritmo per la risoluzione di un sistema triangolare (sia inferiore che superiore). Visibilità delle variabili nel workspace. Verifica del funzionamento degli algoritmi e calcolo dell'errore relativo. Functions che restituiscono più di un parametro in output.


LAB4. Venerdì 25/10/2019   Ore:2 (Totale: 26)
(Gruppo B) - Stessi argomenti del precedente.


10. Venerdì 25/10/2019   Ore:2 (Totale: 28)
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. Breakdown dell'algoritmo in presenza di un pivot nullo. Pivoting parziale. Giustificazione del pivoting sul piano della stabilità numerica. Matrici diagonalmente dominanti. Cenni sul pivoting totale. Esempio numerico dell'applicazione del metodo di Gauss con pivoting parziale.
Capitolo 4 (paragrafi 4.3 e 4.3.1).


11. Lunedì 28/10/2019   Ore:2 (Totale: 30)
Fattorizzazione LU e suo utilizzo per la risoluzione di un sistema lineare, per il calcolo del determinante della matrice dei coefficienti e il calcolo dell'inversa. Matrici di scambio e di permutazione: definizione e proprietà. Costruzione pratica della fattorizzazione PA=LU e suo uso per risolvere sistemi lineari e calcolare inverse e determinanti. Esempi.
Capitolo 4 (paragrafo 4.3.2).


12. Martedì 12/11/2019   Ore:2 (Totale: 32)
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. Condizione necessaria e sufficiente per la convergenza dei metodi iterativi lineari, stazionari, del prim'ordine. Costruzione di metodi iterativi mediante splitting additivo.
Capitolo 5 (introduzione e paragrafo 5.1).


LAB5. Giovedì 14/11/2019   Ore:2 (Totale: 34)
(Gruppo A) - Metodo di triangolarizzazione di Gauss. Implementazione in Matlab. Verifica del funzionamento. 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.


LAB5. Venerdì 15/11/2019   Ore:2 (Totale: 34)
(Gruppo B) - Stessi argomenti del precedente.


13. Venerdì 15/11/2019   Ore:2 (Totale: 36)
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. Criteri di arresto per i metodi iterativi. Esempi.
Capitolo 5 (paragrafi 5.2 e 5.3).


14. Martedì 19/11/2019   Ore:2 (Totale: 38)
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. Zeri di polinomi. Cenni sul metodo di bisezione.
Capitolo 7 (paragrafi 7.1, 7.2, e prima parte 7.3).


LAB6. Giovedì 21/11/2019   Ore:2 (Totale: 40)
(Gruppo A) - Creazione di un sistema lineare con matrice diagonalmente dominante. Implementazione dei metodi di Jacobi e di Gauss-Seidel in forma matriciale. Test degli algoritmi. Controllo del numero dei parametri in input mediante nargin e isempty e assegnazione di valori di default.


LAB6. Venerdì 22/11/2019   Ore:2 (Totale: 40)
(Gruppo B) - Stessi argomenti del precedente.


15. Venerdì 22/11/2019   Ore:2 (Totale: 42)
Il metodo di bisezione: studio dell'algoritmo e della convergenza. Il metodo di Newton: costruzione geometrica e analitica. Illustrazione di alcuni risultati numerici. Esempi sull'utilizzo del metodo di bisezione e Newton. Metodi quasi-Newton: corde e secanti.
Capitolo 7 (paragrafi 7.3, 7.4, 7.5).


16. Martedì 26/11/2019   Ore:2 (Totale: 44)
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.
Capitolo 8 (paragrafi 8.1, 8.2, 8.2.1).


LAB7. Giovedì 28/11/2019   Ore:2 (Totale: 46)
(Gruppo A) - Metodo di bisezione, di Newton, delle corde e delle secanti per la soluzione di equazioni nonlineari. Sperimentazione numerica. Puntatori a funzione. Forma canonica e forma di Lagrange per il polinomio Interpolante. Utilizzo delle istruzioni grafiche di base: plot e legend.


LAB7. Venerdì 29/11/2019   Ore:2 (Totale: 46)
(Gruppo B) - Stessi argomenti del precedente.


17. Venerdì 29/11/2019   Ore:2 (Totale: 48)
Influenza sull'errore della regolarità della funzione da interpolare e della distribuzione dei nodi. Errore di interpolazione e nodi di Chebychev. Matrici simili, diagonalizzabilità e fattorizzazione spettrale, teorema di Schur. Matrici riducibili e vantaggi nella risoluzione di sistemi lineari e calcolo degli autovalori. Grafo associato a una matrice. Grafo fortemente connesso e relazione con l'irriducibilità della matrice associata.
Capitolo 8 (paragrafo 8.2.2 (no dim. Teorema 8.4)), Capitolo 6 (paragrafo 6.1 (no Teorema 6.5 e seguito)), Capitolo 2 (paragrafo 2.4 (no Definizione 2.11, no Teorema 2.12).

Totale ore: 48 (Totale ore Laboratorio: 14)