DIPARTIMENTO DI MATEMATICA E INFORMATICA
Corso di laurea in Informatica
Anno accademico 2016/2017 - 3° anno - Curriculum B
CALCOLO NUMERICO
6 CFU - 2° semestre
Docente titolare dell'insegnamento
GIOVANNI RUSSO
Email: [email protected]
Edificio / Indirizzo: Blocco I, stanza 307
Telefono: +39-095-738-3039
Orario ricevimento: I sem: su appuntamento, II sem: MA 12-13, GI 10-11
OBIETTIVI FORMATIVI
Il corso rappresenta una breve introduzione ai metodi numerici per la risoluzione di problemi di base.
Indirizzato a studenti del secondo anno di Matematica, ha l'obiettivo di presentare alcune idee
fondamentali dell'arte dell'approssimazione numerica, quali accuratezza, robustezza ed efficienza dei
metodi, e le tecniche fondamentali per la soluzione di sistemi lineari, interpolazione e approssimazione di
funzioni, soluzione di equazioni non lineari e calcolo di integrali. Durante il corso viene fornita
un'introduzione all'uso di Python (in particolare la versione Enthought Canopy) per il calcolo numerico. Gli
aspetti implementativi dei metodi illustrati in parte durante il corso, ed in parte durante l'attività
integrativa pomeridiana (tutorato) legata al corso.
PREREQUISITI RICHIESTI
Viene richiesra una conoscenza dei concetti elementari di analisi (numeri reali e complessi, limiti,
derivate e integrali di funzioni di una variabile, funzioni di più variabili, serie) e di algebra lineare (spazi
vettoriali, algebra delle matrici)
FREQUENZA LEZIONI
L'attività didattica consiste principalmente in lezioni frontali tenute dal docente, durante le quali vengono
esposti gli argomenti del corso. Durante le ore di lezione il docente illustrerà implementazioni in Python
di alcuni dei metodi esposti a lezione. Il corso è complementato da attività integrative di tutorato, svolte
dal Dott. Sebastiano Boscarino
La frequenza a lezione è di fondamentale importanza per la comprensione dei concetti di base del corso.
Non c'è uno stretto obbligo di frequenza (non viene presa la presenza), ma la frequenza è fortemente
consigliata. Si asuspica una attiva partecipazione attiva in classe: un maggiore coinvolgimento da parte
degli studenti facilita l'assimilazione della materia. Collaborazioni fra studenti nello studio della materia
sono consigliate.
Si invitano gli studenti a chiarire eventuali dubbi durante la lezione o durante l'orario di ricevimento.
Meglio chiarire i dubbi prima di sostenere l'esame che dopo.
CONTENUTI DEL CORSO
Introduzione all'uso del calcolatore.
Introduzione all'uso del linguaggio Python. Enthought Canopy. Variabili ed istruzioni elementari. Cicli.
Strutture dati. Moduli. Uso dei pacchetti matplotlib e numpy.
Rappresentazione in virgola mobile. I numeri di macchina. Troncamento ed arrotondamento. Operazioni
di macchina. Cancellazione numerica. Ordine di accuratezza.
Algebra lineare numerica.
Richiami di algebra lineare: vettori, matrici, determinanti, matrice inversa. Norme di vettore e norme di
matrice. Norme naturali e loro rappresentazione. Autovalori. Raggio spettrale e sue proprietà. Alcune
matrici particolari. Metodi diretti per la risoluzione dei sistemi lineari: sistemi triangolari, metodo di
eliminazione di Gauss, pivoting. Fattorizzazioni A=LU e PA=LU. Metodi compatti, fattorizzazione di
Choleski e loro implementazione in python. Condizionamento di un sistema lineare. Numeri di
condizionamento. Matrici sparse e loro rappresentazione. Autovalori ed autovettori: richiami. Metodi
iterativi per la soluzione di sistemi lineari: metodi di Jacobi, metodo di Gauss-Siedel e metodo SOR. Criteri
d'arresto. Metodi per punti e per blocchi (cenni). Decomposizione in valori singolari (cenni).
Localizzazione degli autovalori: i teoremi di Gershgorin-Hadamard. Calcolo degli autovalori: il metodo
delle potenze, ed il metodo delle potenze inverse.
Approssimazione di funzioni e dati.
Interpolazione polinomiale. Forma di Lagrange. Operatore lineare di interpolazione. Calcolo del polinomi
di interpolazione. Formula di Newton delle differenze divise. Il resto dell'interpolazione. Polinomi di
Chebyshev: formula ricorsiva, zeri, proprietà di minima norma. Teorema di Weierstrass sulla
approssimazione di una funzione continua mediante polinomi (enunciato). Polinomi di Bernstein.
Problema della convergenza di una successione di schemi interpolatori. Interpolazione mediante polinomi
a tratti. Funzioni spline. Calcolo delle spline cubiche. Metodo dei minimi quadrati e applicazioni. Equazioni
normali e loro interpretazione geometrica.
Soluzione di equazioni non lineari.
Concetti generali. Metodi di bisezione, delle secanti e di Newton. Teoria generale dei metodi iterativi per
equazioni non lineari e problemi di punto fisso. Ordine di convergenza. Criteri d'arresto. Metodo di Aitken
per metodi di ordine di convergenza uno e due.
Formule di quadratura.
Integrali pesati. Forma generale di una formula di quadratura. Ordine polinomiale. Formule interpolatorie.
Teorema di convergenza. Formule di Newton-Cotes. Formule Gaussiane. Formule composite: trapezi e
Simpson. Metodo di Romberg. Quadratura adattiva (cenni).
TESTI DI RIFERIMENTO
Libri consigliati:
Il libro di testo consigliato per il corso di Calcolo Numerico è il seguente:
G.Naldi, L.Pareschi, G.Russo, Introduzione al calcolo scientifico, McGraw-Hill, 2001.
Ulteriori approfondimenti si trovano sui testi:
V.Comincioli, Analisi Numerica: metodi, modelli, applicazioni, McGraw-Hill, Milano, 1990.
G. Monegato, Calcolo Numerico, Levrotto e Bella, Torino, 1985.
A. Quarteroni, R. Sacco, F. Saleri, Matematica Numerica, Springer Italia, Milano, 1998.
PROGRAMMAZIONE DEL CORSO
* Argomenti
Riferimenti testi
1
* Introduzione all'uso del calcolatore. Introduzione all'uso del
linguaggio Python. Enthought Canopy. Variabili ed
istruzioni elementari. Cicli. Strutture dati. Moduli. Uso dei
pacchetti matplotlib e numpy.
Un'ampia documentazione su
Python si trova sia on line che su
carta. Si consulti il sito:
http://www.python.it/doc/libri/
2
* Rappresentazione in virgola mobile. I numeri di macchina.
Troncamento ed arrotondamento. Operazioni di macchina.
Cancellazione numerica. Ordine di accuratezza.
G.Naldi, L.Pareschi, G.Russo,
Introduzione al calcolo scientifico,
McGraw-Hill, 2001.
3
* Algebra lineare numerica. Richiami di algebra lineare:
vettori, matrici, determinanti, matrice inversa. Norme di
vettore e norme di matrice. Norme naturali e loro
rappresentazione. Autovalori. Raggio spettrale e sue
proprietà. Alcune matrici particolari.
4
* Metodi diretti per la risoluzione dei sistemi lineari: sistemi
triangolari, metodo di eliminazione di Gauss, pivoting.
Fattorizzazioni A=LU e PA=LU.
5
Metodi compatti, fattorizzazione di Choleski e loro
implementazione in python. Condizionamento di un
sistema lineare. Numeri di condizionamento. Matrici sparse
e loro rappresentazione.
6
* Metodi iterativi per la soluzione di sistemi lineari: metodi di
Jacobi, metodo di Gauss-Siedel e metodo SOR. Criteri
d'arresto.
7
Metodi iterativi per punti e per blocchi (cenni).
Decomposizione in valori singolari (cenni).
8
* Autovalori ed autovettori: richiami. Localizzazione degli
autovalori: i teoremi di Gershgorin-Hadamard. Calcolo degli
autovalori: il metodo delle potenze, ed il metodo delle
potenze inverse.
9
* Approssimazione di funzioni e dati. Interpolazione
polinomiale. Forma di Lagrange. Operatore lineare di
interpolazione. Calcolo del polinomi di interpolazione.
Formula di Newton delle differenze divise.
10 * Il resto dell'interpolazione nelle forme di Lagrange e di
Newton.
11
Polinomi di Chebyshev: formula ricorsiva, zeri, proprietà di
minima norma.
12 * Teorema di Weierstrass sulla approssimazione di una
funzione continua mediante polinomi (enunciato).
13
Polinomi di Bernstein. Problema della convergenza di una
successione di schemi interpolatori.
14 * Interpolazione mediante polinomi a tratti. Funzioni spline.
15
Calcolo delle spline cubiche.
16 * Metodo dei minimi quadrati e applicazioni. Equazioni
normali e loro interpretazione geometrica.
17 * Soluzione di equazioni non lineari. Concetti generali.
Metodi di bisezione, delle secanti e di Newton. Teoria
generale dei metodi iterativi per equazioni non lineari e
problemi di punto fisso. Ordine di convergenza. Criteri
d'arresto.
18
Metodo di Aitken per metodi di ordine di convergenza uno
e due.
19 * Formule di quadratura. Integrali pesati. Forma generale di
una formula di quadratura. Ordine polinomiale. Formule
interpolatorie.
20
Teorema di convergenza. Formule di Newton-Cotes.
Formule Gaussiane.
21 * Formule composite: trapezi e Simpson.
22
Metodo di Romberg. Quadratura adattiva (cenni).
* Conoscenze minime irrinunciabili per il superamento dell'esame.
N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non
sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente
alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.
MATERIALE DIDATTICO
La maggior parte degli algoritmi illustrati durante il corso si trova in rete, nella cartella disponibile al
seguente link:
Esempi di codici Python
Esempi di domande o di esercizi
Esempi di temi d'esame utilizzati negli anni precedenti si trovano in rete ai seguenti link:
Scritti Calcolo Numerico A.A. 2012-14
Scritti Calcolo Numerico A.A. 2014-15
PROVA D'ESAME
MODALITÀ D'ESAME
L'esame consiste in una prova pratica ed una prova orale.
Si può accedere all'esame orale solo dopo il superalmento della prova pratica.
La prova pratica consiste nella risoluzione al calcolarore di alcuni esercizi proposti entro un tempo
stabilito dal docente e comunque non superiore alle tre ore.
Il superamento della prova pratica permette di accedere alla prova orale nella stessa sessione o anche in
una sessione successiva, nell'arco di un anno.
DATE D'ESAME
Le prossime prove d'esame avverranno nelle seguenti date (salvo avviso contrario, la data si riferisce alla
prova scritta; le prove orali iniziano di norma il giorno dopo)
12 Settembre 2016: prova orale per chi ha superato la prova scritta/pratica nelle sessioni precedenti.
13 Settembre 2016
29 Settembre 2016
27 Ottobre 2016 (per i fuori corso)
31 Gennaio 2017
21 Febbraio 2017
4 Aprile 2017 (per i fuori corso)
13 Giugno 2017
11 Luglio 2017
12 Settembre 2017
3 Ottobre 2017
5 Dicembre 2017 (per i fuori corso)
PROVE IN ITINERE
Non sono previste prove in itinere.
PROVE DI FINE CORSO
Vedi: modalità d'esame
ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI
Le prove scritte assegnate negli ultimi appelli possono essere trovate ai seguenti indirizzi:
https://www.dropbox.com/sh/h720qqrnmx62xu2/AAACD3ltNQDU4Q14grvfpVF5a?dl=0
https://www.dropbox.com/sh/gsjcncqfik0yjge/AABUa4NxEgnHT6gfzsb5Txena?dl=0