valeriano comincioli - analisi numerica metodi modelli applicazioni

982
 License edgt-5-CLI_20110006666311-TX_20110006666311_9788850310319 granted on March 09 2011 to Alister Petrolini

Upload: kevin-stone

Post on 05-Oct-2015

407 views

Category:

Documents


5 download

TRANSCRIPT

  • License edgt-5-CLI_20110006666311-TX_20110006666311_9788850310319

    granted on March 09 2011 to Alister Petrolini

  • Analisi numerica: metodi, modelli, applicazioni Autore: Valeriano Comincioli Professore ordinario di Analisi Numerica Universit degli Studi di Pavia Copyright 2005 APOGEO srl Socio Unico Giangiacomo Feltrinelli Editore srl Via Natale Battaglia 12 20127 Milano (Italy) Telefono: 02-289981 Telefax: 02-26116334 Email [email protected] U.R.L.http://www.apogeonline.com ISBN 88-503-1031-5 Impaginazione elettronica in LATE a cura dellAutore Copertina di Enrico Marcandalli Tutti i diritti sono riservati a norma di legge e a norma delle convenzioni internazionali. Nessuna parte di questo libro pu essere riprodotta con sistemi elettronici, meccanici o altri, senza lautorizzazione scritta dellEditore. Nomi e marchi citati nel testo sono generalmente depositati o registrati dalle rispettive case produttrici.

  • Quelli che sinnamoran di pratica sanza scienza,son come il nocchiere,chentra in navilio sanza timone o bussola,che mai ha certezza dove si vada.

    (Leonardo)

    Introduzione

    La Matematica e` uno strumento per modellizzare il mondo reale. In forma schematica, un modello e` unarappresentazione approssimata di un sistema o di un processo, ottenuta sostituendo con semplicazioni,astrazioni ed analogie al fenomeno reale (il prototipo) un fenomeno in un campo piu` familiare. In partico-lare, in un modello matematico tale rappresentazione e` fatta in termini di variabili, parametri e relazionifunzionali, che deniscono un problema matematico.

    Dal momento che lo scopo della costruzione di un modello e` di illuminare mediante la sua analisi gliaspetti incogniti del prototipo, condizione necessaria anche` il modello sia utile e` che esso sia risolubile.Il signicato preciso di risolubilita` varia, naturalmente, a secondo del tipo di modello considerato. Perun modello matematico la risolubilita` signica richiedere, sempre in forma schematica, che il problemamatematico, che denisce il modello, sia:

    ben posto: esistenza, unicita` e stabilita` della soluzione. In un insieme di dati reali, il problema ha una eduna sola soluzione, che varia con continuita` al variare dei dati. Leventuale non unicita` e discontinuita`della soluzione devono essere spiegate alla luce del prototipo.

    ben condizionato: a piccole perturbazioni nei dati corrispondono piccole perturbazioni nei risultati;tali perturbazioni possono essere dovute ad errori sperimentali o ad errori di arrotondamento nellarappresentazione numerica dei dati.

    Le proprieta` ora evidenziate danno un carattere di adabilita` al modello matematico, ma non esaurisconoil signicato di risolubilita`. Spesso, infatti, la soluzione del problema matematico non e` data in formaesplicita o direttamente utilizzabile. In questo caso si presenta per il problema matematico una situazioneanaloga a quella che si ha per il problema reale. Per conoscere, cioe`, il comportamento della soluzionedel problema matematico, puo` essere necessaria lintroduzione di un nuovo modello, che in questo caso sicongura come una rappresentazione in dimensione nita, ottenuta mediante una discretizzazione del pro-blema continuo. Il fatto che talvolta il modello discreto possa essere interpretato come un modello costruitoa partire direttamente dal prototipo reale, senza, cioe`, il passaggio intermedio del problema continuo, noncambia la sostanza delle considerazioni che seguono.

    Il modello discreto, o modello numerico, presenta una problematica in parte simile a quella vista per ilmodello continuo. In particolare, sono ancora proprieta` necessarie lesistenza, lunicita` e la stabilita` dellasoluzione discreta.

    Come esempio di riferimento possiamo assumere la risoluzione di un problema ai limiti per un operatoredierenziale lineare su un dominio ssato, che, come e` noto rappresenta un modello matematico di numerosifenomeni sici. Come vedremo meglio nel seguito, discretizzando il dominio e sostituendo le derivate con

  • iv Introduzione

    opportuni rapporti incrementali, si ottiene come modello discreto la risoluzione di un sistema lineare, peril quale lesistenza e lunicita` della soluzione equivalgono alla non singolarita` della matrice dei coecientie la stabilita` e` data dal condizionamento della matrice stessa.

    Tuttavia, sapere che il sistema e` ben posto non basta ancora a rendere il modello numerico utile, ossiauno strumento di indagine del problema continuo.

    Rimangono due questioni da esaminare. La prima riguarda la capacita` del modello discreto di descrivereil modello continuo o il modello reale. In altre parole, riferendoci come illustrazione allesempio precedente,si tratta di vedere se la soluzione discreta puo` essere resa vicina quanto si vuole (in una opportuna distanza)alla soluzione del problema continuo inttendo opportunamente la reticolazione del dominio. In terminipiu` precisi, si tratta di esaminare la convergenza del metodo. Una questione collegata alla convergenza e`la maggiorazione dellerrore, che fornisce un criterio di scelta di un particolare modello.

    La seconda questione importante riguarda il fatto che anche un modello numerico, in generale, non hauna soluzione esplicita. Nel caso dellesempio precedente, infatti, e` necessario un ulteriore passo: la sceltadi un particolare algoritmo, che risolva eettivamente il sistema lineare. A tale scopo si possono utilizzaredierenti idee, ad esempio lidea della eliminazione (metodo di Gauss) o lidea delliterazione, che forniscela soluzione come limite di soluzioni di sistemi lineari piu` semplici. Ciascuna delle idee precedenti puo`essere realizzata in numerosi modi (algoritmi) diversi. La scelta di un particolare algoritmo avverra` siasulla base delle proprieta` della matrice (dimensioni, sparsita`, condizionamento), che dello strumento dicalcolo a disposizione.

    Ultima fase della modellizzazione e` limplementazione dellalgoritmo in un particolare linguaggio su undeterminato calcolatore.

    Abbiamo, in questo modo, delineato a grandi tratti lintero cammino della modellizzazione matematicaa partire da un ssato fenomeno reale no alla costruzione di un particolare programma di calcolo.

    Nella forma nale il modello matematico diventa un vero strumento di indagine quantitativa, chepermette una sperimentazione su calcolatore. In particolare, confrontando i risultati ottenuti mediante ilmodello matematico con i risultati sperimentali che si riferiscono al fenomeno reale, e` possibile analizzareladeguatezza del modello matematico introdotto, dando cos` avvio alllusuale processo iterativo dellacqui-sizione della conoscenza.

    In questo processo di conoscenza sono di competenza dellAnalisi Numerica tutte le successive fasi apartire dalla discretizzazione del problema continuo. Appare evidente, allora, limportanza fondamentaledellAnalisi Numerica nel processo di modellizzazione del mondo reale.

    Lo scopo principale del presente libro, che nasce da una pluriennale pratica didattica e da numeroseesperienze di ricerca pluridisciplinare nellambito della Matematica Applicata, e` di evidenziare, attraversolintroduzione e lanalisi dei piu` recenti metodi numerici e lo studio di alcune signicative applicazioni, lapotenzialita` del calcolo numerico e quindi, in denitiva, dello strumento matematico.

    La maggiore dicolta` incontrata nella stesura del libro e` dovuta alla assoluta impossibilita` di fotografareun ambiente in piena evoluzione come quello dellAnalisi Numerica attuale. Per ovviare, almeno in parte,a questa dicolta` si e`, in un certo senso, privilegiato il passato come patrimonio acquisito, dando nelcontempo suggerimenti sulle nuove idee ancora in fase di sperimentazione. La bibliograa, volutamentepiuttosta ricca, dovrebbe aiutare ad approfondire e a seguire i nuovi orientamenti.

    Le considerazioni precedenti, tratte dallintroduzione al libro: Analisi Numerica MetodiModelli Applicazioni (1995, [95]), inquadrano linteresse dellAnalisi Numerica nellambito dellamodellizzazione matematica.

    In questo senso sono tuttora di attualita`, anche se nel frattempo linsegnamento dellAnalisiNumerica, come di qualunque altra disciplina, ha subito diversi e importanti cambiamenti, aseguito di innovazioni sostanziali nei corsi di Laurea.

    Con riferimento in particolare al corso di Laurea in Matematica, lo studio dellAnalisi Nu-merica, da corso riservato allindirizzo applicativo, e` divenuto un corso di base per tutti gliindirizzi.

    analisi numerica cV. Comincioli

  • Introduzione v

    Una conseguenza di tale fatto, di per se` positivo, e` stata la diminuzione piuttosto drastica deltempo dedicato allinsegnamento del corso e la sua collocazione piu` anticipata rispetto al passato.

    Ne consegue lopportunita` di rivedere il materiale didattico e il presente libro rappresenta untentativo in questa direzione.

    Da un lato vi e` lo sforzo di rendere il testo in buona parte autosuciente, non richiedendoparticolari requisiti, salvo le nozioni elementari di Analisi Matematica e di Geometria.

    Daltro lato, la trattazione e` resa piu` concreta e incisiva attraverso limplementazione deidierenti algoritmi, che permette sia una loro migliore comprensione che una opportuna indaginedella loro validita` e applicabilita`.

    Per limplementazione si e` utilizzato il sistema MATLAB (cfr. link 1), che fornisce sia unlinguaggio ad alto livello che un ambiente interattivo. Una introduzione alle sue caratteristiche eal suo utilizzo e` contenuta nel Capitolo 1.

    In controtendenza rispetto allorientamento attuale e malgrado la riduzione del tempo dedi-cato allinsegnamento della materia, si e` cercato di sacricare il meno possibile lo spettro degliargomenti trattati e il loro approfondimento, nella convinzione che un testo universitario debbaessere principalmente uno strumento di riferimento per ampliare le conoscenze e non meramenteuna raccolta di appunti per le lezioni.

    Pavia, maggio 2005 Valeriano Comincioli

    Ogni formola matematica letterale o simbolica sara` tanto piu`utile, quanto piu` rapidamente portera` al risultato numerico ri-chiesto. La matematica moderna ha invece tendenza a diveniresempre piu` astratta. Molti matematici, se hanno da risolverenumericamente un problema, lo risolvono dapprima in generalee, giunti alla formola simbolica letterale denitiva, dicono: orabasta sostituire alle lettere i numeri dati per ottenere il risul-tato richiesto, ma vi e` da scommettere che molti di essi sitroverebbero imbarazzati nel fare il calcolo numerico eettivo.Eppure il calcolo numerico e` lutensile per mezzo del quale i prin-cipii scoperti mediante la ricerca scientica sono messi in operain vista di applicazioni pratiche. Ed ad esso debbono ricorrerecontinuamente il navigatore, il geodeta, il mecccanico, lelettri-cista, lingegnere, il sico, ecc. Quindi ogni semplicazione dicalcolo appporta a ciascuno di questi studiosi un grande sollievo,ed e` percio` utilissima. E non e` da credere che i calcoli numericidebbano interessare soltanto i ragionieri o i computisti , e non imatematici .Infatti molte delle semplicazioni apportate ad essi sono il frut-to di un profondo studio teorico delloperazione da eseguirsi, equindi fattibili soltanto da matematici di indiscusso valore.Ugo Cassina (Calcolo Numerico 1928, [74])

    analisi numerica cV. Comincioli

  • vi Introduzione

    Les equations generales de la propagation de la chaleur sont aux differences partielles,et, quoique la forme en soit tres simple, les methodes connues ne fournissent aucunmoyen general de les integrer; on ne pourrait donc pas en deduire les valeures destemperatures apre`s un temp determine. Cette interpretation numerique des resultatsdu calcul est cepandant necessaires, et cest un degre de perfection quil serait tre`s im-portant de donner a` toutes les applications de lAnalyse aux Sciences naturelles. Onpeut dire que, tant quon ne la pas obtenu, les solutions demeurent incompletes ouinutiles, et que la verite quon se proposait de decouvrir nest pas moins cachee dans lesformules dAnalyse quelle ne letait dans la question physique elle-meme. Nous noussommes attache avec beaucoup de soin et nous sommes parvenu a` surmonter cette dif-culte dans toutes les questions que nous avons traitees et qui contiennent les elementsprincipaux de la Theorie de la chaleur. Il ny a aucune de ces questions dont la solu-tion ne fournisse des moyens commodes et exacts de trouver les valeurs numerique destemperatures acquises, ou celles des quantites de chaleur ecoulees, lorsquon connait lesvaleurs du temps et celles des coordonnees variables. Ainsi lon ne donnera pas seul-ment les equations dierentielles auxquelles doivent satisfaire les fonction qui exprimele valeurs des temperatures; on donnera ces fonctions elles-memes sous une forme quifacilite les applications numeriques.J. Fourier, Theorie analytique de la chaleur 1822

    Constructing models for a slice of reality and studying their properties is reallywhat science is about. The models the hypotheses, the laws of nature, theparadigmscan be of a more or less formal character, but they all have the fundamentalproperty that they try to link observations to some pattern.L. Ljung, T. Glad

    Someone has recently dened an applied mathematician as an individual enclosed ina small oce and engaged in the study of mathematical problems which interest himpersonally; he waits for someone to stick his head in the door and introduce himself bysaying, Ive got a problem. Usually the person coming for help may be a physicist,engineer, meteorologist, statician, or chemist who has suddenly reached a point inhis investigation where he encounters a mathematical problem calling for an unusualor nonstandard technique for its solution. It is of considerable importance for themathematician to be able to provide practical answer to such questions. By a practicalanswer one does not mean a result which is obtained after months of detailed analysisbut, rather, a solution or explanation obtained in a minimum of time. The reply toquestions presented to him may require analysis or merely the ability to furnish areference to where one can nd the particular topic discussed.M. Abramowitz

    The solution of the algebraic eigenvalue problem has for long had a particular fascina-tion for me because it illustrates so well the dierence between what might be termedclassical mathematics and practical numerical analysis. The eigenvalue problem hasdeceptively simple formulation and the background theory has been known for manyyears; yet the determination of accurate solutions presents a wide variety of challengingproblems.J. H. Wilkinson, The algebraic eigenvalue problem, 1965

    Mathematics is not merely the science of number. It is the science of pattern andstructure. Mathematically statements can be encoded in numbers, but numbers as suchare not an end in themselves. Once we wish to harness computation to understandmathematics, we are compelled to compute numerical results not as an end but asmeans to reveal the underlying structure. This has a number of important implicationsfor the future of computational algorithms.A. Iserles

    analisi numerica cV. Comincioli

  • INDICE

    Introduzione iii

    1 Idee introduttive 11.1 Analisi numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 Scopo dellanalisi numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Brevi note storiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2 Principi di fondo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.1 Iterazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.2 Approssimazione locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.3 Brevi richiami di analisi funzionale . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.1 Spazi lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.2 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.3 Spazi a dimensione innita . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.4 Trasformazioni e operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3.5 Importanza della scelta della norma . . . . . . . . . . . . . . . . . . . . . . 18

    1.4 Classicazione dei problemi computazionali . . . . . . . . . . . . . . . . . . . . . . 181.5 Esempi introduttivi di Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.5.1 Graca mediante Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.5.2 Il problema 3x + 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.5.3 Numeri primi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.5.4 Metodo Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.5.5 Ricorsione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.5.6 Ulteriori esempi illustrativi . . . . . . . . . . . . . . . . . . . . . . . . . . . 371.5.7 Strutture dati: array di celle e array di strutture . . . . . . . . . . . . . . . 40

    2 Analisi degli errori 432.1 Sorgenti di errore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.2 Rappresentazione dei numeri sul calcolatore . . . . . . . . . . . . . . . . . . . . . . 46

    2.2.1 Rappresentazione dei numeri in dierenti basi . . . . . . . . . . . . . . . . . 462.2.2 Conversione della rappresentazione di un numero reale . . . . . . . . . . . . 48

    vii

  • viii Indice

    2.2.3 Numeri macchina; sistema oating-point . . . . . . . . . . . . . . . . . . . . 512.2.4 Operazione di arrotondamento . . . . . . . . . . . . . . . . . . . . . . . . . 552.2.5 Aritmetica in virgola mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.2.6 Propagazione degli errori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612.2.7 Condizionamento di un problema . . . . . . . . . . . . . . . . . . . . . . . . 642.2.8 Errori, accuratezza, e numero di condizionamento . . . . . . . . . . . . . . . 652.2.9 Tecniche di controllo degli errori . . . . . . . . . . . . . . . . . . . . . . . . 70

    2.3 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732.4 Esperienze in matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    2.4.1 Propagazione degli errori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792.4.2 Condizionamento dei polinomi . . . . . . . . . . . . . . . . . . . . . . . . . 81

    3 Elementi di algebra lineare 833.1 Matrici. Denizioni fondamentali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    3.1.1 Matrici particolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.1.2 Operazioni su matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.1.3 Matrici partizionate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903.1.4 Indipendenza lineare, base e dimensione . . . . . . . . . . . . . . . . . . . . 903.1.5 Determinante, inversa e rango . . . . . . . . . . . . . . . . . . . . . . . . . . 943.1.6 Matrici elementari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    3.2 Sistemi lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003.3 Autovalori e trasformazioni per similitudine . . . . . . . . . . . . . . . . . . . . . . 102

    3.3.1 Trasformazioni per similitudine . . . . . . . . . . . . . . . . . . . . . . . . . 1033.3.2 Autovettori a sinistra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043.3.3 Riduzione delle matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053.3.4 Fattorizzazione unitaria di una matrice . . . . . . . . . . . . . . . . . . . . 106

    3.4 Localizzazione degli autovalori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083.4.1 Norma di vettore e di matrice . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    3.5 I valori singolari e la pseudoinversa . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133.5.1 Decomposizione in valori singolari SVD . . . . . . . . . . . . . . . . . . . . 1143.5.2 Applicazioni della SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183.5.3 Pseudoinversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    3.6 Matrici non negative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243.6.1 Matrici irriducibili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253.6.2 Matrici con inverse non negative; M-matrici . . . . . . . . . . . . . . . . . . 126

    3.7 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283.7.1 Matrici in stechiometria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    3.8 Esperienze con Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353.8.1 Matrix indexing: operazioni su indici di matrici . . . . . . . . . . . . . . . . 1353.8.2 Matrici particolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1403.8.3 Operazioni su matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

    analisi numerica cV. Comincioli

  • Indice ix

    4 Algebra lineare numerica 1474.1 Metodi diretti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    4.1.1 Sistemi triangolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1554.1.2 Sistemi generali; metodo di Gauss . . . . . . . . . . . . . . . . . . . . . . . 1564.1.3 Strategia del pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614.1.4 Pivoting scalato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1654.1.5 Decomposizione LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664.1.6 Decomposizione LDMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674.1.7 Metodi di Crout e di Doolittle . . . . . . . . . . . . . . . . . . . . . . . . . 1684.1.8 Matrici simmetriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1694.1.9 Matrici a banda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1714.1.10 Matrici sparse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1764.1.11 Introduzione allupdating . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1794.1.12 Fattorizzazione a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

    4.2 Analisi degli errori; condizionamento e stabilita` . . . . . . . . . . . . . . . . . . . . 1834.2.1 Stabilita` degli algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1934.2.2 Fattorizzazione A = QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

    4.3 Metodi iterativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2014.3.1 Metodi di Jacobi, Gauss-Seidel, rilassamento . . . . . . . . . . . . . . . . . 2014.3.2 Metodi iterativi a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2074.3.3 Studio della convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084.3.4 Metodo del gradiente coniugato . . . . . . . . . . . . . . . . . . . . . . . . . 2134.3.5 Precondizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    4.4 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2224.5 Esperienze in Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

    4.5.1 Decomposizione LU di matrici tridiagonali . . . . . . . . . . . . . . . . . . . 2364.5.2 Eliminazione di Gauss con pivoting completo . . . . . . . . . . . . . . . . . 2384.5.3 Eliminazione senza pivoting . . . . . . . . . . . . . . . . . . . . . . . . . . . 2394.5.4 Eetto del condizionamento sullalgoritmo di soluzione di un sistema lineare 2394.5.5 Minimi quadrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2404.5.6 Metodo qr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

    5 Autovalori e autovettori 2455.1 Condizionamento del problema degli autovalori . . . . . . . . . . . . . . . . . . . . 2465.2 Metodo delle potenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    5.2.1 Iterazione inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2505.2.2 Deazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2505.2.3 Metodo di Lanczos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

    5.3 Metodi di trasformazione per similitudine . . . . . . . . . . . . . . . . . . . . . . . 2535.3.1 Metodo di Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2545.3.2 Metodo di Householder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2585.3.3 Metodo di Givens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2595.3.4 Matrici non simmetriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2605.3.5 Matrici tridiagonali simmetriche . . . . . . . . . . . . . . . . . . . . . . . . 2615.3.6 Metodo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

    analisi numerica cV. Comincioli

  • x Indice

    5.4 Problema degli autovalori generalizzato . . . . . . . . . . . . . . . . . . . . . . . . 2655.5 Decomposizione SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2675.6 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2695.7 Esperienze in Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

    5.7.1 Esempio di matrice con autovalori malcondizionati . . . . . . . . . . . . . . 2755.7.2 Esempio di Wilkinson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2765.7.3 Metodo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

    6 Approssimazione di funzioni 2786.1 Interpolazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

    6.1.1 Interpolazione mediante polinomi . . . . . . . . . . . . . . . . . . . . . . . . 2806.1.2 Errore di troncamento nella interpolazione . . . . . . . . . . . . . . . . . . . 2826.1.3 Costruzione del polinomio di interpolazione . . . . . . . . . . . . . . . . . . 2846.1.4 Convergenza del polinomio di interpolazione . . . . . . . . . . . . . . . . . . 2916.1.5 Problema generale di interpolazione lineare . . . . . . . . . . . . . . . . . . 2936.1.6 Interpolazione mediante funzioni razionali . . . . . . . . . . . . . . . . . . . 2956.1.7 Interpolazione inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2976.1.8 Interpolazione mediante spline . . . . . . . . . . . . . . . . . . . . . . . . . 2986.1.9 Approssimazione di Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

    6.2 Problema generale di approssimazione . . . . . . . . . . . . . . . . . . . . . . . . . 3136.2.1 Norma euclidea. Minimi quadrati . . . . . . . . . . . . . . . . . . . . . . . . 3166.2.2 Polinomi ortogonali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3206.2.3 Norma del massimo. Approssimazione di Chebichev . . . . . . . . . . . . . 325

    6.3 Calcolo numerico delle derivate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3286.3.1 Studio dellerrore di troncamento . . . . . . . . . . . . . . . . . . . . . . . . 3306.3.2 Inuenza degli errori di arrotondamento . . . . . . . . . . . . . . . . . . . . 330

    6.4 Introduzione alle funzioni Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . 3326.4.1 Dallanalisi di Fourier allanalisi wavelet . . . . . . . . . . . . . . . . . . . . 3386.4.2 Le wavelets di Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3466.4.3 Trasformata di Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3516.4.4 Trasformata wavelet e analisi tempo-frequenza . . . . . . . . . . . . . . . . 3566.4.5 Formule di inversione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3606.4.6 Costruzione di wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3636.4.7 Fast wavelet transform (FWT) . . . . . . . . . . . . . . . . . . . . . . . . . 3746.4.8 Denoising di immagini con wavelet . . . . . . . . . . . . . . . . . . . . . . . 3776.4.9 Compressione di immagini . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

    6.5 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3836.6 Esperienze in matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

    6.6.1 Polinomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3996.6.2 Polinomio di interpolazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

    7 Equazioni non lineari e ottimizzazione 4047.1 Caso unidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

    7.1.1 Metodo di bisezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4077.1.2 Metodo regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

    analisi numerica cV. Comincioli

  • Indice xi

    7.1.3 Metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4127.1.4 Metodo di Newton in piu` dimensioni . . . . . . . . . . . . . . . . . . . . . . 4177.1.5 Studio della convergenza del metodo di Newton . . . . . . . . . . . . . . . . 4197.1.6 Metodo di Newton e radici multiple . . . . . . . . . . . . . . . . . . . . . . 4227.1.7 Alcune applicazioni del metodo di Newton . . . . . . . . . . . . . . . . . . . 4227.1.8 Modiche del metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . 4237.1.9 Radici di polinomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4277.1.10 Sensitivita` delle radici di un polinomio . . . . . . . . . . . . . . . . . . . . . 431

    7.2 Metodi di punto sso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4367.2.1 Aspetti computazionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4437.2.2 Accelerazione della convergenza . . . . . . . . . . . . . . . . . . . . . . . . 444

    7.3 Sistemi dinamici discreti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4487.4 Programmazione lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

    7.4.1 Trasformazione di problemi LP nella prima forma primale . . . . . . . . . . 4557.4.2 Problema duale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4567.4.3 Seconda forma primale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4577.4.4 Alcuni esempi applicativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4587.4.5 Metodo del simplesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4607.4.6 Risoluzione di sistemi lineari inconsistenti . . . . . . . . . . . . . . . . . . . 462

    7.5 Metodi di ottimizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4647.5.1 Ottimizzazione unidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . 4657.5.2 Ottimizzazione in piu` dimensioni . . . . . . . . . . . . . . . . . . . . . . . . 4717.5.3 Metodo SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4837.5.4 Minimi quadrati non lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

    7.6 Introduzione ai problemi di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . 4887.6.1 Formulazione di un problema di controllo . . . . . . . . . . . . . . . . . . . 4957.6.2 Forme diverse di un controllo ottimo . . . . . . . . . . . . . . . . . . . . . . 4987.6.3 Metodo della programmazione dinamica . . . . . . . . . . . . . . . . . . . . 4997.6.4 Principio del minimo di Pontryagin . . . . . . . . . . . . . . . . . . . . . . . 511

    7.7 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5367.8 Esperienze con Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

    7.8.1 Funzioni matlab per trovare minimi e zeri di una funzione . . . . . . . . . . 5707.8.2 Applicazioni varie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573

    8 Integrazione numerica 5788.1 Formule di NewtonCotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585

    8.1.1 Convergenza delle formule di quadratura . . . . . . . . . . . . . . . . . . . . 5888.1.2 Formule composte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588

    8.2 Formule di Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5918.2.1 Formule di Lobatto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5938.2.2 Formule di quadratura di Gauss-Kronrod . . . . . . . . . . . . . . . . . . . 594

    8.3 Formule adattive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5958.3.1 Formula di Simpson adattiva . . . . . . . . . . . . . . . . . . . . . . . . . . 596

    8.4 Formule di estrapolazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5978.5 Dicolta` nellintegrazione numerica . . . . . . . . . . . . . . . . . . . . . . . . . . 600

    analisi numerica cV. Comincioli

  • xii Indice

    8.6 Integrali multipli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6028.7 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6068.8 Esperienze in Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621

    9 Equazioni dierenziali 6269.1 Aspetti introduttivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

    9.1.1 Denizione di soluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6289.1.2 Curve soluzioni e campi di direzioni . . . . . . . . . . . . . . . . . . . . . . 6299.1.3 Problemi ai valori iniziali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

    9.2 Alcuni modelli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6339.3 Metodi numerici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643

    9.3.1 Metodo di Eulero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6449.3.2 Inuenza degli errori di arrotondamento . . . . . . . . . . . . . . . . . . . . 6509.3.3 Metodi di sviluppo in serie . . . . . . . . . . . . . . . . . . . . . . . . . . . 6519.3.4 Metodi di Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6529.3.5 Metodo di Eulero implicito e formula dei trapezi . . . . . . . . . . . . . . . 6579.3.6 Metodi di Runge-Kutta-Fehlberg . . . . . . . . . . . . . . . . . . . . . . . . 6629.3.7 Metodi a piu` passi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6669.3.8 Convergenza dei metodi lineari a piu` passi . . . . . . . . . . . . . . . . . . . 6699.3.9 Stabilita` per passo ssato . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6739.3.10 Sistemi di equazioni del primo ordine . . . . . . . . . . . . . . . . . . . . . . 6749.3.11 Metodo di Cowell-Numerov . . . . . . . . . . . . . . . . . . . . . . . . . . . 675

    9.4 Equazioni sti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6779.4.1 Metodi numerici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6849.4.2 Sistemi altamente oscillatori . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

    9.5 Problemi ai limiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6869.5.1 Alcuni modelli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6879.5.2 Metodo shooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6909.5.3 Metodo alle dierenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6939.5.4 Metodo degli elementi niti . . . . . . . . . . . . . . . . . . . . . . . . . . . 6989.5.5 Problema degli autovalori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707

    9.6 Equazioni integrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7099.7 Equazioni con ritardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716

    9.7.1 Introduzione ai metodi numerici . . . . . . . . . . . . . . . . . . . . . . . . 7199.8 Equazioni alle derivate parziali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722

    9.8.1 Propagazione delle onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7239.8.2 Approssimazione numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . 7259.8.3 Equazioni non lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7299.8.4 Equazione delle onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7329.8.5 Equazione della diusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7389.8.6 Equazione di Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7449.8.7 Metodi spettrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770

    9.9 Complementi e Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7739.10 Esperienze in Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833

    9.10.1 Periodo del pendolo non lineare . . . . . . . . . . . . . . . . . . . . . . . . . 833

    analisi numerica cV. Comincioli

  • Indice xiii

    9.10.2 Problema ai limiti non lineare . . . . . . . . . . . . . . . . . . . . . . . . . . 8369.10.3 Equazioni di Volterra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8389.10.4 Equazioni con ritardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841

    9.11 Alcune applicazioni con matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8439.11.1 Accrescimento di una popolazione strutturata . . . . . . . . . . . . . . . . . 8449.11.2 Studio dellazione di un farmaco . . . . . . . . . . . . . . . . . . . . . . . . 8469.11.3 Cinetica di un antibiotico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8489.11.4 Routines fornite da Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 8509.11.5 Un esempio di utilizzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8609.11.6 Equazioni a derivate parziali . . . . . . . . . . . . . . . . . . . . . . . . . . 8629.11.7 Un esempio di applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 864

    10 Analisi numerica parallela 86510.1 Esempi introduttivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86610.2 Sistemi di calcolo paralleli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873

    10.2.1 Operazioni aritmetiche pipelining . . . . . . . . . . . . . . . . . . . . . . . . 87310.2.2 Sistemi di calcolo parallelo e loro classicazione . . . . . . . . . . . . . . . . 875

    10.3 Modelli e misure di complessita` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87610.3.1 Elementi di teoria dei gra . . . . . . . . . . . . . . . . . . . . . . . . . . . 87710.3.2 Rappresentazione di un algoritmo parallelo mediante un grafo . . . . . . . . 87810.3.3 Misure di complessita` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88010.3.4 Esempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883

    10.4 Parallelizzazione di metodi iterativi . . . . . . . . . . . . . . . . . . . . . . . . . . . 88710.4.1 Iterazioni di tipo Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 889

    10.5 Comunicazione nei sistemi paralleli . . . . . . . . . . . . . . . . . . . . . . . . . . . 89210.5.1 Alcuni tipi di topologie di networks . . . . . . . . . . . . . . . . . . . . . . . 893

    10.6 Sincronizzazione negli algoritmi paralleli . . . . . . . . . . . . . . . . . . . . . . . . 89510.6.1 Algoritmi sincroni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89610.6.2 Algoritmi asincroni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897

    A Matlab toolbox 899A.1 Bioinformatics toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899A.2 Image Acquisition Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901

    A.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901A.2.2 Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901

    A.3 Image Processing Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901A.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901A.3.2 Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901

    A.4 Communications Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902A.5 Control System Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902A.6 Curve Fitting Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902A.7 Financial Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903A.8 Fuzzy Logic Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903A.9 Optimization Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904A.10 PDE Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904

    analisi numerica cV. Comincioli

  • xiv Indice

    A.11 Statistics Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904A.12 Wavelet Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904A.13 The Symbolic Math Toolboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905A.14 Genetic Algorithm and Direct Search Toolbox . . . . . . . . . . . . . . . . . . . . . 905

    A.14.1 Key features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905A.15 Distributed Computing Toolbox 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 905

    A.15.1 Key features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905

    B Introduzione agli spazi di Sobolev 907B.1 Richiami sulle distribuzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907

    B.1.1 Derivazione nel senso delle distribuzioni . . . . . . . . . . . . . . . . . . . . 909B.2 Spazio di Sobolev H1() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910

    B.2.1 Alcune proprieta` dello spazio H1() . . . . . . . . . . . . . . . . . . . . . . 911B.2.2 Funzioni di H1() nulle su . . . . . . . . . . . . . . . . . . . . . . . . . 912B.2.3 Un risultato di traccia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913B.2.4 Applicazioni del teorema di traccia . . . . . . . . . . . . . . . . . . . . . . . 914B.2.5 Un risultato di compattezza . . . . . . . . . . . . . . . . . . . . . . . . . . . 914

    B.3 Spazi di Sobolev Hm() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915B.3.1 Risultati di regolarita` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915

    C Equazioni dierenziali. Tecniche analitiche 916C.1 Separazione delle variabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916C.2 Equazione lineare del primo ordine . . . . . . . . . . . . . . . . . . . . . . . . . . . 917C.3 Equazione di Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919C.4 Equazione di Riccati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920C.5 Equazione omogenea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921C.6 Equazione esatta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923C.7 Equazione di Clairaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924C.8 Equazioni lineari del secondo ordine . . . . . . . . . . . . . . . . . . . . . . . . . . 926

    C.8.1 Equazioni lineari non omogenee particolari . . . . . . . . . . . . . . . . . . 928C.8.2 Sistemi dierenziali lineari del primo ordine . . . . . . . . . . . . . . . . . . 929C.8.3 Equazioni lineari di ordine n . . . . . . . . . . . . . . . . . . . . . . . . . . 932

    C.9 Trasformata di Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934C.9.1 Proprieta` della trasformata di Laplace . . . . . . . . . . . . . . . . . . . . . 938C.9.2 Applicazioni della trasformata di Laplace . . . . . . . . . . . . . . . . . . . 941

    C.10 Serie di Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946C.10.1 Equazione della diusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950C.10.2 Equazione delle onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952

    Bibliograa 955

    analisi numerica cV. Comincioli

  • CAPITOLO 1

    Idee introduttive

    The mainspring of numerical analysis

    is the entire aquifer of mathematics, pure and applied.

    A. Iserles

    In questo capitolo, a carattere introduttivo, si cerca inizialmente di chiarire, attraverso esempi,il signicato dellespressione fare dellanalisi numerica.

    Successivamente, si evidenziano, in maniera schematica, i principi che fanno da supporto e dalo conduttore ai vari problemi e metodi dellanalisi numerica. In questo obiettivo si inserisconopure i brevi richiami di analisi funzionale che, oltre fornire un linguaggio unicatore, e` strumentoecace di sviluppo di nuove teorie.

    Segue, inne, un tentativo di classicazione dei problemi numerici con lo scopo di individuaree caratterizzare i diversi livelli di dicolta` presenti nella loro risoluzione.

    1.1 Analisi numerica

    Naturalmente, la questione di che cosa sia lanalisi numerica1 potrebbe essere trattata in manierapiu` adeguata alla ne del volume e, soprattutto, dopo aver fatto dellanalisi numerica.

    Puo` essere, comunque, di qualche utilita`, almeno come introduzione, fare alcune considerazioni.

    1.1.1 Scopo dellanalisi numerica

    Un modo per comprendere il carattere di una disciplina e` di esaminarne gli obiettivi, che possonoessere enunciati in forme diverse, ma equivalenti nella sostanza. Ad esempio, si puo` dire cheobiettivo principale dellanalisi numerica e`

    trovare gli algoritmi che risolvono un problema matematiconel minimo tempo

    con la massima accuratezza.

    In altra forma si ha la seguente caratterizzazione

    analisinumerica

    = arte di dare una risposta numerica ad un problema matematicomediante un calcolatore automatico digitale.

    Analizziamo, in particolare, gli elementi di questultima denizione.1o calcolo numerico; calcolo dal latino calculus: pietruzza (da calce, pietra calcare).

    1

  • 2 Idee introduttive

    Risposta numerica

    Esempio 1.1 Consideriamo il seguente problema: data lequazione algebrica

    P (x) = x2 + 2bx+ c = 0

    con b, c reali e b2 > c, dimostrare che essa ammette due radici reali .Per la sua risoluzione possiamo seguire i seguenti due dierenti metodi.

    1. metodo non costruttivo, per riduzione allassurdo. Supponiamo che non esistano soluzioni reali;allora, essendo P (x) una funzione continua, si ha: P (x) > 0 o P (x) < 0 x ; ma

    P (b) = b2 2b2 + c < 0, P (|x|) > 0 per x grande.

    2. metodo costruttivo. Come e` ben noto, si ha

    x2 + 2bx+ c = (x+ b)2 b2 + c = 0da cui

    x = b

    b2 c, oppure x = cbb2 cNel secondo metodo, a dierenza del primo, si fornisce anche una procedura per il calcolo eettivo (nume-rico) delle soluzioni, cioe` un algoritmo. Come abbiamo messo in evidenza, la formula risolutiva puo` esserescritta in due modi diversi, che risultano equivalenti dal punto di vista teorico, ma non dal punto di vistanumerico2.

    Naturalmente, lalgoritmo precedente non e` lunico disponibile; in realta` esso e` specico del particolareproblema considerato. Piu` in generale, come vedremo nel seguito, per calcolare le radici di un polinomioo di una funzione non lineare esistono numerosi altri metodi di tipo iterativo: ad esempio, il metodo delletangenti, delle secanti, ecc.

    Necessita` di una risposta numerica

    Lesempio precedente e` particolare in quanto la risposta numerica puo` essere data in forma espli-cita. Questa non e` chiaramente la situazione generale. Vediamo, a questo proposito, due esempi.Il primo illustra la impossibilita` di avere sempre risposte analitiche; il secondo esamina in chesenso una soluzione analitica puo` non essere numerica.

    Esempio 1.2 Dinamica di una popolazione cellulare.Esaminiamo il modello matematico dellaccrescimento di una popolazione, ad esempio di cellule, nel-

    lipotesi che il tasso di accrescimento sia una costante (modello di Malthus). Indicando con y(t) unamisura della quantita` di cellule allistante t si ha il seguente sistema dinamico{

    y(t) = y(t)y(0) = y0, y0 > 0

    la cui soluzione analitica e` data, come e` noto, da: y(t) = y0et.Consideriamo, ora, il problema di calcolare nota la quantita` di popolazione in due istanti dierenti,

    ad esempio in t = 0 e t = t, con t > 0. Il problema equivale, naturalmente, a risolvere la seguente equazionein

    y0et = y(t)

    2Ad esempio, in corrispondenza a b = 90.995, c = 1.82, su un calcolatore in semplice precisione (4 bytes,cfr. il successivo Capitolo 2) si ottiene, con la prima formula x1 = 182 , x2 = 0.01000214, mentre con la seconda:x1 = 181.9611 , x2 = 0.01. La soluzione vera e` data da: x1 = 182, x2 = 0.01.

    analisi numerica cV. Comincioli

  • 1.1 Analisi numerica 3

    la cui soluzione puo` essere espressa nella seguente forma analitica

    =1tlog(y(t)y0

    )Supponendo di poter calcolare la funzione logaritmo, la forma precedente e` di tipo esplicito, in quanto nonrichiede ulteriori algoritmi.

    Supponiamo, ora, che laccrescimento avvenga in presenza di emigrazione o immigrazione con velocita`d. Lequazione della dinamica del modello si trasforma, allora, nella seguente

    y(t) = y(t) + d

    per la quale e` ancora possibile calcolare la soluzione analitica y(t). Tuttavia, il problema del calcolo di supposti noti: d, y(0), t, y(t) si trasforma ora nellequazione non lineare seguente

    ety(t) = d(et 1) + y0

    e diversamente dal caso precedente non e` piu` possibile una esplicitazione in termini di funzioni elementari .Naturalmente il problema si complica ulteriormente se anziche il modello di Malthus (valido solo in

    prima approssimazione) si adottano modelli strutturalmente piu` signicativi, che tengano conto ad esempiodei fenomeni di sovraollamento, con conseguenti termini non lineari nellequazione della dinamica o conpossibilita` di eetti non istantanei (equazioni con ritardo).

    Esempio 1.3 Problema dierenziale ai limiti .Lequazione di Bessel

    x2d2y

    dx2+ x

    dy

    dx+ (x2 2)y = 0 (1.1)

    trova diverse applicazioni in problemi di matematica applicata, in particolare in problemi ai limiti relativia cilindri circolari retti, o la propagazione di onde elettromagnetiche in conduttori circolari.

    E` noto che se non e` un intero, due soluzioni indipendenti dellequazione (1.1) sono J(x) e J(x)dove

    J(x) =

    k=0

    (1)kk! ( + k + 1)

    (x

    2)+2k

    Si tratta di una soluzione dal punto di vista analitico di tipo esplicita, ma certamente non ancora in formaconveniente per il calcolo numerico. Per renderla tale sono necessarie, in particolare, delle indicazionisulla rapidita` di convergenza della serie e delle maggiorazioni dellerrore che si commette approssimandola somma della serie con una particolare somma parziale.

    Arte

    Per risolvere un determinato problema matematico vi possono essere diversi algoritmi. Inoltrelo stesso algoritmo applicato a problemi diversi puo` comportarsi in maniera diversa. Nei capi-toli successivi si esamineranno numerosi esempi di situazioni di questo tipo. Come introduzionesuggeriamo, ad esempio, la lettura di Moler, Van Loan [300].

    La scelta di un particolare algoritmo per la risoluzione di un determinato problema e` il risulta-to, come vedremo, di unanalisi del problema e di unanalisi comparativa dei vari algoritmi, sullabase del loro costo e della loro accuratezza.

    Una componente importante per una scelta ottimale e` lintuizione anata dallesperienza.In questo senso, trovare lalgoritmo che risolva nel minimo tempo e con la massima precisione

    un problema matematico puo` essere, a ragione, considerato unespressione artistica.

    analisi numerica cV. Comincioli

  • 4 Idee introduttive

    Uso del calcolatore

    La disponibilita` di calcolatori programmabili, potenti e adabili e` tra i maggiori responsabili dellosviluppo del calcolo numerico; essa e` una componente imprescindibile nel progetto di un algoritmo.

    Legata ad aspetti tecnici in continuo sviluppo (velocita`, capacita` di memoria, possibilita` di usointerattivo, di lavoro in parallelo . . . ), puo` suggerire nuovi orientamenti, rendere obsoleti alcunimetodi, rivalutarne altri.

    Figura 1.1 Collocazione dellanalisi numerica nel processo di matematizzazione di un problema reale.

    1.1.2 Brevi note storiche

    La storia dellanalisi numerica e` in realta` quella della matematica, in quanto la matematica nasceper dare una risposta numerica a problemi reali .3

    3Alcuni dati: circa 1650 A.C., in un papiro egiziano (papiro Rhind di Ahmes) un metodo per trovare le radicidi una semplice equazione (regula falsi) (cfr. [76], p. 88); metodo di esaustione introdotto da Archimede (287212 A.C.) per il calcolo de lunghezze, aree e volumi di gure geometriche (cfr. [128], Ch. 2): quando utilizzatoper trovare approssimazioni e` decisamente nello spirito della moderna integrazione numerica ed e` un precursoreimportante del calcolo di I. Newton e G. Leibniz.

    Un impulso importante allo sviluppo dei procedimenti numerici e` stata lintroduzione del calcolo da parte diNewton e Leibniz, dal momento che esso ha portato alla costruzione di modelli matematici per lo studio della realta`sica, in particolare delle scienze siche, ma anche dellingegneria, della medicina e delleconomia. Tali modelli nonpossono usualmente essere risolti in maniera esplicita, e quindi sono necessari metodi numerici per ottenere dellesoluzioni approssimate.

    Newton in particolare ha introdotto per risolvere una varieta` di problemi diversi metodi, alcuni dei quali portanoattualmente il suo nome. Seguendo Newton, molti dei giganti della matematica del 18-mo e 19-mo secolo hannodato importanti contributi alla soluzione numerica dei problemi matematici: L. Eulero (17071783), J.L. Lagrange(17361813) e K.F. Gauss (1777-1855).

    analisi numerica cV. Comincioli

  • 1.2 Principi di fondo 5

    Durante i secoli questo aspetto e` stato talvolta sovrastato da una concezione piu` losoca dellamatematica, ma ogniqualvolta si e` avuto un avvicinarsi della matematica alle scienze applicate,si e` avuto insieme un risveglio di interesse alla costruzione e allo studio di algoritmi.

    In eetti, il grande interesse attuale allanalisi numerica e` dovuto da una parte, come gia`detto, alla disponibilita` di idonei strumenti di calcolo, ma anche allidea sempre piu` convinta, chela Matematica e` un utile strumento per lo studio del mondo reale .

    In questo senso lanalisi numerica e` un aspetto della matematica applicata.In Figura 1.1 e` delineato in sintesi il cammino della ricerca, a partire dai dati sperimentali ,

    verso la costruzione di teorie e lo sviluppo di modelli . Lanalisi numerica si presenta in talecontesto come lanello decisivo (il linguaggio) per la possibilita` di una validazione quantitativa diun modello e quindi di una verica delle teorie.

    Per notizie riguardanti la storia di alcuni classici metodi numerici si veda, ad esempio, Cassina[74], Goldstine [168], [169], Metropolis et al. [284], Edwards [128], Nash [310], Chabert [76].

    In bibliograa sono riportate numerose opere introduttive allanalisi numerica. Per brevita`,ci limitiamo qui a segnalarne alcune, divenute ormai classiche; in particolare, Dahlquist, Bjorck[105], Forsythe et al. [144], Hamming [189], Henrici [196], Householder [209], Isaacson, Keller[216], Milne [293], Ostrowski [325], Ralston, Rabinowitz [351], Richtmyer, Morton [358], Stoer,Bulirsch [388], Varga [414], Wilkinson [429], [431], Wilkinson, Reinsch [430], Wendro [422],Young, Gregory [441].

    1.2 Principi di fondo

    In maniera schematica si possono distinguere nellanalisi numerica i seguenti due aspetti

    Metodologia, che tratta, in particolare, la costruzione di algoritmi specici, la loro ecienza,limplementazione per un particolare calcolatore.

    Analisi, che studia i principi di fondo, le stime degli errori, la convergenza dei metodi.

    Il primo e` un aspetto piu` pratico, mentre il secondo e` piu` teorico, di base. Nella risoluzionenumerica di un problema i due aspetti, in generale ambedue presenti, si integrano a vicenda.

    In questo paragrafo daremo una breve panoramica dei principi di fondo dellanalisi numerica.Si tratta, in realta`, di una anticipazione, in quanto essi verranno ripresi e approfonditi nel seguito,ma tale anticipazione puo` essere utile come lo conduttore di una materia che altrimenti potrebbesembrare frammentaria.

    1.2.1 Iterazione

    In modo generale, lidea delliterazione indica la ripetizione di un processo semplice per miglio-rare la stima della soluzione di un problema piu` complicato.

    Diamo una illustrazione dellidea mediante due particolari applicazioni.

    Zero di una funzione

    Il calcolo dello zero di una funzione f(x), R R, puo` essere ricondotto, in vari modi, alla ricercadel punto sso di una trasformazione g(x); si ponga, ad esempio: g(x) = x+ kf(x), k reale = 0.Scelte meno semplici ma piu` utili di g(x) saranno introdotte nel seguito.

    analisi numerica cV. Comincioli

  • 6 Idee introduttive

    Il problema si trasforma, allora, nel calcolo del numero reale tale che

    = g() (1.2)

    Unidea per il calcolo del punto sso consiste nel cercare di migliorare una stima iniziale x0,mediante un procedimento iterativo del tipo seguente ed illustrato in Figura 1.2

    x+1 = g(x), = 0, 1, 2, (1.3)

    Naturalmente, anche il procedimento sia utile occorre che siano vericate alcune condizioni.In particolare, la successione x deve rimanere nel dominio di denizione della funzione g(x) econvergere al punto sso . Per essere, poi, conveniente, la convergenza non deve essere troppolenta. In Figura 1.2 sono rappresentati i quattro possibili comportamenti. In maniera intuitivasi vede che, se la funzione g(x) e` derivabile, si ha convergenza quando e` vericata la condizione|g(x)| < 1 (piu` in generale, come vedremo nel seguito, quando la funzione g(x) e` una contrazione).La velocita` di convergenza dipende da quanto e` piccola la funzione |g(x)| nel punto sso (piu`in generale, la costante di contrazione).

    Figura 1.2 Metodo iterativo per il calcolo del punto sso.

    Lanalisi del metodo, per ora soltanto intuitiva, e` servita a mettere in luce alcuni criteri utiliper la scelta della funzione g(x). Vale la pena sottolineare che, se il problema di partenza e` laricerca di uno zero della funzione f(x), la funzione g(x) deve essere scelta. Un altro aspetto dicui tenere conto, in tale scelta, e` il costo (in termini di operazioni elementari) del calcolo di g(x).Il costo complessivo risulta, infatti, dal costo di ogni iterazione per il numero delle iterazioni equindi e` il risultato sia della velocita` di convergenza che del costo per ogni valutazione di g(x).

    Osservazione 1.1 Il metodo (1.3) puo` essere generalizzato in diverse direzioni. Da un lato si puo`considerare il punto unito come intersezione di due curve (x), g(x), con (x) non necessariamente datadalla retta y = x, e considerare, quindi, il procedimento iterativo

    (x+1) = g(x), = 0, 1, 2, . . .

    Naturalmente la funzione dovra`, per quanto riguarda il problema del calcolo degli zeri, essere piu`semplice della funzione f(x).

    analisi numerica cV. Comincioli

  • 1.2 Principi di fondo 7

    Unaltra generalizzazione consiste nel tenere memoria di piu` termini della successione {x}, conside-rando procedimenti a piu` passi deniti nel modo seguente

    x+1 = G(x , x1, x2, , xr+1)Per tali metodi si pone il problema di dare r stime iniziali; ma in generale, a parita` di velocita` di convergenzaessi risultano piu` economici, in termini di numero di operazioni, dei metodi a un passo. Essi realizzano,infatti, un migliore sfruttamento della memoria.

    Vediamo, ora, una classica applicazione del procedimento iterativo (1.3).

    Esempio 1.4 Calcolo della radice quadrata.Lequazione x2 = c, con c > 0, puo` essere scritta nella forma x = g(x) ad esempio nei due modi seguenti

    x =12

    (x+

    c

    x

    )(1.4)

    x =c

    x(1.5)

    Nel caso dellequazione (1.4) si ha: g() = 0, mentre per lequazione (1.5) si ha: g() = 1, ove = c.Nel primo caso si ha convergenza, mentre nel secondo la successione oscilla alternativamente fra x0 e

    c/x0.E` interessante vedere la rapidita` di convergenza nel primo caso. Assumendo ad es. c = 2 e x0 = 1.5

    mediante il seguente programma in doppia precisione (8 bytes)

    c=2.; xt=sqrt(c);

    x=1.5;

    while (abs(x-xt)>=1.e-14)

    x=(x+c/x)/2;

    [x,xt]

    end

    si ottengono i risultati riportati in Tabella 1.1.

    x2

    1 1.416666666666667 1.4142135623730952 1.414215686274510 1.4142135623730953 1.414213562374690 1.4142135623730954 1.414213562373095 1.414213562373095

    Tabella 1.1 Risultati delliterazione di Newton.

    Da essa si ricava linformazione che la convergenza e` di tipo quadratico, cioe` se x ha t cifre esatte,allora x+1 ha almeno 2t 1 cifre esatte. Si puo` facilmente vericare che il metodo iterativo basatosulla trasformazione (1.4) non e` altro che il metodo delle tangenti, o metodo di Newton (vedi Figura 1.3)applicato allequazione: f(x) = x2 c = 0. Come vedremo nel seguito, la convergenza quadratica e` unacaratteristica del metodo di Newton quando le radici sono distinte.

    Problema dierenziale a valori iniziali

    Un problema dierenziale a valori iniziali del tipo{y(x) =f(x, y)y(x0)=y0

    (1.6)

    analisi numerica cV. Comincioli

  • 8 Idee introduttive

    Figura 1.3 Illustrazione del metodo di NewtonRaphson.

    puo` essere trasformato nella seguente equazione integrale equivalente

    y(x) = y0 + xx0

    f(t, y(t))dt

    per la quale e` possibile applicare un procedimento iterativo del tipo visto in precedenza. In eetti,posto, ad esempio: y0(x) = y0 si costruisce la successione di funzioni {y(x)} calcolando

    y+1(x) = y0 + xx0

    f(t, y(t))dt (1.7)

    Sotto opportune ipotesi di regolarita` sulla funzione f(x, y) (lipschitziana in y) , si ha che lasuccessione converge alla soluzione del problema a valori iniziali e, quindi, il procedimento puo`essere di tipo costruttivo. Osserviamo, comunque, che per essere veramente tale e` ancora necessarioun metodo numerico per il calcolo dei successivi integrali.

    1.2.2 Approssimazione locale

    Lidea dellapprossimazione locale consiste nel sostituire ad una funzione complicata, cioe` noncalcolabile direttamente, una funzione piu` semplice. Il signicato preciso del termine semplicedipende dal contesto, cioe` dalluso che di tale funzione viene fatto. Le procedure piu` comuni perottenere questo tipo di approssimazione sono basate su uno sviluppo in serie troncato oppure suuna operazione di interpolazione.

    Sviluppo in serie

    Consideriamo, ad esempio, il problema del calcolo della soluzione del seguente sistema non lineare

    F (x) = 0 (1.8)

    ove F : Rn Rn.A partire da una stima della soluzione, che indichiamo con x0, cerchiamo un vettore Rn

    tale che

    F (x0 + ) = 0 (1.9)

    analisi numerica cV. Comincioli

  • 1.2 Principi di fondo 9

    A tale scopo, supponendo la funzione F (x) sucientemente regolare, sviluppiamo la funzione F inserie intorno al punto x0. Arrestandoci al termine di primo grado, si ottiene il seguente problemaapprossimato

    F (x0) + F (x0) = 0

    che, essendo di tipo lineare, e` in generale piu` facilmente risolubile del problema originario.Naturalmente, avendo trascurato nello sviluppo in serie i termini di grado superiore al primo, il

    vettore e`, in generale, solo una approssimazione della soluzione del sistema (1.9). Per migliorarela precisione si puo` utilizzare la precedente idea delliterazione, sostituendo a x0 il valore x0 + .

    Interpolazione

    Lidea dellinterpolazione consiste nel sostituire ad una funzione f(x) denita su un intervallo (a, b)un polinomio P (x), che assume gli stessi valori della funzione f(x) in punti pressati dellintervallodi denizione, detti punti di collocazione.

    Unidea piu` generale consiste, data una suddivisione dellintervallo, nel sostituire alla funzionef(x) una funzione polinomiale a tratti, cioe` una funzione denita su ogni tratto della suddivisionecome un polinomio di un grado pressato.

    Come vedremo piu` dettagliatamente nel seguito, in particolari situazioni, come ad esempio inproblemi relativi allo smoothing di dati sperimentali o allapprossimazione di soluzioni di equa-zioni dierenziali, linterpolazione mediante polinomi a tratti presenta dei vantaggi di miglioreadattabilita` rispetto alla interpolazione con lo stesso polinomio su tutto lintervallo.

    La procedura di interpolazione e` di base per costruire numerosi algoritmi. Vediamo alcuniesempi.

    Esempio 1.5 Approssimazione di un integrale. Per approssimare lintegrale:

    I = ba

    f(x)dx

    di una funzione f(x), di cui non e` nota una primitiva, si puo` sostituire alla f(x) una funzione, piu` semplicerispetto alloperazione di integrazione. Utilizzando lidea dellinterpolazione, si sostituisce alla funzione f(x)il polinomio interpolatore relativo a un insieme di punti (i nodi) dellintervallo (a, b) oppure un polinomioa tratti relativo alla suddivisione introdotta dai nodi.

    Figura 1.4 Formula dei trapezi.

    analisi numerica cV. Comincioli

  • 10 Idee introduttive

    Introducendo, ad esempio, una suddivisione dellintervallo (a, b) in parti uguali, con passo h = (b a)/n, n , intero 1, e utilizzando i polinomi a tratti di primo grado, si ottiene come approssimazione lanota formula dei trapezi, illustrata in Figura 1.4 e denita nel modo seguente

    I T (h) := 12h

    n1i=0

    (fi + fi+1) (1.10)

    Supponendo la funzione f(x) sucientemente regolare, ad esempio f C2, vedremo successivamente che

    T (h) I = O(h2) (1.11)

    Cioe`, lerrore e` un innitesimo del secondo ordine per h 0.

    Per avere maggiore accuratezza con meno lavoro di quello richiesto dalla formula dei trapezi,si possono seguire le seguenti due idee

    1. approssimare localmente la funzione f(x) mediante polinomi di grado piu` elevato o scegliereopportunamente i nodi.

    2. calcolare la formula dei trapezi per dierenti valori di h e allora estrapolare per h = 0.

    Esaminiamo, in particolare, la seconda idea.Supponiamo di aver calcolato la formula (1.10) per 2h e h. Allora, ricordando la (1.11),

    abbiamo i seguenti risultati

    T (2h) I k(2h)2T (h) I k(h)2

    ove k e` indipendente da h. Considerando le equazioni precedenti come un sistema nelle dueincognite I, k, si ha in particolare

    I T (h) + 13(T (h) T (2h))

    In questo modo, trattando il simbolo di come se fosse un simbolo di uguaglianza, si e` ottenutoper lintegrale un valore piu` accurato. Eettivamente, come vedremo successivamente, cio` e`vero per h sucientemente piccolo, cioe` asintoticamente.

    Il procedimento ora seguito, di cui lasciamo come esercizio linterpretazione graca, e` noto comemetodo di estrapolazione.

    Il suo interesse numerico sta nel fatto che per ottenere il nuovo valore non si e` piu` calcolata laformula (1.10), che, contenendo il calcolo della funzione f(x), rappresenta, in generale, la partepiu` costosa del procedimento.

    Naturalmente lidea non si limita a questo particolare caso, ma trova applicazione, comevedremo, in numerose altre situazioni.

    Esempio 1.6 Problemi dierenziali ai limiti. Consideriamo il seguente problema ai limiti

    y(x) + (x)y = f(x), (x) 0 x (a, b) (1.12)y(a) = y(b) = 0 (1.13)

    analisi numerica cV. Comincioli

  • 1.3 Brevi richiami di analisi funzionale 11

    Vedremo successivamente che una formulazione del problema equivalente alla precedente e` la seguente

    minz

    [12

    ( ba

    z2 dx+ ba

    (x)z2 dx

    ) ba

    zf(x) dx

    ](1.14)

    ove il minimo e` preso su tutte le funzioni z(x) che sono di quadrato sommabile su (a, b) insieme alle derivataprima e nulle in a e b.

    Unidea per approssimare la soluzione di (1.12), (1.13) consiste nellintrodurre una reticolazione del-lintervallo (a, b) e nellapprossimare localmente la derivata seconda mediante dei rapporti incrementali .

    Per il problema nella forma (1.14), si puo`, invece, approssimare lo spazio di funzioni in cui si cerca ilminimo mediante uno spazio di funzioni a dimensione nita (ad esempio lo spazio delle funzioni polinomialia tratti).

    Naturalmente, si pone anche qui il problema dellaccuratezza della soluzione approssimata, che nel casodella formulazione in termini di derivate, e` legata alla precisione con cui si approssima la derivata (errore didiscretizzazione locale) e nel caso della formulazione (1.14) alla distanza tra lo spazio delle funzioni continuee quello delle funzioni discrete (errore di interpolazione).

    1.3 Brevi richiami di analisi funzionale

    Lanalisi funzionale fornisce insieme uno strumento eciente per lo sviluppo di nuove teorie e lapossibilita` di estrarre le idee essenziali con un linguaggio preciso ed elegante.

    Per questo motivo, in questo paragrafo verra` fatta una rapida rassegna dei principali concetti,rinviando per una piu` adeguato approfondimento ad esempio a Brezis [60], Milne [294], Yosida[439], Zeidler [442].

    1.3.1 Spazi lineari

    Denizione 1.1 Sia X = {x, y, z, . . .} un insieme e K = {, , , . . .} un campo di scala-ri. Sia denita unoperazione di somma tra due qualunque elementi di X ed unoperazione dimoltiplicazione scalare tra ciascun elemento di K e ciascun elemento di X in modo tale che

    (i) x X, y X x+ y X(ii) x X, K x X(iii) x+ y = y + x(iv) (x+ y) + z = x+ (y + z)

    (v) Esiste un elemento 0 X tale che x+ 0 = x per ogni x X(vi) Per x X esiste un unico elemento, chiamato lopposto di x e denotato con x, tale che

    x+ (x) = 0(vii) (x) = ()x

    (viii) (x+ y) = x+ y(ix) ( + )x = x+ x

    (x) 1x = x

    Allora X e` detto spazio lineare sul campo K.

    Nel caso in cui K e` il campo dei numeri reali X e` detto uno spazio lineare reale. Nel seguito,salvo avviso contrario, considereremo, in particolare, spazi lineari reali.

    analisi numerica cV. Comincioli

  • 12 Idee introduttive

    Esempio 1.7 Vi sono numerosi esempi di spazi lineari di interesse nella matematica applicata e nella-nalisi numerica

    (a) Lo spazio Rn dei vettori ad n componenti, con lusuale denizione di addizione e moltiplicazioneper uno scalare.

    (b) Lo spazio delle funzioni m-volte continuamente dierenziabili su un intervallo della retta reale[a, b], denotato con C(m)([a, b]). Laddizione e la moltiplicazione per uno scalare e` intesa nelsenso usuale, cioe` per punti.

    (c) Lo spazio Lp() delle funzioni a potenza p-ma sommabile su un insieme misurabile Rn, n 1.

    (d) Lo spazio lp delle successioni di numeri reali {xi} tali che:i=1

    |xi|p 0 esistono n elementi linearmente indipendenti inX, allora X e` detto di dimensione innita.

    Denizione 1.4 Un insieme di n elementi x1, x2, . . . , xn linearmente indipendenti di uno spazioX e` chiamata una base per X se ogni x X puo` essere espresso come una combinazione linearedegli elementi xi, i = 1, 2, . . . , n.

    Esempio 1.8 {1, x, x2, . . . , xn} e` una base per lo spazio Pn dei polinomi di grado n.

    Esempio 1.9 Lo spazio delle funzioni continue C0([a, b]) ha dimensione innita.

    Esempio 1.10 Rn ha come base linsieme di vettori {e1, e2, . . . , en}, ove:ei = ( 0, 0, , 0, 1, 0, , 0 )

    1, 2, , i 1, i, i+ 1, , nSi dimostra facilmente il seguente risultato:

    Teorema 1.1 Uno spazio lineare X e` di dimensione nita n se e solo se ha una base di nelementi.

    Inoltre, ogni insieme di elementi x1, x2, . . . , xn di X genera uno spazio di dimensione nita,chiamato lo spazio generato da tali elementi e indicato con span(x1, x2, . . . , xn).

    analisi numerica cV. Comincioli

  • 1.3 Brevi richiami di analisi funzionale 13

    1.3.2 Norme

    Analizzando i metodi di approssimazione e` necessario spesso confrontare o misurare la dierenzafra le varie risposte. Si tratta, pertanto, di introdurre una distanza tra due punti di uno spaziolineare.

    Denizione 1.5 Uno spazio lineare X e` detto normato se esiste una applicazione: X R+,chiamata norma e indicata usualmente con x, tale che

    (i) x 0, per ogni x X.(ii) x = 0 se e solo se x = 0.(iii) x = || x, per ogni x X, K.(iv) Per ogni x, y X, vale la disuguaglianza triangolare

    x+ y x+ y

    Il numero x y denisce una distanza tra i punti x e y.

    Osservazione 1.2 Una seminorma e` unapplicazione: X R+, indicata talvolta con |x|, che soddisfa lecondizioni (i), (iii), (iv). Si dice che |x| e` non triviale se e solo se |x| > 0 per almeno un elemento x X.

    Osservazione 1.3 Nel linguaggio della matematica astratta lintroduzione di una norma comporta lin-troduzione nello spazio lineare di una topologia che permette di generalizzare i concetti geometrici di intor-no, convergenza, ecc. Per denire la distanza tra due punti si potrebbe utilizzare la nozione piu` generale dimetrica e considerare gli spazi metrici, anziche gli spazi normati. Tuttavia, la maggior parte dei problemiin analisi numerica puo` essere discussa adeguatamente nel contesto degli spazi lineari normati.

    Successivamente si esamineranno in particolare le norme di vettore e di matrice.

    1.3.3 Spazi a dimensione innita

    Estendiamo ora lidea di base ad uno spazio a dimensione innita.

    Denizione 1.6 Un insieme di elementi x1, x2, . . . di uno spazio normato X e` detto chiuso (ocompleto) in X se per ogni x X e > 0 esiste un n e un insieme di scalari 1, 2, . . . , n taliche

    xn

    i=1

    ixi

    Se linsieme {xi} e` chiuso in X e linearmente indipendente (cioe`, tutti i sottoinsiemi niti sonolinearmente indipendenti), allora si dice che {xi} e` una base per X.

    Uno spazio e` detto separabile se possiede una base numerabile (o nita). Sono gli spazi piu`interessanti dal punto di vista numerico e nel seguito considereremo, in particolare, spazi chevericano tale proprieta`.

    analisi numerica cV. Comincioli

  • 14 Idee introduttive

    Spazi di Banach e di Hilbert

    Denizione 1.7 Una successione {xn} in uno spazio lineare normato e` detta successione diCauchy se

    limn limp xn+p xn = 0 (1.15)

    Denizione 1.8 Uno spazio lineare normato X e` detto completo se ogni successione di Cauchyin X converge a un elemento in X. Uno spazio normato completo e` detto spazio di Banach.

    Esercizio 1.1 Dimostrare che ogni spazio lineare normato a dimensione nita e` completo.

    Esercizio 1.2 Dimostrare che lo spazio C([a, b]) non e` completo rispetto alla norma

    x =( b

    a

    x2(t) dt

    )1/2Fornire un controesempio.

    Denizione 1.9 Sia X uno spazio lineare reale. Su di esso e` denito un prodotto scalare se adogni x, y X e` associato un numero reale, denotato usualmente con (x, y), tale che

    1. (x, x) 0 e se (x, x) = 0 x = 0.2. (x, y) = (y, x).

    3. (x, y) = (x, y).

    4. (x+ y, z) = (x, z) + (y, z).

    Se si ponex = (x, x)1/2

    si ottiene uno spazio normato. Se X risulta completo allora viene detto spazio di Hilbert.

    Ricordiamo, lasciando la dimostrazione come esercizio, la seguente utile disuguaglianza.

    Proposizione 1.1 (Cauchy-Schwarz) Dato uno spazio lineare X dotato di un prodotto scalare (, ),si ha per ogni x, y X:

    |(x, y)|

    (x, x)(y, y) = x yLangolo tra due elementi x, y e` denito da

    = arccos(x, y)x y

    Due elementi x, y sono ortogonali se = /2, cioe` se (x, y) = 0. Un elemento x e` detto ortogonalea un sottospazio di X se

    (x, ) = 0 .Lelemento z = (x, y)x/(x, x) e` la proiezione ortogonale di y su x; il vettore y z e` ortogonale ax.

    Si lascia come esercizio la dimostrazione della seguente proprieta`.

    analisi numerica cV. Comincioli

  • 1.3 Brevi richiami di analisi funzionale 15

    Proposizione 1.2 Per ogni x, y in uno spazio dotato di prodotto scalare si ha la seguente ugua-glianza, detta legge del parallelogramma

    x + y2 + x y2 = 2x2 + 2y2 (1.16)

    Sex + y = x+ y

    allora x e y sono linearmente dipendenti e se inoltre x = y, allora x = y.

    1.3.4 Trasformazioni e operatori

    Sia S1 un sottoinsieme di uno spazio lineare X e S2 un sottoinsieme di uno spazio lineare Y .Una trasformazione da S1 in S2 e` denita assegnando una regola che associa ad ogni elementodi S1 un unico elemento di S2. Chiamiamo operatore la rappresentazione di una trasformazione.Lequazione

    Tx = y

    indica che loperatore T trasforma lelemento x S1 in un elemento y S2. Linsieme di tutti glielementi per i quali T e` denito e` il dominio di T , denotato con D(T ). Linsieme degli elementiy = Tx per x D(T ) e` limmagine o range di T , denotato con R(T ).

    La trasformazione e` suriettiva su S2 se R(T ) = S2; iniettiva se Tx1 = Tx2 x1 = x2.Per una trasformazione iniettiva e` denita una trasformazione da R(T ) in D(T ) tale che

    y R(T ) esiste un unico x con Tx = y; loperatore che rappresenta tale trasformazione e`chiamato linverso di T e denotato con T1.

    Le operazioni di addizione di operatori e di moltiplicazione per uno scalare si deniscono inmodo ovvio; se T1 e T2 hanno un dominio comune X e e` uno scalare allora per ogni x X si ha

    (T1 + T2)x = T1x + T2x, x X(T )x = (Tx)

    Se T1 e T2 sono due operatori tali che R(T2) e` contenuto in D(T1), allora possiamo denire ilprodotto T1T2 ponendo

    (T1T2)x = T1(T2x)

    Naturalmente, non vale in generale la proprieta` commutativa, cioe`, in generale, T1T2 = T2T1.Se un operatore T e` invertibile, allora

    T1T = I, TT1 = I, (I = identita`)

    Per gli operatori che non hanno inversa si puo` introdurre un un concetto meno restrittivo.

    Denizione 1.10 Se esiste un operatore T1L tale che

    T1L T = I

    allora esso e` chiamato inverso a sinistra di T . Analogamente T1R e` detto inverso a destra se:

    TT1R = I

    analisi numerica cV. Comincioli

  • 16 Idee introduttive

    Si lascia come esercizio la dimostrazione delle seguenti proprieta`.

    1. Se esiste sia linverso a sinistra che linverso a destra, allora essi coincidono con linverso.2. Se esiste T1R , allora T e` suriettiva su Y e lequazione Tx = y ha almeno una soluzione x = T

    1R y.

    3. Se esiste T1L , allora T e` iniettiva. Se lequazione Tx = y ha una soluzione, allora tale soluzionee` unica, data da x = T1L y.

    Esercizio 1.3 Mostrare che loperatore d/dx : C1([a, b]) C([a, b]) e` suriettivo ma non iniettivo.Quali sono gli operatori inversi a destra di tale operatore?

    Denizione 1.11 Un operatore L e` detto lineare se il suo dominio e` uno spazio lineare e se

    L(x+ y) = Lx + Ly

    per tutti gli x, y D(L) e tutti gli scalari , .Denizione 1.12 Un operatore T : X Y , con X,Y spazi lineari normati, e` detto limitato see solo se esiste una costante c

  • 1.3 Brevi richiami di analisi funzionale 17

    Denizione 1.13 Un operatore T e` continuo in x se per ogni successione {xn} convergente a xsi ha

    limn Txn Tx = 0

    Lasciamo come esercizio il seguente risultato.

    Proposizione 1.4 Un operatore lineare L e` continuo nel dominio di denizione se e solo se e`continuo in 0 e se e solo se esso e` limitato.

    Per operatori non lineari, invece, si ha che la limitatezza implica la continuita` ma non il viceversa(dare controesempi). Per una funzione di variabile reale la condizione (1.17) signica la continuita`di Lipschitz, che e` una condizione piu` forte della continuita` ordinaria.

    Esercizio 1.5 Se L e` un operatore lineare, mostrare che R(A) e` uno spazio lineare. Mostrare conesempi che questo non e` necessariamente vero per un operatore nonlineare.

    Ricordiamo inne il seguente importante risultato.

    Teorema 1.2 (BanachSteinhaus) Siano X e Y due spazi di Banach e {Ti}, i I, una famiglia(non necessariamente numerabile) di operatori lineari e continui da X in Y . Se

    supiI

    Tix

  • 18 Idee introduttive

    1.3.5 Importanza della scelta della norma

    Terminiamo questa panoramica di nozioni di analisi funzionale richiamando lattenzione sullim-portanza di unopportuna scelta della norma in uno spazio lineare. A tale scopo, consideriamo ilseguente esempio.

    Sia k 1 un numero assegnato, destinato a tendere a +. Deniamo per ogni k la seguentefunzione sullintervallo [0, 3]

    fk(x) =

    k(k2x 1), per 1

    k2 x 2

    k2

    k(k2x 3), per 2k2 x 3

    k2

    0, altrove.

    Indicando con p la norma nello spazio Lp(a, b), si possono dimostrare facilmente i seguentirisultati, che mostrano il diverso comportamento della successione, per k , a secondo dellanorma utilizzata

    fk(x)1 := 30|fk(x)| dx = 1

    k 0

    fk(x)2 :=( 3

    0|fk(x)|2 dx

    )1/2=23

    fk(x) := maxx[0,3]

    |fk(x)| = k

    1.4 Classicazione dei problemi computazionali

    Come ogni classicazione, anche quella che ora presenteremo, non ha lo scopo, del resto impossi-bile, di catalogare in forma precisa i vari tipi di problemi numerici, quanto piuttosto di fornire unquadro macroscopico di riferimento per quanto riguarda le dierenti dicolta` e quindi le dierentitecniche.

    In forma schematica e facendo riferimento alle notazioni del paragrafo precedente, possiamorappresentare un problema numerico nella forma seguente

    Tx = y (1.19)

    ove x X, y Y ; X,Y sono spazi lineari e T e` un operatore : X Y . Si possono distinguere iseguenti tre tipi di problemi, in ordine crescente di dicolta`.

    1. Il problema diretto. Dato x e T , determinare y. Problemi di questo tipo sono, ad esempio: ilcalcolo del valore di una funzione assegnata, per un valore ssato della variabile indipendente; ilcalcolo di un integrale denito. Nel secondo esempio linput e` la funzione integranda e linsiemedi integrazione mentre T e` loperatore di integrazione.

    2. Il problema inverso. Dato T e y, determinare x. Esempi sono: la risoluzione di un sistema diequazioni; la risoluzione di un problema dierenziale a valori iniziali o ai limiti. Nel caso, adesempio, della risoluzione di un sistema lineare Ax = b, si conosce loutput b, loperatore A e sivuole conoscere linput x.

    analisi numerica cV. Comincioli

  • 1.4 Classicazione dei problemi computazionali 19

    Figura 1.6 Rappresentazione schematica di un problema numerico.

    3. Problema di identicazione. Dato una famiglia di x e y, trovare T . E`, in sostanza, il problemadella costruzione di un modello matematico.

    E` opportuno sottolineare che problema diretto non signica necessariamente assenza di di-colta` numeriche. Nel seguito studieremo ad esempio lapprossimazione di una funzione mediantefunzioni piu` semplici (ad esempio, polinomi), cioe` calcolabili con un numero nito di operazioni.Tale approssimazione e` la base per la costruzione di algoritmi per il calcolo di funzioni non ele-mentari e per arontare il problema dellintegrazione e della derivazione. Le questioni numericheche si pongono per un problema diretto riguardano lo studio degli errori di troncamento e dellaconvergenza, nonche della stabilita` degli algoritmi proposti.

    Il problema inverso rappresenta, anche per le sue importanti applicazioni, il problema cen-trale nellanalisi numerica. In alcuni casi particolari esso puo` essere ricondotto a un problemadiretto. Si pensi ad esempio alla formula risolutiva di un sistema lineare mediante il calcolo del-linversa, oppure alle formule per lintegrazione di particolari equazioni dierenziali ordinarie (adesempio lineari), alle funzioni di Green per certe equazioni dierenziali ellittiche. La conoscen-za delloperatore inverso puo` essere interessante dal punto di vista teorico e, talvolta, anche dalpunto di vista pratico, per evidenziare il comportamento qualitativo della soluzione. Tuttavia,dal punto di vista numerico, cioe` per una valutazione quantitativa, essa non e` necessariamentedi aiuto. Nel caso, ad esempio, di un sistema lineare il calcolo dellinversa della matrice non e`sempre lo strumento numerico piu` adatto per il calcolo della soluzione.

    Il problema di identicazione, il piu` ambizioso dei tre tipi di problemi, in generale presentale piu` grosse dicolta`. Analizziamo come esempio una situazione particolare che si inquadranella teoria dellapprossimazione. Supponiamo che una funzione sia data solo per punti, cioe` informa tabellare e che si voglia conoscere i valori della funzione in punti diversi da quelli dati. Ilproblema e`, quindi, quello di approssimare una funzione sulla base della conoscenza di alcuni suoivalori, che possono essere, ad esempio, dati sperimentali . Chiaramente, il problema puo` non averesoluzione unica, a meno che non si restringa opportunamente la classe delle funzioni ammissibilie si precisi il senso di vicino, mediante la scelta di una particolare norma. Quando gli spazi Xe Y sono a dimensione innita, si puo` assumere come approssimazione di T una combinazionenita di elementi di una base, ad esempio una combinazione di polinomi. Il problema e` in questomodo ricondotto alla ricerca di un numero nito di parametri (gradi di liberta`), che usualmentevengono calcolati minimizzando una opportuna misura dello scarto tra i dati del problema e quelliforniti dalla approssimazione di T . Si ha, quindi, in denitiva un problema di programmazionematematica, che sara` trattato nel seguito.

    Un approccio, concettualmente simile, ma con evidenti dicolta` aggiuntive, puo` essere adot-tato nella situazione piu` generale quando, anziche una funzione, loperatore incognito T e` un

    analisi numerica cV. Comincioli

  • 20 Idee introduttive

    problema dierenziale, integrale, alle dierenze, ecc. In questo caso loperatore T , viene stimatocon operatori semplici, ad esempio lineari. Si costruisce cioe` un modello matematico. Solita-mente nel modello sono presenti dei parametri, in generale con un signicato sico, chimico, ecc.La loro funzione e` quella di adattare il modello approssimato ai dati sperimentali. Il loro calcolocomporta, quindi, come abbiamo visto in precedenza, la risoluzione di problemi di ottimizzazio-ne. Una volta calcolati i parametri si tratta di vedere se il modello corrispondente e` adeguatoa descrivere il fenomeno corrispondente ai dati sperimentali. E` questo un punto estremamentedelicato del processo di modellizzazione, che comporta, in particolare, una scelta signicativa deidati sperimentali.

    In denitiva, per quanto riguarda laspetto numerico, i problemi di identicazione richiedonola risoluzione (eventualmente iterata) di problemi di tipo diretto o inverso e, in particolare, diproblemi di ottimizzazione.

    1.5 Esempi introduttivi di Matlab

    Condizione indispensabile per imparare ad usare Matlab (link 1) e` poter disporre su calcolatoredi una sua versione (meglio se versione 6, o versioni successive).

    Mediante le istruzioni

    >> help

    >> help help

    >> demo

    si possono apprendere rapidamente le nozioni e le istruzioni di base, che saranno quindi suppostenote per il seguito. Come un qualunque altro linguaggio, vale sempre il principio che il modomigliore per apprenderlo e` usarlo!

    In questo libro lambiente Matlab e` utilizzato principalmente come strumento utile per imple-mentare e analizzare i metodi e gli algoritmi numerici. Allo stesso scopo possono, naturalmente,essere utilizzati altri ben noti linguaggi di programmazione (Fortran, C,. . . ).

    Per comodita`, in questo capitolo a carattere introduttivo vengono evidenziate, mediante alcunesemplici applicazioni, dierenti caratteristiche e possibilita` di Matlab (per una introduzione piu`organica si veda ad esempio [309]).

    Ad esempio, il seguente segmento di programma

    % simbolo utilizzato per commenti

    u=rand(1,2000000); v=rand(2000000,1);% generazione di due vettori random

    t=cputime; %inizializza il tempo di cpu

    tic % altro modo di valutare il tempo di esecuzione

    p=u*v; % prodotto scalare

    toc % chiude tic e mostra il tempo impiegato in secondi

    cputime-t % tempo di e