Previous Up Next

Chapter 1  Introduzione

In questo capitolo, si cercherà di mostrare come la risoluzione di sistemi lineari sia una pratica fondamentale in un ampio spettro di campi applicativi e quali possano essere le motivazioni per lo sviluppo di un metodo che faccia uso di una quantità ridotta di memoria rispetto ad altri strumenti.

1.1  Risoluzione di sistemi lineari e loro applicazione

Da sempre il progresso scientifico si basa sulla stretta alternanza tra l’osservazione di un fenomeno e la formulazione di una teoria o di un modello che lo descriva. Questo modello deve essere mantenuto il più semplice possibile, introducendo alcune assunzioni semplificatrici (per esempio, nello studio dei pianeti, essi vengono solitamente considerati come punti dotati di massa), ma tutti gli effetti rilevanti devono essere presi in considerazione. Quanto elaborato deve poi essere verificato sia sotto l’aspetto della correttezza (coerenza nella descrizione dell’evento), sia dal punto di vista della completezza (precisione della descrizione).

Il modello, quindi, è utilizzato per fare previsioni sull’evoluzione del fenomeno (si considerino le previsioni del tempo). Questo si concretizza con la sua simulazione su calcolatore.

Le simulazioni numeriche sono spesso assai onerose, dal punto di vista computazionale, in quanto la dimensione del problema da risolvere può essere elevata. Queste necessità portano alla richiesta di un’elevata potenza di calcolo: non è un caso, infatti, che i più grandi supercalcolatori siano stati costruiti proprio in risposta alle richieste del calcolo scientifico.

Un gran numero di problemi scientifici, si stima addirittura il 75% (cfr. [, pg. 137]), necessita di dover risolvere un sistema di equazioni lineari. Questa attività è infatti uno di quei problemi “di base” che ricorrono molto di frequente nella pratica, e risulta essere un elemento standard nei calcoli numerici ed un costituente fondamentale per molte applicazioni scientifiche, dell’ingegneria, dell’industria ed in tutti quei campi in cui si fa uso di modelli matematici.

Nell’ambito della fisica si trovano molte applicazioni dirette alla risoluzione dei sistemi lineari, per esempio nello studio dei circuiti elettrici: il flusso di corrente in un circuito elettrico deve soddisfare le leggi di Kirchhoff (cfr. [, pg. 773, 779]) per il bilanciamento delle differenze di potenziale all’interno dei cicli e delle correnti nei nodi. Queste equazioni sono lineari nei valori delle resistenze e delle sorgenti di energia e la risoluzione del sistema associato restituisce le correnti attraverso ogni nodo del circuito (cfr. [] []).

Un altro esempio in cui l’applicazione dei sistemi lineari è diretta si ha nei problemi di statica in meccanica strutturale: si consideri il calcolo dello stress e del bilanciamento delle forze in una struttura come un edificio, il telaio di un aereo oppure un ponte; in quest’ultimo caso si ha che le forze dovute alla massa del ponte e dei mezzi che lo percorrono devono essere bilanciate dai pilastri su cui poggia, così come le forze di torsione in ogni giunzione devono essere nulle, altrimenti il ponte inizierebbe a oscillare. Questa evenienza si è talora verificata, come nel caso del Takoma National Bridge (cfr. [] []). Scomponendo le forze nelle componenti verticali ed orizzontali si ottengono, in ogni nodo, i vincoli ∑ fx =0 e ∑fy =0. Studiando il ponte nella sua interezza si giunge ad un sistema lineare di vincoli la cui risoluzione porta a conoscere le forze di sollecitazione nella struttura (cfr. [] [] []).

Anche se non in modo diretto, la risoluzione di sistemi lineari ricorre con frequenza come passaggio intermedio di un problema più complesso: la risoluzione di un sistema non lineare tramite il metodo di Newton, ad esempio, richiede di risolvere un sistema lineare ad ogni iterazione.

Un altro esempio riguarda la soluzione di equazioni differenziali, il cui utilizzo è fondamentale in ogni ambito scientifico: infatti, l’utilizzo dei cosiddetti metodi impliciti, genera una successione di sistemi non lineari da risolvere. Come detto innanzi, la risoluzione di ciascuno di questi richiede di risolvere un certo numero di sistemi lineari.

Anche in altre situazioni si richiede la risoluzione di sistemi lineari: problemi di vibrazioni, discretizzazione di problemi continui come integrali ed equazioni differenziali, approssimazioni ai minimi quadrati, modellizzazione di antenne, analisi di campi elettromagnetici, ecc.

Diverse sono anche le applicazioni in ambiti molto vari come per le previsioni del tempo, le perforazioni petrolifere, il calcolo delle traiettorie dei satelliti, gli studi medici ed i modelli per la biologia, l’analisi di reazioni chimiche, la crittografia e lo studio dei cambiamenti climatici.

Non si deve, però, pensare che se ne faccia uso solo in campi strettamente scientifici: si trovano applicazioni nelle scienze sociali, per i modelli comportamentali, ed in economia, dove sono stati sviluppati complessi modelli matematici per il bilancio dei flussi di denaro.

Più in generale, tutti i problemi le cui relazioni sono lineari, possono richiedere la risoluzione di sistemi lineari.

1.2  Motivazioni

Sistemi lineari di grandi dimensioni possono presentare problemi di occupazione di memoria, e la necessità di dover risolvere questi sistemi, ha portato l’interesse verso metodi alternativi che guardassero maggiormente al risparmio nell’uso della memoria, piuttosto che alla rapidità di esecuzione.

Lo scopo del presente lavoro di tesi è lo sviluppo di due librerie di software matematico (una in Fortran ed una in C) per la risoluzione efficiente, riguardo alla occupazione di memoria, di sistemi lineari densi di equazioni lineari.


Previous Up Next