Calcolo Numerico e Laboratorio a.a. 2018-2019 - G. Zanghirati
Docente: Prof. Gaetano Zanghirati
Avvisi:
Orario delle lezioni:
Martedì ore 10:30 - 13:30, Aula Info1
Mercoledì ore 14:00 - 16:00, Aula F6
Giovedì ore 08:30 - 10:30, Aula F6
Orario di ricevimento:
Giovedì ore 11:00 oppure su appuntamento tramite e-mail
Attività integrativa
Dott.ssa Serena Crisci (serena.crisci@unife.it): orario da concordare
Dott. Simone Rebegoldi, Ph.D. (simone.rebegoldi@unimore.it): orario da concordare
Lunedì, 10:30 - 12:30, aula Info1.
Tutorato
Michael Bellan (michael.bellan@student.unife.it): giovedì, 16:30 - 17:30, aula F2.
Per informazioni, comunicazioni veloci e problemi relativi al corso: g.zanghirati@unife.it
Modalità d'esame:
Prova scritta con quesiti teorici e pratici (programmazione Matlab). Prova orale opzionale (solo in caso di valutazione della prova scritta maggiore o uguale a 26/30). Per le regole di valutazione si veda la sezione "Informazioni utili".
Appelli d'esame:
N.B. Per la registrazione del voto dello scritto, iscriversi all'appello orale e indicare nelle note di iscrizione "Solo registrazione voto".
- Sessione di Gennaio-Febbraio 2019
- Prova scritta: 22 Gennaio, ore 9:00, aula Info1 (Blocco F).
Prova orale (solo per gli ammessi): 29 Gennaio, ore 9:00, aula da destinarsi. - Prova scritta: 12 Febbraio, ore 9:00, aula Info1 (Blocco F).
Prova orale (solo per gli ammessi): 19 Febbraio, ore 9:00, aula da destinarsi.
- Prova scritta: 22 Gennaio, ore 9:00, aula Info1 (Blocco F).
- Sessione di Giugno-Luglio 2019
- Prova scritta: 12 Giugno, ore 10:30, aula Info1 (Blocco F).
Prova orale (solo per gli ammessi): 21 Giugno, ore 9:00, aula da destinarsi. - Prova scritta: 10 Luglio, ore 9:00, aula Info1 (Blocco F).
Prova orale (solo per gli ammessi): 19 Luglio, ore 9:00, aula da destinarsi.
- Prova scritta: 12 Giugno, ore 10:30, aula Info1 (Blocco F).
- Sessione di Settembre 2019
- Prova scritta: 11 Settembre, ore 09:00, aula Info2 (Blocco F).
Prova orale (solo per gli ammessi): 18 Settembre, ore 9:15, aula da destinarsi.
- Prova scritta: 11 Settembre, ore 09:00, aula Info2 (Blocco F).
- Sessione di Gennaio-Febbraio 2020
Testi di riferimento:
- Appunti delle lezioni
- Burden R.L., Faires J.D., Numerical Analysis, 10th Edition, Prindle Weber & Schmidt, Boston MA. 2015
- Approfondimenti:
- Quarteroni A., Saleri F., Sacco R., Matematica numerica, Springer Verlag, 2008
- Mazzia A., Laboratorio di calcolo numerico. Applicazioni con Matlab e Octave, Pearson Ed., gennaio 2014
- Galligani I., Elementi di Analisi Numerica, Calderini Editrice Bologna, 1986
Calendario delle lezioni
- 25/09/2018
- Introduzione al corso, esempi di problemi reali (classificazione binaria). Appunti. Rappresentazione posizionale dei numeri reali. Esempi ed esercizi. Appunti.
(3 ore) - 26/09/2018
- Algoritmi di conversione da base 10 a base diversa. Esempi ed esercizi. Conversione di base in generale.
(2 ore) - 28/09/2018
- Schema di Horner e sue applicazioni. Richiami sulla regola di Ruffini. Esempi ed esercizi.
(2 ore) - 29/09/2018
- Esercizi proposti
- 2/10/2018
- Aritmetica finita: numeri in virgola fissa. Esempi. Operazioni in virgola fissa. Esempi ed esercizi. Appunti.
Lab. Primi elementi di Matlab: variabili, assegnazione, array, indicizzazione, interfaccia grafica, operatori aritmetici. Esercizi.
(3 ore) - 3/10/2018
- Numeri in virgola mobile, rappresentazione standard IEEE ANSI-754, insieme dei numeri finiti, precisione di macchina, errore di rappresentazione. Esempi. Operazioni in virgola mobile, esempi ed esercizi. Teorema dell'errore di rappresentazione in aritmetica finita. Errori di cancellazione e di incolonnamento. Esempi.
(2 ore) - 4/10/2018
- Analisi in avanti dell'errore in aritmetica finita: stabilità degli algoritmi, coefficienti di amplificazione, indice algoritmico, confronto di algoritmi. Esempi ed esercizi.
Matlab: IDE di sviluppo, M-script ed M-functions, esempi. Tool per il debugging.
(2 ore) - 5/10/2018
- Esercizi proposti.
- 8/10/2018
- Rebegoldi: attività integrative (con materiale didattico)
- 10/10/2018
- Analisi dell'errore in aritmetica finita: errore inerente e condizionamento del problema. Indice di condizionamento. Errore totale. Tecnica del grafo per la valutazione degli errori e degli indici algoritmico e di condizionamento.
Matlab: alcuni elementi della grafica bidimensionale per il tracciamento dei grafici di dati e funzioni. Sintassi vettoriale delle funzioni. Campionamento uniforme di intervalli e funzione polyval.
(2 ore) - 11/10/2018
- Esempi ed esercizi sul metodo dei grafi per la valutazione degli errori e degli indici algoritmico e di condizionamento. Norme vettoriali e matriciali. Esempi. Norme naturali e indotte.Appunti.
(2 ore) - 16/10/2018
- Esercizi proposti.
- 16/10/2018
- Norme matriciali: raggio spettrale, esempi, interpretazione geometrica. Matrici definite. Calcolo delle norme in Matlab: commenti ed esempi di implementazione.
Matlab: struct e cell array, numero variabile di parametri di input e di output nelle M-function. Specifiche per la corretta scrittura di M-functions. Regole di visibilità delle variabili, workspace locali.
(2 ore) - 17/10/2018
- Introduzione alla soluzione numerica dei sistemi lineari. Casi particolari: sistemi diagonali e sistemi triangolari. Algoritmo di sostituzione all'indietro e algoritmo di sostituzione in avanti. Calcolo dell'inversa di una matrice triangolare superiore.Appunti.
Matlab: funzioni logiche di ispezione, sintassi e uso della funzione find.
(2 ore) - 18/10/2018
- Stabilità degli algoritmi di sostituzione per la soluzione di sistemi triangolari. Metodi diretti per il caso generale. Generalità sui metodi di fattorizzazione.
Matlab: implementazione degli algoritmi di sostituzione all'indietro per righe e per colonne.
(4 ore) - 23/10/2018
- Fattorizzazione LR. Teorema di esistenza e unicità della fattorìzzazione LDU. Esempi. Esercizi.
Matlab: implementazione dell'algoritmo per il calcolo dell'inversa di una matrice triangolare superiore.
(3 ore) - 24/10/2018
- Trasformazioni elementari di Gauss, metodo di eliminazione di Gauss con strategia diagonale. Esempio.
(2 ore) - 25/10/2018
- Matrici diagonali dominanti, matrici simmetriche definite positive (negative). Esempi. Teorema di Cholesky. Fattorizzazione e tecniche compatte. Esempi. Matrici di permutazione, teorema di fattorizzazione PA = LR. Esempi. Metodo di eliminazione di Gauss con pivoting parziale. Esercizio.
(2 ore) - 25/10/2018
- Esercizi proposti
- 30/10/2018
- Stabilità dell'algoritmo con pivoting parziale, residui, pseudorango numerico. Esempi.
Lab.: implementazione in Matlab del metodo di fattorizzazione di Gauss con strategia diagonale. Commenti all'implementazione Matlab della strategia di pivoting parziale.
(3 ore) - 31/10/2018
- Fattorizzazione PAQ = LR. Metodo di Gauss con pivoting totale. Fattorizzazione di matrici tridiagonali e di matrici a banda. Matrici sparse e metodo di riordinamento del grado minimo. Esempi. Fattorizzazioni ortogonali: rotazioni di Givens, interpretazione geometrica. Esempi. Teorema di fattorizzazione QR per matrici qualsiasi. Esempi. Costruzione dei fattori mediante rotazioni di Givens.
(2 ore) - 5/11/2018
- Fattorizzazione QR: caso delle matrici tridiagonali. Esempio. Teorema particolare della fattorizzazione QR. Soluzione di sistemi lineari mediante fattorizzazione QR. Esercizio. Istruzioni Matlab per le rotazioni di Givens e la fattorizzazione QR. Calcolo dell'inversa di una matrice invertibile, trasformazioni di Gauss-Jordan. Esempio.
Lab.: esercizio di programmazione e commenti sulla sintassi vettoriale nelle trasformazioni di Gauss con pivoting parziale, implementazione delle trasformazioni elementari di Givens. Function di calcolo della fattorizzazione QR mediante rotazioni elementari di Givens.
(3 ore) - 7/11/2018
- Condizionamento della soluzione numerica di sistemi lineari. Esempio. Esercizio. Metodi per la stima del numero di condizionamento di una matrice.
(2 ore) - 8/11/2018
- Stabilità dei metodi diretti per la soluzione numerica di sistemi lineari. Esempio. Teoremi di localizzazione degli autovalori di matrici reali. Esempi.
(1,5 ore) - 13/11/2018
- Metodi iterativi per sistemi lineari: grafo orientato associato ad una matrice e riducibilità delle matrici. Esempi ed esercizi. Successioni di matrici. Matrici convergenti. Esempi.
Lab.: esercizio di programmazione in Matlab sul condizionamento della soluzione di sistemi lineari con i metodi diretti. Strutture e array di celle in Matlab. Esercizio di programmazione su un'applicazione in campo elettrotecnico: soluzione del sistema lineare con metodi diretti.
(3 ore) - 14/11/2018
- Costruzione generale dei metodi iterativi per sistemi lineari. Condizioni di convergenza. Velocità asintotica di convergenza. Decomposizione di matrici. Metodi particolari: il metodi di Jacobi e di Gauss-Seidel, esempio, Esempi.
(2 ore) - 15/11/2018
- Condizioni e teoremi di convergenza per i metodi di Jacobi a Gauss-Seidel. Metodo SOR, esempio, condizioni di convergenza, proprietà e condizioni del parametro di rilassamento, esempio.
Lab.: istruzioni di memorizzazione sparsa di Matlab, esempi. Alcune funzioni di grafica 2D e di manipolazione degli oggetti grafici, esempi. Esercizio di programmazione su un'applicazione in campo elettrotecnico: soluzione del sistema lineare con metodi iterativi. Soluzione dell'esercizio.
(2 ore) - 16/10/2017
- Esercizi proposti sui metodi iterativi per sistemi lineari.
- 19/11/2018
- Tutorato (Zanghirati): aritmetica finita e sistemi lineari.
(4 ore) - 20/11/2018
- Simulazione della prova scritta/pratica. Testo e soluzioni.
(4 ore) - 27/11/2018
- Introduzione all'approssimazione di dati e funzioni: generalità, esempi. Il caso dell'interpolazione polinomiale: condizioni di interpolazione, metodo dei coefficienti indeterminati, sistema di Vandermonde. Esempi. Polinomi di Lagrange: derivazione, proprietà. Esempio. Polinomio di interpolazione nella base di Lagrange. Appunti.
Lab.: programmazione in Matlab: esercizio di programmazione sui metodi iterativi per sistemi lineari.
(3 ore) - 28/11/2018
- Errore di interpolazione e stime. Esempio. Polinomi di Chebyshev: costruzione, proprietà, relazione di ricorrenza. Esempi. Trasformazione lineare di variabile. Ottimalità dei polinomi di Chebyshev rispetto alla norma infinito. Applicazione all'errore di interpolazione. Esempio
(2 ore) - 29/11/2018
- Differenze divise: costruzione, proprietà, esempi. Costruzione polinomio interpolante nella forma di Newton. Esempio. Proprietà del polinomio di Newton. Costruzione in Matlab della tabella delle differenze divise. Schema di Horner generalizzato e valutazione del polinomio di Newton in un punto. Implementazione in Matlab. Esempio.
(2 ore) - 29/11/2018
- Esercizi proposti sui metodi di interpolazione polinomiale.
- 4/12/2018
- Polinomio di interpolazione di Hermite, esempi.
Lab.: esercizio di programmazione sul confronto dei metodi iterativi per sistemi lineari (esempio del circuito).
(3 ore) - 6/12/2018
- Condizionamento del problema di interpolazione polinomiale. Interpolazione polinomiale a tratti: funzioni spline. Spline lineari e spline cubiche: proprietà.
(2 ore) - 10/12/2018
- Costruzione dei diversi tipi di spline cubiche. Teoremi sulle spline cubiche.
Lab.: un'applicazione di Ingegneria Civile. Appunti. Costruzione delle spline cubiche. Implementazione in Matlab della costruzione delle spline complete. Istruzioni Matlab per la costruzione delle spline.
(3 ore) - 11/12/2018
- Introduzione al problema lineare dell'approssimazione. Approssimazione polinomiale: il metodo dei minimi quadrati, esempi. Proprietà del problema dei minimi quadrati, condizionamento, metodo delle equazioni normali. Metodo QR per la soluzione del problema lineare discreto dell'approssimazione. Esempio. Appunti.
Lab.: esercizi di programmazione in Matlab sul polinomio interpolante nella forma di Lagrange.
(3 ore) - 12/12/2018
- Esercizi proposti sui minimi quadrati.
- 13/12/2018
- Metodi numerici per la soluzione di equazioni scalari non lineari: metodo di bisezione, metodi di punto fisso, esempi. Condizioni sufficienti di esistenza e unicità del punto fisso, teoremi di convergenza globale e locale delle iterazioni di punto fisso (dimostrazioni opzionali), esempi. Stabilità e criteri d'arresto per i metodi di punto fisso. Esempi. Ordine di convergenza. Appunti.
(2 ore) - 17/12/2018
- Costruzione di metodi di punto fisso con ordine di convergenza superiore, esempi. Zeri semplici e zeri multipli. Metodi a convergenza superlineare, esempi. Il metodo di Newton e la sua convergenza locale quadratica. Esempi. Condizioni sufficienti per la convergenza del metodo di Newton, esempi. Metodo di Newton modificato per zeri multipli. Cenno alla connessione del metodo di Newton con lo sviluppo in serie di Taylor. Metodo di Halley, metodo di falsa posizione (regula falsi), metodo delle secanti. Esempi. Cenno alla convergenza locale e ordine di convergenza del metodo delle secanti, metodo di Muller (dimostrazioni solo opzionali). Cenno ai metodi di interpolazione inversa. Condizionamento del problema della soluzione di un'equazione non lineare, esempio. Esercizio sui minimi quadrati
(3 ore) - 17/12/2018
- Esercizi proposti sulle equazioni non lineari.
- 19/12/2018
- Esercitazioni: esercizi e soluzione di quesiti di prove d'esame di appelli passati.
(2 ore) - 20/12/2018
- Esercitazioni: esercizi e soluzione di quesiti di prove d'esame di appelli passati.
(2 ore) - 21/12/2018
- Testo e soluzioni della prova scritta/pratica del 20/06/2018.
- 08/01/2019
- Lab. Esercitazioni di programmazione in Matlab.
(3 ore) - 09/01/2019
- Esercitazioni: esercizi e soluzione di quesiti di prove d'esame di appelli passati.
(2 ore) - 10/01/2019
- Esercitazioni: esercizi e soluzione di quesiti di prove d'esame di appelli passati.
(2 ore) - 15/01/2019
- Lab. Esercitazioni di programmazione in Matlab.
(3 ore) - 16/01/2019
- Esercitazioni: esercizi e soluzione di quesiti di prove d'esame di appelli passati.
Testo e soluzioni della prova scritta/pratica del 26/01/2018.
(2 ore) - 17/01/2019
- Esercitazioni: esercizi e soluzione di quesiti di prove d'esame di appelli passati.
(2 ore) .