Calcolo Numerico (C.d.S. Informatica (L)) A.A.2010/11
(1^ semestre, 2^ anno)
Esame: scritto e/o orale)
Crediti: 6
Docente: Giulio Casciola
Scopo
Dare i fondamenti del calcolo numerico.
Contenuto
Numeri finiti e aritmetica floating point;
funzioni polinomiali; interpolazione e approssimazione minimi quadrati;
integrazione numerica; equazioni non lineari;
sistemi lineari: metodi diretti e metodi iterativi; calcolo degli
autovalori e autovettori di una matrice;
Il corso prevede un'attività di laboratorio (facoltativa)
in cui si utilizza il sistema MATLAB/Octave.
Testi Consigliati
- J.Stoer, R.Bulirisch, Introduction to Numerical Analisysy,
(second edition) Springer Verlag (1997)
- D.Bau, N.Trefethen, Numerical linear algebra, SIAM (1998)
- R.Bevilacqua, D.Bini, M.Capovani, O.Menchi, Metodi numerici,
Zanichelli (1992)
- I.D.Faux, M.J.Pratt, Computational Geometry for Design and
Manufacture, John Wiley & Sons (1979)
Altri testi in italiano
- V.Comincioli, Analisi Numerica Metodi Modelli Applicazioni,
McGraw-Hill Libri Italia, (1995)
- I. Galligani, Elementi di Analisi Numerica, Calderini (1986)
- F.Fontanella, A.Pasquali, Calcolo Numerico, Vol.I e II,
Pitagora Editrice Bologna (1985)
Orario delle Lezioni
- Le lezioni inizieranno il 5 ottobre 2010 con il seguente orario:
Lunedi' ore 08:30-11:30 Aula A-Medicina Legale
Martedi' ore 15:30-17:30 Aula A-Medicina Legale
Lezioni e Argomenti trattati
- Ma.05/10/10, ore 15.30-18.30: Aula A-Medicina Legale
Introduzione e informazioni sul corso (proiettati lucidi).
Dispensa:
I Numeri Finiti e l'Aritmetica Floating Point.
(file .pdf)
Numeri Finiti
Richiami sui numeri reali, rappresentazione in base, forma scientifica o normalizzata.
Insieme F dei numeri finiti: base, mantissa, range degli esponenti;
Approssimazione della mantissa per troncamento e arrotondamento.
Rappresentazione di un numero reale nell'insieme dei numeri finiti.
esercizio1:
trovare una formula che esprima il numero di elementi di F(beta,t,lambda,omega);
soluzione
esercizio2:
determinare tutti gli elementi di F(2,3,-1,2); quanti sono?
soluzione
esercizio3:
come sono distribuiti sull'asse reale gli elementi di F(2,3,-1,2)?
soluzione
esercizio4:
realizzare un piccolo codice di calcolo per sommare il numero reale 0.1 10 volte;
verificare l'attendibilitą del risultato.
Memorizzazione dei numeri finiti (segno, esponente e mantissa); esempi.
Cenni su ANSI/IEEE Std 754-1985.
Esercitati su conversione e rappresentazione in memoria.
- Lu.11/10/10, ore 08.30-10.30: Aula A-Medicina Legale
Definizione di errore assoluto e relativo,
definizione di unita' di arrotondamento, teoremi su maggiorazioni dell'errore
assoluto e dell'errore relativo, corollario sulla rappresentazione di fl(a),
caratterizzazione unita' di arrotondamento;
Unita' di arrotondamento in IEEE Basic-Single e Basic-Double
esercizio5:
realizzare un piccolo codice di calcolo per determinare l'unitą di
arrotondamento utilizzando la sua caratterizzazione.
Caratterizzazione di u e arrotondamento ai pari in ANSI/IEEE Std 754.
Precisione di rappresentazione in termini di cifre decimali.
- Ma.12/10/10, ore 15.30-18.30: Aula A-Medicina Legale
Correzione di alcuni esercizi assegnati.
Aritmetica floating point: precisione di calcolo fra numeri finiti;
esercizio6:
verificare che in aritmetica finita non vale la proprieta' associativa dell'addizione.
Analisi degli errori in avanti e all'indietro.
Analisi in avanti per la moltiplicazione di due numeri reali,
analisi in avanti per l'addizione di due reali, cancellazione numerica.
Esempio numerico sulla cancellazione numerica.
esercizio7:
realizzate un piccolo codice che implementi l'esempio numerico visto sulla cancellazione.
Condizionamento di un problema e stabilita' di un algoritmo:
Errore Inerente, Algoritmico e Totale, teorema su E_TOT, E_IN ed E_ALG.
Numero di condizione e stima di E_IN nel caso di
problemi del tipo f:R->R.
- Lu.18/10/10, ore 08.30-10.30: Aula A-Medicina Legale
Stima di E_IN nel caso di
problemi f:R^n->R (ed f:R^n->R^m). Algoritmo stabile e instabile.
Esempi sulle operazioni aritmetiche di moltiplicazione e addizione/sottrazione
fra numeri reali; esempio per sqrt(x_1+x_2) - sqrt(x_1);
problema esempio per la determinazione delle radici di un'eq. di secondo grado.
- Ma.19/10/10, ore 15.30-17.30: Aula A-Medicina Legale
Dispensa:
Interpolazione con Funzioni Polinomiali.
(file .pdf)
Funzioni Polinomiali e Interpolazione
Introduzione al problema dell'interpolazione di dati.
Richiami sui polinomi, valutazione numerica di
un polinomio: metodo di Horner, metodo di Ruffini.
Valutazione numerica della derivata di un polinomio; esempi numerici.
E_IN per la valutazione di un polinomio: esempio
numerico; stima di E_IN in questo caso.
- Lu.25/10/10, ore 08.30-11.30: Aula A-Medicina Legale
Componente di E_IN che dipende dalla rappresentazione e componente
che non dipende dalla rappresentazione.
Polinomi nella base con centro; analisi di E_IN in questa base;
Base dei polinomi di Bernstein su un intervallo;
stesso esempio numerico, ma nella base di Bernstein;
base dei polinomi di Bernstein nell' intervallo [0,1] e loro invarianza
per traslazione e scala; ripreso l'esempio.
Proprieta' dei polinomi base di Bernstein.
Definizione dei polinomi di Bernstein via formula ricorrente, valutazione numerica,
algoritmo che usa formula ricorrente per funzioni base (ALG1), algoritmo di de
Casteljau (ALG2). Complessita' computazionale per gli algoritmi ALG1 e ALG2.
esercizio9:
Realizzare un codice che implementi uno degli algoritmi visti per la valutazione di
un polinomio definito nella base di Bernstein. Si proceda poi ad un suo grafico.
Formula ricorrente per la derivata dei polinomi base di Bernstein;
- Ma.26/10/10, ore 15.30-17.30: Aula A-Medicina Legale
Curve di Bezier e polinomi di Bernstein; applicazioni delle curve di Bezier per fonti
digitali vettoriali e pacchetti software di disegno.
Slide: Le Curve di Bezier.
(file .pdf)
Curve di Bezier (definizione vettoriale, punti di controllo, poligonale di controllo).
Valutazione di una curva con algoritmo di de Casteljau; suddivisione di una
curva di Bezier; algoritmo di de Casteljau ricorsivo per cubiche;
utilizzo di questo algoritmo per la rasterizzazione di curve.
- Ma.02/11/10, ore 15.30-17.30: Aula A-Medicina Legale
Valutazione della derivata di un polinomio di Bernstein;
antiderivata e integrale di polinomi nella base di Berstein.
esercizio10:
Calcolare l'integrale definito fra 0 ed 1 dei polinomi base di Berntein di grado n;
e quello definito fra a e b?
soluzione
Ripreso il problema dell'intepolazione di dati. Intepolazione con funzioni
polinomiali; esistenza e unicita' del polinomio interpolante (matrice di Vandermonde);
interpolazione polinomiale nella base di Newton, Bernstein e Lagrange.
esercizio11:
Determinare il polinomio interpolante nella forma di Lagrange e poi di Newton dei punti (0,0),
(1,1), (2,0) e poi dei punti (0,0), (1,1), (2,2) e confrontarli con quelli visti a lezione.
- Lu.08/11/10, ore 08.30-11.30: Aula A-Medicina Legale
Ripresa forma di Lagrange, esempi, forma baricentrica dei polinomi di Lagrange.
Cenno all'aggiunta di punti di interpolazione (Newton e Lagrange).
Errore di interpolazione polinomiale.
Sulla convergenza dell'interpolante all'aumentare del numero dei punti; esempio test di Runge;
zeri dei polinomi di Chebyshev di grado n+1 e convergenza.
Introduzione all'ambiente Matlab/Octave;
Slide: Octave e Matlab.
(file .pdf)
Demo su Octave; visionati alcuni programmi Matlab/Octave per
la valutazioni e rappresentazione grafica di polinomi base e sull'interpolazione
polinomiale della funzione test di Runge (dimostrazione sulla convergenza o meno di
interpolanti polinomiali all'aumentare dei punti di interpolazione).
Download programmi Matlab/Octave di esempio:
(matlab_cn1011_1.tgz)
- Ma.09/11/10, ore 15.30-17.30: Aula A-Medicina Legale
Funzioni di interpolazione polinomiali a tratti;
interpolazione di Hermite; esempio polinomio cubico nella base di Bernstein;
polinomi cubici a tratti di interpolazione di Hermite di classe C^1 (interpolazione locale);
- Lu.15/11/10, ore 08.30-11.30: Aula A-Medicina Legale
Polinomi cubici a tratti di interpolazione di classe C^2 (spline)(interpolazione globale).
Applicazione di interpolante locale (cubiche di Hermite C^1) per il disegno di curve.
Applicazione di interpolante globale (spline cubiche C^2) per il controllo numerico di un robot.
Dimostrazione in aula mediante programmi test in linguaggio Matlab:
esempi di interpolazione di punti del piano con curve polinomiali a tratti
vettoriali con tensione; esempio di controllo numerico di un robot.
esercizio12:
Modificare il codice Octave/Matlab "an_cubic_hermite_curve.m" per la modifica interattiva di
alcuni punti di interpolazione e ricalcolo dei tratti di Bezier coinvolti.
- Ma.16/11/10, ore 15.30-17.30: Aula A-Medicina Legale
Approssimazione ai minimi quadrati; problema
di determinare il minimo di una funzione quadratica in piu` variabili:
sistema della equazioni normali; caso polinomiale nella base delle potenze.
Retta di regressione lineare nella base delle potenze.
esercizio13:
Ripetere l'esempio fatto a lezione sulla retta di regressione lineare usando la base con
centro 1 e x-c con c media aritmetica delle ascisse assegnate.
Cenno all'utilizzo di polinomi ortogonali sui punti x_i assegnati;
variazione del residuo all'aumentare delle dimesioni dello spazio (esempio su P_n).
- Lu.22/11/10, ore 08.30-11.30: Aula A-Medicina Legale
Dispensa:
Integrazione Numerica.
(file .pdf)
Integrazione Numerica
Formule di Quadratura;
formule interpolatorie polinomiali nella forma di Lagrange su punti equidistanti
(formule di quadratura di Newton-Cotes); caso n=1 (trapezi);
caso n=2 (Simpson); esempio numerico;
errore di integrazione per trapezi e Simpson;
errore di integrazione per n dispari ed n pari.
Formule composte interpolatorie polinomiali a tratti;
formule composte dei trapezi ed errore di integrazione;
formule composte di Simpson ed errore di integrazione.
- Ma.23/11/10, ore 15.30-17.30: Aula A-Medicina Legale
Esercizio ed esempio:
esercizio14:
Determinare il passo di integrazione per contenere l'errore
in una tolleranza fissata nel caso Simpson composto
per il seguente specifico problema: integrazione di 1/(1+x) fra 0 ed 1
con tolleranza 0.5x10^-3.
Estrapolazione di Richardson e formule
adattive per l'approssimazione numerica di un integrale definito ad una
tolleranza fissata: caso trapezi e Simpson.
esercizio15:
Verificare che la formula di estrapolazione di Richardson per Trapezi con
passi h ed h/2 coincide con la formula Simpson composta con h/2.
Applicazione alla lunghezza ed area di una curva piana.
Download programmi Matlab/Octave di esempio:
(matlab_cn1011_2.tgz)
- Lu.29/11/10, ore 08.30-11.30: Aula A-Medicina Legale
Dispensa:
Equazioni non lineari
(file .pdf)
Equazioni non lineari
Metodo di bisezione, ipotesi di applicazione, iterazioni del metodo e test di arresto,
metodo della falsa posizione.
Errore inerente; metodo di Newton: ipotesi di applicazione,
derivazione del metodo, iterazioni del metodo, significato geometrico; teorema di
convergenza al punto fisso di una funzione; interpretazione grafica del teorema di convergenza.
- Ma.30/11/10, ore 15.30-17.30: Aula A-Medicina Legale
Teorema di convergenza del metodo di Newton;
propagazione degli errori nei metodi iterativi funzionali; test di arresto.
Esempio di applicazione della determinazione delle radici di una
equazione polinomiale: l'intersecatore di POV-Ray per superfici implicite.
Sequenza di Sturm per la localizzazione delle radici reali di un'equazione
polinomiale.
- Lu.06/12/10, ore 08.30-11.30: Aula A-Medicina Legale
Esempi: radice quadrata di un numero, inverso di un numero.
Definizione di ordine di convergenza di una successione,
ordine di convergenza quadratica del metodo di Newton per
radici semplici e lineare per radici multiple.
Esempi numerici di applicazione del metodo di Newton.
Metodo delle secanti, teorema di convergenza, ordine di convergenza.
Dispensa:
Algebra Lineare Numerica.
(file .pdf)
Algebra Lineare Numerica
Soluzione di un sistema lineare quadrato: motivazione di
metodi con complessita` computazionale accettabile.
Fattorizzazione LU di una matrice, soluzione del sistema a partire
dalla fattorizzazione LU (sistemi Ly=b ed Ux=y per sostituzioni in avanti
e all'indietro).
- Ma.07/12/10, ore 15.30-17.30: Aula A-Medicina Legale
Metodo di eliminazione di Gauss e matrici elementari di Gauss
per la fattorizzazione LU, complessita' computazionale.
Esempio di fattorizzazione e soluzione di un sistema lineare.
Applicazione della fattorizzazione per il calcolo del
determinante e dell'inversa di una matrice.
Fattorizzazione LU con scambio delle righe (o pivoting parziale);
un esempio numerico.
- Lu.13/12/10, ore 08.30-11.30: Aula A-Medicina Legale
Stabilita` numerica della fattorizzazione LU; fattorizzazione LU
con scambio delle righe e perno massimo.
Richiami su norme vettoriali e norme matriciali; condizionamento del problema Ax=b.
Soluzione di un sistema lineare mediante fattorizzazione QR.
Matrici elementari di Householder.
Metodo di Householder per fattorizzazione QR di matrici rettangolari;
implementazione del metodo; complessita` computazionale; stabilita`.
- Lu.20/12/10, ore 08.30-11.30: Aula A-Medicina Legale
Richiami su: autovalori e autovettori di una matrice, raggio spettrale, polinomio
caratteristico, matrice companion;
matrici simili e trasformazioni per similitudine, matrice diagonalizzabile.
Convergenza di una successione di vettori e risultati preliminari.
Metodi iterativi per la soluzione di sistemi lineari: motivazioni;
decomposizione della matrice e successione di vettori;
teorema di convergenza; condizioni sufficienti per la convergenza.
Test di arresto; complessita' computazionale.
Metodi di Jacobi e Gauss-Seidel.
Download programmi Matlab/Octave di esempio:
(matlab_cn1011_3.tgz)
Sitografia
Modalita' d'Esame
Torna alla
home page di Giulio Casciola