Analisi Numerica
Un manuale completo sulla teoria e sull'applicazione delle tecniche di approssimazione numerica. Copre i prerequisiti matematici, l'analisi degli errori, la risoluzione di equazioni, l'interpolazione e le soluzioni numeriche alle equazioni differenziali.
Panoramica del corso
📚 Riepilogo del contenuto
Un manuale completo sulla teoria e sull'applicazione delle tecniche di approssimazione numerica. Copre prerequisiti matematici, analisi degli errori, soluzioni di equazioni, interpolazione e soluzioni numeriche di equazioni differenziali.
Padroneggia l'arte e la scienza delle moderne tecniche di approssimazione numerica.
Autore: Richard L. Burden, J. Douglas Faires
Ringraziamenti: Sostenuto dall'Università Youngstown State e da contributi di John Carroll (Dublin City University) e vari assistenti studenteschi come Mario Sracic.
🎯 Obiettivi didattici
- Applicare il Teorema del Valore Intermedio e il Teorema di Rolle per dimostrare esistenza e unicità delle soluzioni.
- Costruire polinomi di Taylor e utilizzare i termini del resto per stabilire limiti rigorosi di errore nelle approssimazioni numeriche.
- Distinguere tra aritmetica per arrotondamento e per taglio e calcolare errori assoluti e relativi nei sistemi a virgola mobile.
- Applicare i metodi della Bisezione, Punto Fisso, Newton, Secante e Posizione Falsa per approssimare radici.
- Analizzare l'ordine di convergenza e i limiti di errore per diversi metodi iterativi.
- Utilizzare i metodi di Aitken \Delta^2 e di Steffensen per accelerare la convergenza di sequenze lineari.
- Enunciare e spiegare il Teorema di Weierstrass sull'approssimazione e le sue implicazioni per l'approssimazione di funzioni.
- Costruire polinomi interpolanti Lagrange, Newton con differenze divise e Hermite per insiemi di dati dati.
- Applicare il Metodo di Neville per generare in modo iterativo approssimazioni polinomiali.
- Derivazione e applicazione di formule di differenziazione numerica (a tre punti) e stima dell'errore.
🔹 Lezione 1: Preliminari matematici e analisi degli errori
Panoramica: Questa lezione stabilisce il ponte fondamentale tra il calcolo teorico e la computazione numerica pratica. Riprende teoremi essenziali del calcolo usati per stimare gli errori – come il Teorema di Taylor e il Teorema del Valore Medio – prima di passare ai vincoli dell'aritmetica computerizzata. Gli studenti impareranno a quantificare gli errori, identificare le cause della perdita di precisione (come l'annullamento dei cifre significative) e valutare l'efficienza degli algoritmi usando la notazione Big Oh.
Risultati dell'apprendimento:
- Applicare il Teorema del Valore Intermedio e il Teorema di Rolle per dimostrare esistenza e unicità delle soluzioni.
- Costruire polinomi di Taylor e utilizzare i loro termini del resto per stabilire limiti rigorosi di errore nelle approssimazioni numeriche.
- Distinguere tra aritmetica per arrotondamento e per taglio e calcolare errori assoluti e relativi nei sistemi a virgola mobile.
🔹 Lezione 2: Soluzioni di equazioni in una variabile
Panoramica: Questa lezione esplora tecniche numeriche per trovare gli zeri di una funzione f(x) = 0, un problema fondamentale nel calcolo scientifico. Copre un progressivo sviluppo di metodi che vanno dal robusto ma lento metodo della Bisezione a quelli rapidamente convergenti come quello di Newton e le sue varianti (Secante, Posizione Falsa). Inoltre, la lezione affronta argomenti avanzati come l'analisi degli errori nella convergenza iterativa, tecniche per gestire radici multiple e algoritmi specializzati per polinomi come quelli di Müller e Horner.
Risultati dell'apprendimento:
- Applicare i metodi della Bisezione, Punto Fisso, Newton, Secante e Posizione Falsa per approssimare radici.
- Analizzare l'ordine di convergenza e i limiti di errore per diversi metodi iterativi.
- Utilizzare i metodi di Aitken \Delta^2 e di Steffensen per accelerare la convergenza di sequenze lineari.
🔹 Lezione 3: Interpolazione e approssimazione polinomiale
Panoramica: Questa lezione esplora i metodi per approssimare funzioni continue tramite polinomi algebrici. Partendo dalla base teorica del Teorema di Weierstrass sull'approssimazione, il contenuto procede attraverso forme Lagrange e Newton dell'interpolazione, il metodo iterato di Neville e i polinomi di Hermite. La lezione si conclude con l'interpolazione spline cubica e le curve parametriche, dimostrando come i polinomi a tratti evitino i problemi di oscillazione tipici dei polinomi globali di alto grado in applicazioni pratiche come il fitting di curve.
Risultati dell'apprendimento:
- Enunciare e spiegare il Teorema di Weierstrass sull'approssimazione e le sue implicazioni per l'approssimazione di funzioni.
- Costruire polinomi interpolanti Lagrange, Newton con differenze divise e Hermite per insiemi di dati dati.
- Applicare il Metodo di Neville per generare in modo iterativo approssimazioni polinomiali.
🔹 Lezione 4: Differenziazione e integrazione numerica
Panoramica: Questa lezione copre l'approssimazione numerica di derivate ed integrali, essenziali per risolvere problemi matematici dove soluzioni analitiche sono difficili o impossibili da ottenere. Gli studenti esploreranno la differenziazione ad alta accuratezza tramite formule a tre punti e l'estrapolazione di Richardson, progrediranno verso tecniche di integrazione di Newton-Cotes (regole del trapezio e di Simpson), e padroneggeranno metodi avanzati di quadratura come Romberg, Quadratura Adattiva e Quadratura Gaussiana. Lo spettro si conclude con il trattamento numerico di integrali doppi e integrali impropri.
Risultati dell'apprendimento:
- Derivazione e applicazione di formule di differenziazione numerica (a tre punti) e stima dell'errore.
- Implementazione dell'estrapolazione di Richardson per aumentare l'ordine di accuratezza delle approssimazioni numeriche.
- Applicazione di regole di integrazione numerica composte e di quadratura adattiva per gestire variazioni complesse di funzioni.
🔹 Lezione 5: Problemi ai valori iniziali per equazioni differenziali ordinarie
Panoramica: Questa lezione copre l'approssimazione numerica delle soluzioni ai problemi ai valori iniziali (IVP). Si inizia con le basi teoriche di ben postura e della condizione di Lipschitz, quindi si passa ai metodi elementari come quello di Eulero fino ai metodi avanzati inclusi Runge-Kutta, metodi multistep, estrapolazione e analisi della stabilità. Infine, si affrontano scenari specializzati che coinvolgono sistemi di equazioni differenziali e le sfide uniche poste dalle equazioni stiff.
Risultati dell'apprendimento:
- Determinare se un IVP è ben posto usando la condizione di Lipschitz e i teoremi di esistenza e unicità.
- Implementare e analizzare l'errore di metodi a un passo (Eulero, Taylor, Runge-Kutta) e metodi multistep (Adams-Bashforth, Adams-Moulton).
- Applicare tecniche adattive (Runge-Kutta-Fehlberg, passo variabile) ed estrapolazione per risolvere ODE entro tolleranze di errore specifiche.
🔹 Lezione 6: Metodi diretti per la risoluzione di sistemi lineari
Panoramica: Questa lezione copre gli approcci algoritmici sistematici per risolvere sistemi di equazioni lineari, passando dalla semplice eliminazione gaussiana alle avanzate tecniche di fattorizzazione matriciale. Gli studenti esploreranno strategie per mantenere la stabilità numerica attraverso il pivotaggio, analizzeranno proprietà algebriche delle matrici (inversione, determinanti) e implementeranno fattorizzazioni specializzate (LU, LDL^t, Cholesky e Crout) per un calcolo efficiente in contesti ingegneristici e scientifici.
Risultati dell'apprendimento:
- Eseguire l'eliminazione gaussiana con sostituzione retrograda e valutare la sua complessità operativa.
- Implementare strategie di pivotaggio parziale e pivotaggio parziale scalato per minimizzare l'errore di arrotondamento.
- Calcolare inversi e determinanti matriciali usando operazioni riga e cofattori.
🔹 Lezione 7: Tecniche iterative nell'algebra matriciale
Panoramica: Questa lezione copre il passaggio dai metodi diretti a quelli iterativi per risolvere grandi sistemi di equazioni lineari. Si concentra sul misurare grandezze di vettori e matrici tramite norme, determinare criteri di convergenza tramite raggio spettrale e implementare algoritmi iterativi fondamentali come Jacobi, Gauss-Seidel e Successive Over-Relaxation (SOR). Inoltre, si affronta la stabilità numerica tramite miglioramento iterativo, limiti di errore e il metodo altamente efficiente del Gradiente Coniugato potenziato da precondizionamento.
Risultati dell'apprendimento:
- Calcolare norme di vettori e matrici (l_2 e l_\infty) e determinare il raggio spettrale di una matrice per valutare la convergenza.
- Implementare e confrontare i metodi iterativi di Jacobi, Gauss-Seidel e SOR per risolvere A\mathbf{x} = \mathbf{b}.
- Stimare limiti di errore usando numeri di condizionamento e applicare il miglioramento iterativo per migliorare l'accuratezza delle soluzioni approssimate.
🔹 Lezione 8: Teoria dell'approssimazione
Panoramica: Questa lezione esplora metodi per approssimare funzioni e insiemi di dati quando rappresentazioni esatte sono non disponibili o computazionalmente impraticabili. Ci concentriamo su minimizzare l'errore tramite Minimi Quadrati Discreti, sfruttando l'efficienza dei Polinomi Ortogonali e di Chebyshev, e estendiamo queste tecniche a Approssimazioni Razionali e Trigonometriche, culminando nell'efficiente algoritmo Fast Fourier Transform (FFT).
Risultati dell'apprendimento:
- Costruire e risolvere le equazioni normali per approssimazioni lineari e polinomiali ai minimi quadrati discreti.
- Generare basi di polinomi ortogonali tramite il processo di Gram-Schmidt per evitare sistemi mal condizionati.
- Applicare polinomi di Chebyshev per minimizzare l'errore massimo di interpolazione e eseguire l'economia polinomiale.
🔹 Lezione 9: Approssimazione degli autovalori
Panoramica: Questa lezione si concentra sulle tecniche numeriche per approssimare autovalori, superando le radici simboliche dei polinomi caratteristici che spesso risultano computazionalmente costose o impossibili da trovare per matrici grandi. Gli studenti impareranno a localizzare autovalori nel piano complesso usando il Teorema dei Cerchi di Geršgorin, applicare tecniche iterative come il Metodo della Potenza e il Metodo della Potenza Inversa per autovalori dominanti e specifici, e utilizzare trasformazioni strutturali (Householder e QR) e Decomposizione ai Valori Singolari (SVD) per un'analisi completa della matrice.
Risultati dell'apprendimento:
- Localizzare autovalori nel piano complesso usando il Teorema dei Cerchi di Geršgorin.
- Implementare il Metodo della Potenza e il Metodo della Potenza Inversa con accelerazione di Aitken per trovare autovalori dominanti e spostati.
- Ridurre matrici simmetriche a forma tridiagonale usando il Metodo di Householder e trovare tutti gli autovalori tramite l'Algoritmo QR.
🔹 Lezione 10: Soluzioni numeriche di sistemi non lineari di equazioni
Panoramica: Questa lezione copre il passaggio dal trovare radici in una variabile alla risoluzione di sistemi di equazioni non lineari, dove l'obiettivo principale è trovare un vettore \mathbf{x} tale che \mathbf{F}(\mathbf{x}) = \mathbf{0}. Esploriamo l'iterazione del punto fisso per più variabili, il metodo di Newton basato sulla matrice Jacobiana, metodi quasi-Newton efficienti dal punto di vista computazionale (in particolare Broyden), e tecniche robuste come il Metodo del Discesa Più Ripida e Homotopy/Continuazione per trovare approssimazioni iniziali o gestire sistemi dove i metodi standard falliscono.
Risultati dell'apprendimento:
- Definire e applicare l'iterazione del punto fisso per funzioni di diverse variabili e determinare i criteri di convergenza usando il Teorema 10.6.
- Costruire la matrice Jacobiana per un sistema non lineare e implementare il metodo di Newton per raggiungere convergenza quadratica.
- Eseguire il metodo di Broyden usando la formula di Sherman-Morrison per aggiornare in modo efficiente l'inversa della Jacobiana.
🔹 Lezione 11: Problemi ai valori al contorno per equazioni differenziali ordinarie
Panoramica: Questa lezione copre la soluzione numerica di problemi ai valori al contorno (BVP) del secondo ordine, in cui le condizioni sono imposte in punti diversi, a differenza dei problemi ai valori iniziali. Gli studenti impareranno a trasformare i BVP in sistemi risolvibili usando i metodi Shooting lineari e non lineari, approssimazioni discrete tramite metodi delle differenze finite e tecniche variazionali tramite il Metodo di Rayleigh-Ritz. Questi metodi sono essenziali per risolvere problemi reali in ingegneria strutturale (deflessione di travi) e fisica (potenziale elettrostatico).
Risultati dell'apprendimento:
- Applicare il Teorema 11.1 per determinare esistenza e unicità delle soluzioni per problemi ai valori al contorno.
- Convertire un BVP del secondo ordine in una coppia di problemi ai valori iniziali (IVP) usando il metodo Shooting lineare.
- Implementare il metodo di Newton per risolvere iterativamente problemi Shooting non lineari.
🔹 Lezione 12: Soluzioni numeriche di equazioni differenziali parziali
Panoramica: Questa lezione copre l'approssimazione numerica delle soluzioni delle tre principali classi di equazioni differenziali parziali (PDE): Ellittiche, Paraboliche e Iperboliche. Usando il metodo delle differenze finite, gli studenti impareranno a discretizzare domini continui in griglie mesh e trasformare operatori differenziali in sistemi algebrici di equazioni. I principali settori di attenzione includono la stabilità dei metodi dipendenti dal tempo (Differenza Avanti vs. Crank-Nicolson) e la soluzione iterativa di sistemi in stato stazionario (Poisson e Laplace).
Risultati dell'apprendimento:
- Discretizzare domini spaziali e temporali usando griglie a differenze finite per diversi tipi di PDE.
- Applicare metodi Forward-Difference, Backward-Difference e Crank-Nicolson per risolvere equazioni di calore paraboliche valutando vincoli di stabilità.
- Costruire e risolvere sistemi lineari derivati da equazioni ellittiche (Poisson/Laplace) e da equazioni d'onda iperboliche.