Corso di matematica propedeutica alla fisica: 14 – Elementi di calcolo numerico
14. Elementi di calcolo numerico
Obiettivo didattico: introdurre i principali metodi numerici per l’approssimazione, la soluzione di equazioni e sistemi lineari/non lineari, la integrazione numerica di ODE/PDE e mostrare applicazioni fisiche rilevanti (fluidodinamica, termodinamica, dinamica molecolare, calcolo orbitale).
1. Concetti fondamentali: errore, ordine, stabilità
-
Errore assoluto: se è il valore esatto e la stima, l’errore assoluto è .
-
Errore relativo: (se ).
-
Ordine di un metodo: un metodo ha errore locale proporzionale a e errore globale proporzionale a ; si dice che è di ordine .
-
Stabilità numerica: riguarda la propagazione degli errori (es. per integrazione temporale). Un metodo può essere condizionatamente stabile (richiede un passo abbastanza piccolo) o incondizionatamente stabile.
-
Condizionamento del problema: anche con algoritmo perfetto, problemi mal condizionati amplificano piccoli errori nei dati.
2. Metodi di approssimazione e interpolazione
2.1 Interpolazione polinomiale (Lagrange)
Dato un insieme di punti , esiste un polinomio unico di grado che interpola. La forma di Lagrange:
Errore di interpolazione (per ):
2.2 Interpolazione spline
Spline cubiche a tratti forniscono approssimazioni più stabili rispetto a polinomi di alto grado; sono due volte differenziabili e usano condizioni di continuità ai nodi.
3. Risoluzione numerica di equazioni non lineari
Obiettivo: trovare radici di .
3.1 Metodo della bisezione (robusto, ordine 1)
Dati con , iterare:
Dopo iterazioni l’errore è .
Esempio numerico
Risolvere su :
-
, → cambia segno.
-
Primo passo: , → nuovo intervallo .
-
Dopo 10 iterazioni l’errore .
3.2 Newton–Raphson (veloce, ordine 2)
Iterazione:
Convergenza quadratica vicino alla radice se .
Esempio numerico
Usiamo , . Scegli :
-
.
-
→ converge rapidamente alla .
Nota: richiede derivata e buona inizializzazione; può divergere se è piccolo.
3.3 Metodo delle secanti (senza derivata, ordine )
4. Sistemi lineari
4.1 Eliminazione di Gauss (diretto)
Riduzione a matrice triangolare e sostituzione all’indietro. Complessità .
Esempio numerico (3×3):
Risultato noto: . (Passaggi: pivoting, sottrazioni riga, back-substitution — omessi per brevità ma facilmente riportabili in esercitazione.)
4.2 Fattorizzazione LU
Si scrive con unit lower, upper; poi si risolvono e .
4.3 Metodi iterativi (Jacobi, Gauss–Seidel, SOR)
Per sistemi sparsi o grandi; condizioni di convergenza legate al raggio spettrale della matrice iterativa.
-
Jacobi: .
-
Gauss–Seidel: usa componenti aggiornate immediatamente, solitamente più rapido.
-
Convergenza: garantita se è strettamente diagonalmente dominante o simmetrica definita positiva.
5. Integrazione numerica di ODE ordinarie
Problema iniziale: .
5.1 Metodo di Eulero esplicito (ordine 1)
Semplice ma condizionatamente stabile; passo deve essere piccolo per accuratezza.
Esempio (oscillatore armonico non smorzato):
Con , , , scelta :
-
.
-
.
-
Questo Eulero esplicito presenta dissipazione/numerical damping non fisico per non molto piccolo.
5.2 Metodo di Runge–Kutta quarto ordine (RK4, ordine 4)
Passo di aggiornamento:
Molto usato per la sua efficienza e accuratezza.
Esempio numerico (lo stesso oscillatore): con RK4 fornisce approssimazioni molto vicine alla soluzione esatta , con errore dell’ordine .
5.3 Metodi impliciti (Backward Euler, trapezio implicito)
Metodi impliciti sono più stabili per equazioni rigide (stiff): es. Backward Euler
richiede risoluzione non lineare ad ogni passo (Newton).
6. Metodi per PDE (introduzione)
Consideriamo la equazione del calore (parabolica) in 1D:
Discretizziamo spazio , tempo , .
6.1 Schema FTCS (Forward in time, Centered in space) — esplicito
Condizione di stabilità (CFL): per stabilità si richiede (in 1D).
6.2 Schema implicito (Backward Euler) — stabile ma richiede soluzione lineare
Produrrà un sistema tridiagonale risolvibile efficientemente (Thomas algorithm).
6.3 Crank–Nicolson (ordine 2 in tempo e spazio)
Media tra esplicito e implicito:
Schema non condizionatamente stabile ma numericamente ottimo (A-stable e di ordine 2).
7. Errori, convergenza e analisi di stabilità
-
Errore locale di truncamento: misura quanto si sbaglia passando dall’equazione continua allo schema discreto in un singolo passo.
-
Convergenza: uno schema è convergente se l’errore globale tende a zero quando (o ).
-
Analisi von Neumann: uso di Fourier modes per stabilità lineare di schemi numerici; si ricerca che il fattore di amplificazione soddisfi .
8. Metodi speciali usati in applicazioni fisiche
8.1 Dinamica molecolare — integratori (Verlet)
Equazioni di Newton . Integratore di Verlet (symplectic) molto usato:
-
Conserva meglio l’energia su lungo periodo rispetto a metodi non symplectic (importante in simulazioni di sistemi Hamiltoniani).
8.2 Integrazione di orbite — metodi symplectici
Per problemi gravitazionali a lungo termine (es. simulazione del Sistema Solare), si usano integratori symplectici (Leapfrog, Stormer–Verlet, Yoshida schemes) che preservano la struttura geometrica e aumentano stabilità energetica su tempi lunghi.
8.3 Fluidodinamica numerica (CFD)
-
Discretizzazione: finite difference, finite volume o finite element.
-
Equazioni: Navier–Stokes (non lineari), richiedono solver robusti (implicit/explicit), trattamenti di pressione (projection methods, SIMPLE).
-
CFL condition (per schemi espliciti): (dipende dallo schema) — garantisce stabilità rispetto all’advection.
9. Esempi numerici svolti
9.1 Newton per radice (già mostrato): convergenza quadratica, pochi iter.
9.2 Sistema lineare semplice con Gauss
Risolvere
Eliminazione:
-
→ nuova matrice, poi back-substitution produce , .
9.3 Integrazione ODE con RK4 (dettagli)
Problema: . Soluzione esatta .
Con passo singolo RK4:
-
.
-
.
-
(valori approssimati),
-
.
-
.
Soluzione esatta a : . RK4 mostra ottima accuratezza.
9.4 Heat equation FTCS (esempio numerico)
Take domain , , , quindi . Per stabilità scegliere se vogliamo . Calcoli iterativi aggiornano con formula FTCS; visualizzare profilo temperatura nel tempo dimostra diffusione e smoothing.
10. Linee guida pratiche e suggerimenti di implementazione
-
Verifica con problemi noti: confronta risultati con soluzioni analitiche quando disponibili.
-
Convergenza e mesh refinement: esegui studi di convergenza riducendo e misurando il comportamento dell’errore.
-
Scelta del metodo: per problemi stiff usare metodi impliciti; per Hamiltoniani usare metodi symplectici.
-
Prestazioni: sfrutta strutture sparse, fattorizzazioni e solver iterative per grandi sistemi.
-
Controllo dell’errore adattativo: integra con step adattativi (es. Runge–Kutta–Fehlberg) per mantenere tolleranza desiderata.
-
Stabilità numerica: controlla CFL e condizioni di stabilità specifiche per lo schema e il problema.
-
Documentazione e test: mantieni test automatizzati e validazione fisica dei risultati.
11. Bibliografia e risorse consigliate (italiano e internazionale)
-
A. Quarteroni, R. Sacco, F. Saleri, Numerical Mathematics, (trad. italiana o testi equivalenti) — testo completo su metodi numerici.
-
R.L. Burden, J.D. Faires, Numerical Analysis — classico introduttivo.
-
J.W. Thomas, Numerical Partial Differential Equations — finite difference/volume methods.
-
E. Hairer, S.P. Nørsett, G. Wanner, Solving Ordinary Differential Equations I & II — teoria e metodi (stiff, symplectic).
-
D. T. Greenwood, Principles of Dynamics — per integrazione di moti e metodi numerici in meccanica (capitoli su integratori).
-
Le guide/lecture notes di università (appunti su Runge–Kutta, Crank–Nicolson, Thomas algorithm) per esempi implementativi.
.jpeg)
Commenti
Posta un commento