PROGRAMMA DEL CORSO DI
CALCOLO NUMERICO E PROGRAMMAZIONE

CORSO DI LAUREA IN CHIMICA - A.A. 1997/98
DOCENTE: GIUSEPPE RODRIGUEZ

1.
Analisi degli errori. Problemi ben posti. Condizionamento di un problema. Valutazione di un algoritmo in termini di stabilità, complessità computazionale ed occupazione di memoria. Errore assoluto e relativo. Numeri di macchina. Rappresentazione in virgola mobile normalizzata. Overflow, underflow, arrotondamento. Precisione di macchina. Operazioni di macchina. Cancellazione e smearing.
2.
Richiami di Algebra Lineare. Spazi lineari, indipendenza lineare, basi e dimensione. Spazi normati. Equivalenza delle norme. Spazi di Hilbert, prodotti interni e norme indotte. Ortogonalità. Operazioni su matrici. Determinanti. Matrici con struttura particolare. Autovalori ed autovettori. Principali norme vettoriali. Norme matriciali indotte. Relazione tra il raggio spettrale ed una norma matriciale. Sistemi lineari. Sistemi sovradeterminati e sottodeterminati.

3.
Sistemi lineari. Sistemi triangolari. Algoritmo di Gauss con pivoting di colonna. Fattorizzazione LU mediante l'algoritmo di Gauss. Calcolo del determinante e dell'inversa di una matrice. Condizionamento di un sistema lineare. Fattorizzazione di Cholesky. Matrici elementari di Householder. Fattorizzazione QR col metodo di Householder. Matrici test. Risoluzione nel senso dei minimi quadrati di sistemi lineari sovradeterminati. Equazioni normali. Risoluzione mediante l'algoritmo di Cholesky e la fattorizzazione QR di Householder. Matrice pseudo-inversa.

4.
Equazioni non lineari. Condizionamento del problema. Il metodo di bisezione. Analisi della convergenza. Il metodo di Newton. Condizione necessaria e sufficiente per la convergenza. Ordine di convergenza e costante asintotica dell'errore. Metodi quasi-Newton: corde e secanti. Criteri di stop. Iterazioni di punto fisso. Funzioni contrattive. Condizione sufficiente per la convergenza e condizione necessaria e sufficiente per la convergenza quadratica. Comportamento del metodo di Newton in presenza di radici multiple. Applicazione del metodo di Newton a sistemi di equazioni non lineari.

5.
Interpolazione ed approssimazione. Formulazione generale del problema. Condizione di unisolvenza. Esistenza ed unicità del polinomio interpolante. Polinomio interpolante nella forma di Lagrange. Valutazione dell'errore di interpolazione. Condizioni per la convergenza a zero dell'errore. I nodi di Chebychev. Espressione trigonometrica dei polinomi di Chebychev. Formula di Neville. Polinomio interpolante nella forma di Newton. Differenze divise. Migliore approssimazione polinomiale nel senso dei minimi quadrati.

6.
Integrazione numerica. Formule di quadratura. Precisione algebrica. Metodo dei coefficienti indeterminati. Formule di quadratura interpolatorie. Formule di Newton-Cotes aperte e chiuse. Formule elementari e composte. Formule dei trapezi, del punto medio e di Simpson. Integrali con singolarità. Errori nelle formule di quadratura interpolatorie. Il caso particolare della formula dei trapezi elementare e composta. Polinomi ortogonali: definizione e principali proprietà. Formule di integrazione Gaussiane. La trasformata di Fourier discreta (DFT) e la sua inversa. Rappresentazione matriciale della DFT. Calcolo approssimato dei coefficienti di Fourier di una funzione e valutazione della serie di Fourier. Approssimazione della trasformata di Fourier.

7.
Equazioni differenziali ordinarie. Formulazione del problema di Cauchy in forma vettoriale. Soluzioni locali e globali. Lipschitzianità. Equazioni differenziali di ordine p. Metodi alle differenze finite. Costruzione di alcune formule mediante l'approssimazione della derivata con un rapporto incrementale. Metodi monostep e multistep. Metodi espliciti ed impliciti. Costruzione di alcune formule mediante trasformazione del problema di Cauchy in un problema di integrazione e successiva quadratura numerica. Errore globale ed errore locale di discretizzazione. Consistenza. Ordine di convergenza. Errore di propagazione. Stabilità. I metodi di Runge-Kutta. Costruzione delle formule del second'ordine esplicite. Espressione di una particolare formula di ordine 3 e di una di ordine 4. Metodi impliciti: condizione sul passo di integrazione che garantisce la contrattività. Schema predictor-corrector. Analisi del metodo di Eulero: calcolo dell'errore globale di discretizzazione e dell'errore di arrotondamento. Passo ottimale di integrazione. Stima adattiva del passo di integrazione.

8.
Calcolo di autovalori. Equazione caratteristica. Molteplicità algebrica e geometrica di un autovalore. Matrice compagna associata ad un polinomio monico. Calcolo degli zeri di un polinomio. Relazione di similitudine tra matrici. Diagonalizzabilità. Fattorizzazione spettrale. La forma canonica di Schur. Condizionamento del problema degli autovalori. Il metodo QR per il calcolo degli autovalori di una matrice. Il sistema singolare associato ad una matrice e la decomposizione ai valori singolari (SVD).

9.
Programmazione. Cenni sull'organizzazione interna di un calcolatore. Algoritmi e mappe strutturali. Struttura di un programma. Variabili scalari ed arrays. Strutture per il controllo del flusso dell'elaborazione. Matlab: Gestione dell'ambiente di lavoro. Variabili reali e complesse. Strutture di controllo. Operatori aritmetici e logici. Operatori e funzioni vettoriali e matriciali. Funzioni per la generazione di arrays. Istruzioni di visualizzazione grafica in due dimensioni. Programmazione: scripts e functions. Parametri di ingresso e uscita di una funzione, variabili locali. Risoluzione di sistemi lineari, fattorizzazioni matriciali e calcolo di autovalori e autovettori. La decomposizione ai valori singolari (svd). Uso delle funzioni fft, ifft e fftshift. Input/output di dati su file in formato ASCII e binario. Fortran 77: Incolonnamento delle istruzioni. Compilazione e linking di un programma. Dichiarazione delle variabili. Costanti. Istruzioni di input/output guidate da lista. Strutture di controllo. Etichette. Dichiarazione di parametri e inizializzazione delle variabili. Cenni sulla memorizzazione degli arrays. Liste a do implicito per l'input/output di arrays. Funzioni intrinseche. Funzioni esterne. Subroutines. Passaggio di arrays come parametri. Output formattato: l'istruzione format. Input/output su file sequenziali formattati.

Riferimenti bibliografici

1
A. Quarteroni. Elementi di Calcolo Numerico. Progetto Leonardo, Ed. Esculapio, Bologna, 1995.

2
V. Comincioli. Analisi Numerica Metodi Modelli Applicazioni. McGraw-Hill, Milano, 1990.


Giuseppe Rodriguez
rodriguez@unica.it