CALCOLO NUMERICO
Anno accademico 2016/2017 - 2° annoCrediti: 6
Organizzazione didattica: 150 ore d'impegno totale, 102 di studio individuale, 48 di lezione frontale
Semestre: 2°
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). |
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.
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
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.
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