A01 128 Ezio Venturino Appunti ragionati di calcolo numerico Copyright © MMIX ARACNE editrice S.r.l. www.aracneeditrice.it [email protected] via Raffaele Garofalo, 133 A/B 00173 Roma (06) 93781065 ISBN 978–88–548–2357–0 I diritti di traduzione, di memorizzazione elettronica, di riproduzione e di adattamento anche parziale, con qualsiasi mezzo, sono riservati per tutti i Paesi. Non sono assolutamente consentite le fotocopie senza il permesso scritto dell’Editore. I edizione: marzo 2009 Per Anna Indice 1 CONCETTI FONDAMENTALI 1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . 1.1.1 Obiettivi del corso . . . . . . . . . . . . . 1.1.2 L’analisi numerica nella scienza . . . . . . 1.1.3 Classificazione dei problemi . . . . . . . . 1.1.4 Problemi lineari e non lineari . . . . . . . 1.2 Il sistema numerico del calcolatore . . . . . . . . . 1.2.1 Sistemi di numerazione . . . . . . . . . . . 1.2.2 Cambiamenti di base di numerazione . . . 1.2.3 Valutazione di polinomi . . . . . . . . . . 1.2.4 Altri sistemi di numerazione . . . . . . . . 1.2.5 Rappresentazione dei numeri in macchina . 1.2.6 Serie . . . . . . . . . . . . . . . . . . . . . 1.2.7 Implementazione del segno . . . . . . . . . 1.3 Errore . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Somme . . . . . . . . . . . . . . . . . . . . 1.3.2 Errore di cancellazione . . . . . . . . . . . 1.3.3 Backward error analysis . . . . . . . . . . 2 PROBLEMI DIRETTI 2.1 Problemi base . . . . . . . . . . . . . 2.1.1 Un problema di interpolazione 2.2 Interpolazione . . . . . . . . . . . . . 2.2.1 Interpolazione di Lagrange . . 2.2.2 Interpolazione di Newton . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 12 15 16 20 20 20 28 29 31 36 37 39 43 43 47 . . . . . 53 53 54 56 56 64 Indice 2.2.3 Interpolazione di Hermite . . . . . . . . 2.2.4 Interpolazione polinomiale a tratti. . . . 2.2.5 Splines . . . . . . . . . . . . . . . . . . . 2.3 Teoria dell’approssimazione . . . . . . . . . . . 2.3.1 Metodo di Frobenius . . . . . . . . . . . 2.3.2 Alcuni risultati importanti . . . . . . . . 2.3.3 Matrice di Hilbert . . . . . . . . . . . . . 2.4 Polinomi ortogonali . . . . . . . . . . . . . . . . 2.4.1 Minimi quadrati nel continuo . . . . . . 2.4.2 Condizionamento di un problema . . . . 2.4.3 Algoritmo di Gram-Schmidt nel discreto 2.4.4 Procedimento di Gram-Schmidt . . . . . 2.4.5 Equioscillazione dell’errore . . . . . . . . 2.4.6 Proprietà dei polinomi di Chebyshev . . 2.5 Quadrature . . . . . . . . . . . . . . . . . . . . 2.5.1 Metodi statistici . . . . . . . . . . . . . . 2.5.2 Metodi numerici classici . . . . . . . . . 2.5.3 Regola di Simpson . . . . . . . . . . . . 2.5.4 Formule di Newton - Cotes . . . . . . . . 2.5.5 Errore asintotico . . . . . . . . . . . . . 2.5.6 Estrapolazione di Aitken . . . . . . . . . 2.5.7 Estrapolazione di Richardson . . . . . . 2.5.8 Implementazione di quadrature . . . . . 2.5.9 Il metodo di Romberg . . . . . . . . . . 2.5.10 Integrazione Gaussiana . . . . . . . . . . 3 PROBLEMI INDIRETTI 3.1 Calcolo di zeri di funzioni . . . . . . 3.1.1 Linearizzazione analitica . . . 3.1.2 Adimensionalizzazione . . . . 3.1.3 Radici di funzioni non lineari 3.1.4 Algoritmo di divisione . . . . 3.1.5 Zeri di funzioni non lineari . . 3.1.6 Bisezione . . . . . . . . . . . 3.1.7 Algoritmo di bisezione . . . . 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 69 72 77 78 79 82 84 84 85 89 92 95 97 99 99 100 103 105 106 106 108 109 110 112 . . . . . . . . 117 117 117 119 122 123 123 124 125 Indice 3.2 3.3 3.4 3.5 3.1.8 Convergenza per bisezione. . . . . . . . . . . 3.1.9 Metodi iterativi . . . . . . . . . . . . . . . . 3.1.10 Convergenza del metodo di Newton . . . . . 3.1.11 Criteri di arresto . . . . . . . . . . . . . . . 3.1.12 Convergenza per il metodo della secante . . 3.1.13 Costruzione di equazioni differenziali . . . . 3.1.14 Equazione alle differenze . . . . . . . . . . . 3.1.15 Velocità di convergenza . . . . . . . . . . . . 3.1.16 Metodi di ordine più elevato . . . . . . . . . 3.1.17 Altri metodi . . . . . . . . . . . . . . . . . . 3.1.18 Metodo dei punti fissi . . . . . . . . . . . . . 3.1.19 Radici multiple . . . . . . . . . . . . . . . . Autovalori . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Un’idea che non funziona . . . . . . . . . . . 3.2.2 Digressione sulle norme . . . . . . . . . . . . 3.2.3 Metodo delle potenze . . . . . . . . . . . . . 3.2.4 Metodo delle potenze inverse . . . . . . . . . Algebra lineare . . . . . . . . . . . . . . . . . . . . 3.3.1 Metodo di Gauss - Jacobi . . . . . . . . . . 3.3.2 Metodo di Gauss - Seidel . . . . . . . . . . . 3.3.3 Metodo del rilassamento . . . . . . . . . . . 3.3.4 Metodo di eliminazione . . . . . . . . . . . . 3.3.5 Implementazione dell’algoritmo di Gauss . . 3.3.6 Condizionamento . . . . . . . . . . . . . . . 3.3.7 Il teorema fondamentale . . . . . . . . . . . 3.3.8 Costo dell’algoritmo di riduzione . . . . . . 3.3.9 Interpretazione matriciale . . . . . . . . . . 3.3.10 Metodi di decomposizione diretta . . . . . . 3.3.11 Analisi dell’errore . . . . . . . . . . . . . . . Derivazione numerica . . . . . . . . . . . . . . . . . 3.4.1 Metodo dei coefficienti indeterminati . . . . 3.4.2 Il problema dell’asta . . . . . . . . . . . . . 3.4.3 Problema della piastra . . . . . . . . . . . . Equazioni differenziali . . . . . . . . . . . . . . . . 3.5.1 Equazioni alle derivate parziali: classificazione 7 126 126 128 129 130 130 132 133 135 136 137 138 139 141 142 146 152 153 154 154 155 156 158 162 164 165 168 172 174 177 179 183 186 190 191 Indice 3.5.2 Separazione delle variabili . . . . . . . . . 3.5.3 Trasformata rapida di Fourier . . . . . . . 3.6 Equazioni differenziali ordinarie . . . . . . . . . . 3.6.1 Equazioni evolutive . . . . . . . . . . . . . 3.6.2 Il metodo di Euler . . . . . . . . . . . . . 3.6.3 Altre derivazioni del metodo di Euler . . . 3.6.4 Errore locale e globale . . . . . . . . . . . 3.6.5 Stabilità . . . . . . . . . . . . . . . . . . . 3.6.6 Trasformata di Laplace . . . . . . . . . . . 3.6.7 Metodi a un passo. . . . . . . . . . . . . . 3.6.8 Metodi Runge Kutta. . . . . . . . . . . . . 3.6.9 Metodi Multistep . . . . . . . . . . . . . . 3.6.10 Confronto dei vari metodi . . . . . . . . . 3.6.11 Cenni sull’analisi di stabilità . . . . . . . . 3.6.12 Problemi sul bordo a 2 punti . . . . . . . . 3.6.13 Metodo di shooting . . . . . . . . . . . . . 3.7 Equazioni alle derivate parziali . . . . . . . . . . . 3.7.1 Differenze finite . . . . . . . . . . . . . . . 3.7.2 Metodi di collocazione e Galerkin . . . . . 3.7.3 Una prospettiva più generale . . . . . . . . 3.7.4 Problemi multidimensionali . . . . . . . . 3.7.5 Equazioni paraboliche . . . . . . . . . . . 3.7.6 Sistemi di grandi dimensioni non lineari . 3.7.7 Metodo di Newton nel multidimensionale . 3.7.8 Metodi numerici per equazioni paraboliche 3.7.9 Equazioni alle derivate parziali iperboliche 3.7.10 Metodi numerici . . . . . . . . . . . . . . 3.7.11 Shocks . . . . . . . . . . . . . . . . . . . . 4 PROBLEMI INVERSI 4.1 Esempi . . . . . . . . . . . . . . . . . . . . . . . 4.2 Metodi numerici . . . . . . . . . . . . . . . . . . 4.2.1 Metodo dei nuclei degeneri . . . . . . . . 4.2.2 Metodo di regolarizzazione di Tichonov . 4.2.3 Metodo iterativo di Landweber-Fridman 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 201 208 208 209 210 212 213 217 218 220 223 230 230 231 232 235 235 236 240 251 255 259 263 264 267 272 276 . . . . . 277 277 285 285 288 289 Indice 4.2.4 Una considerazione finale . . . . . . . . . . . 290 5 ESERCITAZIONI 5.1 Esempi svolti . . . . . . . . . . . . . . 5.1.1 Minimi quadrati . . . . . . . . . 5.1.2 Aritmetica di macchina . . . . . 5.1.3 Interpolazione . . . . . . . . . . 5.1.4 Quadrature . . . . . . . . . . . 5.1.5 Approssimazione . . . . . . . . 5.1.6 Zeri di funzioni . . . . . . . . . 5.1.7 Algebra Lineare . . . . . . . . . 5.1.8 Autovalori . . . . . . . . . . . . 5.1.9 Derivazione numerica . . . . . . 5.1.10 Equazioni differenziali ordinarie 5.1.11 Equazioni alle derivate parziali 5.2 Esercizi proposti . . . . . . . . . . . . 5.2.1 Aritmetica di macchina . . . . . 5.2.2 Interpolazione . . . . . . . . . . 5.2.3 Quadrature . . . . . . . . . . . 5.2.4 Approssimazione . . . . . . . . 5.2.5 Zeri di funzioni . . . . . . . . . 5.2.6 Algebra Lineare . . . . . . . . . 5.2.7 Autovalori . . . . . . . . . . . . 5.2.8 Derivazione numerica . . . . . . 5.2.9 Equazioni differenziali ordinarie 5.2.10 Equazioni alle derivate parziali 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 291 291 294 297 307 315 323 327 337 339 342 357 385 385 387 388 390 391 391 392 393 393 395 Prefazione Queste note contengono una rassegna, che non ha la pretesa di essere completa, di alcuni argomenti di analisi numerica. Di questi non si nascondono gli aspetti da cui originano. Per questo a volte si affronta anche la presentazione di qualche argomento di matematica applicata. Sono appunti, come dice il titolo, con tutte le limitazioni di questa affermazione. Nella presentazione ho privilegiato l’aspetto costruttivo nella soluzione dei problemi, rinunciando spesso a dettagliare l’implementazione degli algoritmi e la formalità delle dimostrazioni. Non sono completamente soddisfatto del risultato, in quanto avrei voluto più tempo per rivedere ulteriormente la presentazione, ma l’imminenza dell’inizio del corso mi ha impedito una rielaborazione più dettagliata. In una seconda edizione, con più tempo a disposizione, mi riservo di riesaminare questo materiale e correggerne gli errori, certamente presenti. Desidero ringraziare tutti coloro che mi sono stati di guida, a cominciare dall’insegnamento elementare e superiore, in particolare R. Freccero e D. Palladino, per continuare con chi mi ha introdotto all’analisi numerica e alla matematica applicata, e a cui diverse delle idee qui presentate risalgono: W. Gautschi, B. Conolly, J. Lyness, E. Beltrami, J.C. Frauenthal, R.P. Srivastav, R. Tewarson; o da cui più avanti ho imparato molto interagendo: K.E. Atkinson, H. Hethcote, F. Potra, C. Grabbe, V. Didenko, W. Sprössig, G. Chandler, D. Elliott, D. Paget, J.C. Mason, P. Graves-Morris, A. Medvinsky, S. Petrovskii, H. Malchow, U.Feudel. Ringrazio infine i colleghi G. Allasia, C. Dagnino, B. Gabutti, G. Monegato; V. Demichelis, R. Besenghi, I. Cravero, A. De Rossi, P. Lamberti, D. Delbosco; e ancora P. Lepora, G. Pittaluta, L. Sacripante. Un ringraziamento particolare per il supporto tecnico a G. Ghibò. Torino, 31 gennaio 2009 10 Capitolo 1 CONCETTI FONDAMENTALI 1.1 1.1.1 Introduzione Obiettivi del corso Il corso ha come scopo la costruzione di algoritmi per la risoluzione di problemi concreti. Ciò implica lo studio di alcuni aspetti di base 1. La definizione di un metodo, che deve funzionare e comporta l’analisi del problema che si deve risolvere. 2. L’analisi dell’errore insito nel metodo, che essendo approssimato, non può fornire la soluzione analitica; in questo contesto si deve dimostrare la convergenza di ciascun algoritmo. 3. Per risolvere uno stesso problema è possibile avere diverse idee, che portano a metodologie differenti; è allora importante poter e saper confrontare i metodi sulla base di proprietà quali velocità di esecuzione, legata al numero di operazioni da svolgere, occupazione di memoria, precisione del risultato. In generale non esiste il metodo migliore in assoluto, ma tra i tanti disponibili nella situazione contingente occorre determinare quello che meglio serve allo scopo. 11