Analisi numerica/Motivazioni ed esempi

Wikibooks, manuali e libri di testo liberi.

L'approssimazione numerica mette le sue radici già ai tempi di Newton, Gauss o Eulero. La sua ragione d'essere è dovuta a due principali tipologie problemi: quelli impossibili da risolvere analiticamente (ossia con una formula esplicita) e quelli risolvibili analiticamente ma solo con un numero enorme di passaggi. Nel primo caso la numerica è davvero l'unica strada di risolvere il problema (ovviamente solo in modo approssimato). Nel secondo caso, invece, benché esista una soluzione in forma chiusa, si ricorre a tecniche di approssimazione in modo da ottenere una buona stima della soluzione in tempi ragionevoli.

Vediamo di fare qualche esempio su problemi generali che poi tratteremo in dettaglio nel seguito.

[modifica] Sistemi lineari

L'algebra lineare (e la risoluzione dei sistemi lineari in particolare) è uno dei principali campi di applicazione della matematica numerica. Il motivo di ciò sta nel fatto che la quasi totalità dei problemi numerici si riconduce, alla fine dei conti, alla risoluzione di un più o meno grande sistema lineare. Quest'ultimo può avere, a seconda del problema da cui deriva, determinate proprietà piuttosto che altre, perciò risulta essenziale uno studio approfondito delle varie metodologie di algebra lineare numerica, in modo da poter scegliere per ogni problema il metodo che meglio sfrutta le proprietà che si hanno a disposizione. Una delle applicazioni pratiche più frequenti, ad esempio, è la risoluzione numerica di equazioni alle derivate parziali. La loro discretizzazione porta, in generale, a sistemi lineari la cui matrice ha una buona struttura di sparsità e, nel caso monodimensionale e in determinate situazioni, può addirittura essere tridiagonale. La risoluzione di tali sistemi è estremamente veloce se effettuata con l'algoritmo di Thomas, che vedremo in seguito.

Facciamo un esempio: supponiamo di avere un sistema lineare del tipo

A\underline{x}=\underline{b}

dove A è una matrice n\timesn, mentre \underline{x} e \underline{b} sono due vettori di \mathbb{R}^n. Il sistema lineare ammette un'unica soluzione se e solo se det(A) \neq 0. In tal caso abbiamo una formula esplicita per la soluzione (metodo di Kramers):

x_i = \frac{det(A_i)}{det(A)}

dove Ai si ottiene dalla matrice A sostituendo l'i-esima colonna con il termine noto \underline{b}.

Tuttavia, benché più che soddisfacente dal punto di vista teorico, questa formula è del tutto inutile dal punto di vista pratico. Infatti, per calcolare il determinante di una matrice, bisogna ricorrere alla regola di Laplace, che, per una matrice di ordine n, richiede O(n!) operazioni. Per dare un'idea di cosa questo implichi, supponendo di avere un calcolatore capace di fare un miliardo di operazioni al secondo, per calcolare un solo determinante di una matrice di dimensione 20 occorrerebbero circa 77 anni! Se A fosse tridiagonale, l'algoritmo di Thomas risolverebbe il sistema in O(n) operazioni. La strategia risolutiva è dunque molto importante.

[modifica] Equazioni non lineari

Nelle applicazioni ci si trova spesso a dover risolvere equazioni non lineari del tipo

f(x) = 0

dove f è una funzione non lineare, altrimenti la soluzione è banale.

Cercare gli zeri di funzioni generiche è un problema molto complicato; può accadere che non sia possibile trovare una formula chiusa, oppure che tale formula sia troppo dispendiosa dal punto di vista computazionale (come lo è ad esempio la formula di Kramer per la soluzione dei sistemi lineari).

Il lettore potrebbe essere tentato di pensare che solo equazioni poco urbane richiedano necessariamente un approccio numerico. In realtà, anche per i polinomi, in generale, non esiste una formula chiusa che permetta di ottenere almeno uno degli zeri in funzione dei coefficienti. Nel 1832, infatti, Évariste Galois, matematico francese, la notte prima di morire in un duello, scrisse degli appunti che vennero analizzati successivamente da Liouville. In questi scritti Galois dimostrò che non esistono formule esplicite che permettano di trovare le radici dei polinomi se il grado di questi è superiore al quarto. Questo risultato sancisce la necessità di ricorrere a soluzioni approssimate anche per la ricerca degli zeri dei polinomi, nonostante questi possano sembrare funzioni piuttosto facili da trattare.

[modifica] Approssimazione di integrali

Supponiamo di voler calcolare l'integrale

\int_a^b f(x)dx

dove f soddisfi opportuni criteri di integrabilità (ad esempio sia una funzione continua nell'intervallo [a,b]). Come il lettore ben saprà dai primi libri di analisi, non esiste una formula esplicita per l'integrale di ogni funzione. Occorre trovare di caso in caso la soluzione in base alla forma dell'integranda. Integrare è infatti un problema inverso, che richiede particolari abilità ottenibili sono con costante esercizio. Bisogna inoltre considerare che la funzione potrebbe non ammettere una primitiva elementare, come per esempio nel caso della gaussiana

f(x)=e^{-x^2}.

Come vedremo nel sesto capitolo, l'approssimazione degli integrali è molto intuitiva, almeno nella sua formulazione di base in una dimensione, e permette di calcolare integrali di qualunque funzione continua, aggirando quindi il problema, difficoltoso e a priori non necessariamente risolvibile, di trovare una primitiva.

Strumenti personali