Università degli Studi di Firenze Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Metodi Multigrid per Sistemi Lineari Strutturati e Applicazioni Relatore: Prof. Renzo Sprugnoli Correlatore: Prof. Stefano Serra Capizzano Controrelatore: Prof. Luigi Brugnano Laureando: Marco Donatelli Anno Accademico 2001-2002 2 Indice Prefazione iv Introduzione I 1 I. Un breve cenno alla storia del Multigrid . . . . . . . . . . . . . . . . . . 5 II. Struttura del lavoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Fondamenti Teorici 11 1 Problemi difficili 12 1.1 Successioni di matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2 Fattore di condizione . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3 Ottimalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4 Richardson rilassato 1.5 Scelta del Multigrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Matrici Toeplitz e algebra τ 20 2.1 Matrici Toeplitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 L’algebra τn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3 Relazioni fra algebra τn e matrici Toeplitz . . . . . . . . . . . . . . . 28 2.4 Matrici Toeplitz e τ a blocchi . . . . . . . . . . . . . . . . . . . . . . 31 2.4.1 Toeplitz bilivello . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4.2 Algebra τn,m bilivello . . . . . . . . . . . . . . . . . . . . . . . 33 2.4.3 τ bilivello vs. Toeplitz bilivello . . . . . . . . . . . . . . . . . 35 i ii INDICE 3 Metodi Multigrid 3.1 3.2 Multigrid Geometrico . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1.1 Problema modello . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1.2 Jacobi rilassato . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.1.3 Analisi spettrale . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.4 Coarse Grid Correction (CGC) . . . . . . . . . . . . . . . . . 45 3.1.5 Multi Grid Method (MGM) . . . . . . . . . . . . . . . . . . . 49 Multigrid Algebrico (AMG) . . . . . . . . . . . . . . . . . . . . . . . 51 3.2.1 Teoria di Ruge e Stuben . . . . . . . . . . . . . . . . . . . . . 52 3.2.2 Proprietà di CGC . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.2.3 Two Grid Method . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2.4 Multigrid Method . . . . . . . . . . . . . . . . . . . . . . . . . 56 4 MGM per algebra τ e matrici Toeplitz 58 4.1 Scelta dello smoother . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2 Definizione di un MGM per l’algebra τ . . . . . . . . . . . . . . . . . 62 4.3 Convergenza del TGM per l’algebra τ . . . . . . . . . . . . . . . . . . 64 4.4 MGM per matrici Toeplitz . . . . . . . . . . . . . . . . . . . . . . . . 67 4.5 MGM per matrici τ bidimensionali . . . . . . . . . . . . . . . . . . . 70 4.6 Convergenza del TGM per l’algebra τ bidimensionale . . . . . . . . . 72 4.7 MGM per matrici Toeplitz bidimensionali . . . . . . . . . . . . . . . 75 5 Ottimalità del MGM per l’algebra τ II 37 78 5.1 “Level independency” . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 Convergenza del MGM . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3 Ottimalità del MGM . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.3.1 Risultati intermedi . . . . . . . . . . . . . . . . . . . . . . . . 93 5.3.2 Dimostrazione di ottimalità. . . . . . . . . . . . . . . . . . . . 99 5.3.3 Estensione al caso di uno zero nell’origine o in π. . . . . . . . 106 Applicazioni Numeriche 6 Come implementare un’applicazione MGM 110 111 INDICE iii 6.1 Struttura di un’applicazione Multigrid . . . . . . . . . . . . . . . . . 112 6.2 Un approccio modulare . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.3 Riusabilità dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . 120 6.4 MGM per problemi bidimensionali . . . . . . . . . . . . . . . . . . . 123 6.5 Complessità computazionale . . . . . . . . . . . . . . . . . . . . . . . 128 7 Equazioni Differenziali Ellittiche (PDE) 7.1 135 Discretizzazione di equazioni differenziali . . . . . . . . . . . . . . . . 136 7.1.1 Caso monodimensionale . . . . . . . . . . . . . . . . . . . . . 136 7.1.2 Caso bidimensionale . . . . . . . . . . . . . . . . . . . . . . . 137 7.2 Ottimalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.3 Grado del proiettore . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 7.4 Indipendenza dalla soluzione . . . . . . . . . . . . . . . . . . . . . . . 144 7.5 Matrici Toeplitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 8 Ricostruzione di immagini 149 8.1 Problemi inversi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 8.2 Immagini sfuocate senza rumore . . . . . . . . . . . . . . . . . . . . . 154 8.3 Immagini sfuocate affette da rumore . . . . . . . . . . . . . . . . . . 158 8.4 Regolarizzazione alla Tykhonov . . . . . . . . . . . . . . . . . . . . . 162 9 Risultati numerici 9.1 168 Funzioni generiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 9.1.1 Zero non nell’origine o in π . . . . . . . . . . . . . . . . . . . 169 9.1.2 Matrice a banda elevata . . . . . . . . . . . . . . . . . . . . . 169 9.2 Parametro di rilassamento . . . . . . . . . . . . . . . . . . . . . . . . 170 9.3 Cicli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.4 Numero di iterazioni dello smoother . . . . . . . . . . . . . . . . . . . 175 9.5 Proiettori bidimensionali . . . . . . . . . . . . . . . . . . . . . . . . . 176 Conclusioni 181 Bibliografia 183 Prefazione Il presente lavoro è stato concepito circa un anno fa da una proposta fattami dal correlatore Prof. Stefano Serra Capizzano. Nonostante le difficoltà iniziali, sono rimasto subito colpito dal fascino esoterico emanato dal metodo Multigrid, un’equilibrata combinazione di mistero e potenza, cosı̀ con entusiasmo posso affermare che gli sforzi iniziali sono stati largamente ripagati dai risultati ottenuti e dalle conoscenze acquisite in quest’anno. Devo a riguardo ringraziare particolarmente il Prof. Serra e la Dott. Cristina Tablino Possio per i preziosi suggerimenti, gli innumerevoli insegnamenti ed in particolare per l’amicizia dimostratami. Voglio inoltre ringraziare il mio relatore Prof. Renzo Sprugnoli per la gentilezza e la disponibilità concessami. Colgo l’occasione per ricordare con affetto i miei genitori ed Emanuela che hanno avuto il coraggio e la forza di ascoltarmi e sostenermi anche nei momenti di sconforto o nervosismo. Ci tengo infine a rendere nota la preziosa collaborazione (e amicizia) che è nata con Antonio Aricò proprio a riguardo dei risultati teorici del presente lavoro. Antonio ha lavorato indipendentemente ad alcuni degli argomenti affrontati nella presente tesi (si veda [1]) ed i nostri incontri hanno influenzato positivamente entrambi i lavori, in particolare alcuni risultati del Capitolo 5. iv Introduzione Molti problemi di natura fisica o ingegneristica sono retti da equazioni funzionali che non ammettono soluzione in forma chiusa e dunque necessitano di tecniche (numeriche) di discretizzazione che spesso comportano la risoluzione di sistemi lineari di grandi dimensioni. Comunque le matrici dei coefficienti spesso ereditano una “struttura” del problema continuo e tale informazione può essere convenientemente utilizzata per risolvere efficientemente i problemi discreti. Ad esempio, se il problema fisico possiede la proprietà di essere invariante in spazio o tempo, allora i sistemi lineari risultanti sono di tipo Toeplitz per il caso monodimensionale e Toeplitz a blocchi con blocchi Toeplitz (BTTB) per quello bidimensionale: si ricorda a tale proposito che le matrici di Toeplitz T sono proprio caratterizzate dalla invarianza per shift in quanto Ti,j = ti−j con tk opportuni coefficienti (scalari o matriciali). Alcune applicazioni classiche che rientrano in questa categoria sono la discretizzazione di equazioni differenziali ellittiche (PDE) (Capitolo 7) e la ricostruzione di immagini sfuocate affette o meno da rumore (Capitolo 8). Questi sistemi lineari sono solitamente di dimesioni elevate, in quanto le dimensioni del problema corrispondono al numero di punti di discretizzazione e quindi, per ottenere una precisione maggiore, occorre aumentare la dimensione del sistema. Proprio per la grande importanza che riveste la possibilità di poter trattare problemi di dimensioni sempre maggiori, lo studio di tecniche appropriate è solitamente rivolto all’analisi del loro comportamento al crescere della dimensione del sistema. In tal modo la dimensione n non è considerata fissata ma variabile e dunque è ragionevole 1 2 INDICE studiare non solo il singolo sistema An xn = bn ma piuttosto l’intera successione di sistemi lineari {An xn = bn }n dipendenti da n. Si sottolinea inoltre che le matrici An mostrano anche un elevato malcondizionamento, solitamente dell’ordine di nα con α > 0. Come vedremo α può essere precisamente individuato come il massimo tra gli ordini degli zeri di una opportuna funzione f detta generatrice o simbolo, associabile ad una successione di matrici Toeplitz. Ad esempio, per la discretizzazione della derivata 2q-esima si ha f (x) ∼ kxk2q e dunque α = 2q. Un’ultima proprità importante delle matrici An è che, oltre ad essere Toeplitz (BTTB), usualmente presentano anche una struttura a banda (banda a blocchi con blocchi a banda). Per sistemi di grandi dimensioni aventi un alto numero di malcondizionamento, i metodi diretti, possono richiedere un elevato tempo di calcolo e sono solitamente instabili [7]. Inoltre, se la matrice dei coefficienti ha una struttura particolare e/o una certa sparsità, come avviene per i problemi in questione, questi metodi generalmente non sfruttano le informazioni sulla matrice per accelerare la convergenza e/o ottimizzare lo spazio di memorizzazione. Ad esempio, per sistemi con matrice dei coefficienti Toeplitz, le informazioni necessarie sono 2n − 1 ed il prodotto matricevettore ha un costo O(n log(n)) grazie all’uso della Fast Fourier Transform (FFT). Un metodo diretto classico che si basa ad esempio su una fattorizzazione come LU , QR, LLT , solitamente ha un costo computazionale O(n3 ) e richiede uno spazio di memorizzazione O(n2 ). Nel caso di matrice Toeplitz con ampiezza di banda pari a 2b + 1, le informazioni necessarie sono solo 2b + 1 ed il prodotto matrice-vettore è O(n). Comunque tali metodi diretti non “vedono” la struttura ed infatti la distruggono già nei primi passi, dunque si comportano come nel caso pieno e non strutturato specialmente in presenza di problemi multidimensionali. Nel caso di matrici dei coefficienti Toeplitz sono stati sviluppati anche metodi diretti INDICE 3 chiamati “super-fast”, ma questi metodi, oltre ad essere inerentemente sequenziali, continuano a risentire fortemente dell’instabilità numerica sopra citata. Diversamente, i metodi iterativi risentono molto meno dell’instabilità numerica dovuta al malcondizionamento e sono più facilmente adattabili a problemi con particolari caratteristiche strutturali. Peculiarità dei metodi iterativi è che il numero di condizione influenza la stabilità del metodo in misura minore rispetto ai metodi diretti, ma solitamente è fortemente legata al numero di iterazioni necessarie per raggiungere una certa tolleranza fissata. Ad esempio i metodi iterativi classici come Jacobi o Gauss-Seidel, se applicati ad un sistema derivante dalla discretizzazione della derivata 2q-esima, richiedono un numero di iterazioni dell’ordine di n2q , risultando quindi inapplicabili al crescere di n anche per piccoli valori di q. Il metodo dei Gradienti Coniugati richede sempre un numero di iterazioni del O(n) indipendentemente dal valore di q, ma anche questo per n elevato può risultare di difficile applicabilità. Quelli che quindi si vanno affermando, sono metodi iterativi che partendo da un metodo iterativo classico lo specializzano in base alle particolari proprietà specifiche del problema in questione. Le due principali classi di metodi di questo tipo sono • Gradienti Coniugati con Precondizionamento (PCG), • Metodi Multi-Grid (MGM). Per i primi è presente un’amplia letteratura a riguardo e si sono ottenuti ottimi risultati soprattutto per problemi monodimensionali [10]. I secondi sono essenzialmente in ambito differenziale e sono legati alla nozione di discretizzazione di domini geometrici. D’altro canto, in questi ultimi anni si sta tentando di generalizzare tali tecniche anche a problemi che non hanno un corrispondente geometrico (problemi algebrici). 4 INDICE Per i PCG, per sistemi con matrice dei coefficienti Toeplitz, utilizzando precondizionatori in algebra [10] si è riusciti a risolvere tali sistemi in un numero di iterazioni indipendenti dalla dimensione. Ad esempio tale risultato è stato ottenuto con precondizionatori nell’algebra delle Circolanti [11, 12], nell’algebra τ ed in quella Hartley [13]. Risultati analoghi sono stati ottenuti anche utilizzando precondizionatori Toeplitz a banda [14]. Purtoppo per problemi bidimensionali, matrice dei coefficienti BTTB, il PCG con precondizionatore in algebra tipo Circolante non converge con un numero di iterazioni costante, ma richiede un numero di iterazioni che si avvicina alla dimensione n del problema. Infatti, in [34] è dimostrato che ³ d−1 ´ con tali precondizionatori il numero di iterazioni è O n d dove d è il numero di √ dimensioni del problema, risultando cosı̀ O( n) per problemi bidimensionali. Particolare attenzione è adesso riposta nella risoluzione dei sistemi precondizionati, dove la matrice dei coefficienti è in algebra o Toeplitz a banda. Per sistemi con matrice dei coefficienti in algebra i metodi che utilizzano FFT o trasformate discrete di seni o coseni hanno un costo O(n log(n)) anche nel caso a banda, quindi il costo complessivo del PCG è O(n log(n)). Si ricorda che molti dei sistemi derivanti dalla discretizzazione di problemi fisici, oltre ad avere matrice dei coefficienti Toeplitz (caso monodimensionale) sono anche a banda. Risulta cosı̀ particolarmente importante definire metodi iterativi stabili che permettano di risolvere tali sistemi con un costo del O(n), ottenendo per il PCG un costo O(n) nel caso a banda. Il metodo MGM proposto nel presente lavoro è il primo metodo a risolvere sistemi lineari con matrice dei coefficienti τ a banda con un costo O(n). Contributo originale del presente lavoro è la dimostrazione teorica che effettivamente il costo complessivo del metodo è O(n), problema aperto in letteratura da quando Fiorentino e Serra proposero questo metodo [15] nel 1991. Si sottolinea che il risultato qui ottenuto per l’algebra τ può essere generalizzato anche ad altre algebre di matrici (Circolanti, Hartley) ed a problemi multidimensionali (si veda a riguardo [2]). INDICE 5 Per ciò che concerne i problemi bidimensionali, alla luce dei risultati riportati in [34], il MGM risulta di particolare interesse specialmente per risolvere direttamente i sistemi con matrice dei coefficienti BTTB. A tale proposito, un altro dei contributi di questo lavoro, è l’estensione del MGM definito per l’algebra τ alle matrici Toeplitz e BTTB (si veda anche [17, 27]). I risultati sperimentali riportati nelle tabelle 7.8 e 7.9 sembrano confermare quelli ottenuti per l’algebra τ , convergenza in un numero di iterazioni indipendenti dalla dimensione, sia per il caso monodimensionale che per quello bidimensionale. La dimostrazione teorica di tali proprietà sarà oggetto di ricerche future. La restante parte della presente introduzione è dedicata ad una breve storia del metodo Multigrid (Sezione I) e ad una descrizione analitica del lavoro di tesi (Sezione II). I. Un breve cenno alla storia del Multigrid I metodi MGM sono stati introdotto indipendentemente da Brandt e da Hackbush agli inizi degli anni settanta. La loro formulazione originale era legata a sistemi lineari derivanti dalla discretizzazione di problemi fisici definiti su domini geometrici. L’idea principale è quella di rendere l’errore particolarmente smooth utilizzando un metodo iterativo classico, per poi proiettare con una tecnica particolamente semplice il problema discretizzato in uno di dimensione minore, corrispondente ad una discretizzazione più grossolana, ottenendo cosı̀ un sistema più piccolo e più facile da risolvere. Il risultato ottenuto viene poi riproietta indietro sulla griglia più fine per ottenere una buona approssimazione della soluzione del sistema. Questa tecnica di proiezione può essere iterata fino a raggiungere una dimensione sufficientemente piccola in cui il sistema ottenuto possa essere risolto agevolmente. Il MGM è quindi la composizione di almeno due metodi iterativi, uno classico chiamato “smoother” 6 INDICE ed uno di proiezione chiamato “coarse grid correction”. Si sottolinea che la forza del MGM deriva proprio dall’effetto combinato dei due metodi citati, in quanto, presi separamente richiederebbero entrambi un numero improponibile di iterazioni per raggiungere la convergenza, ma la loro combinazione risulta particolarmente veloce, dal momento che i due metodi operano su due sottospazi complementari all’interno dell’intero spazio delle frequenze. Negli anni ottanta questi metodi sono stati generalizzati da Ruge e Stuben a sistemi lineari che non hanno nessuna interpretazione geometrica [26]. Questa teoria utilizza soltanto le proprietà spettrali della matrice dei coefficienti, quindi può essere applicata a qualsiasi sistema che abbia una qualche struttura che permetta di investigare più o meno bene sulle sue caratteristiche spettrali. E’ proprio questa teoria quella da cui si attinge per presente il lavoro presente e su cui si basano gran parte delle dimostrazioni teoriche di ottimalità (numero di iterazioni indipendente dalla dimensione) del metodo MGM proposto. Partendo dalla combinazione di più metodi iterativi utilizzata dal MGM e considendo le loro caratteristiche spettrali, Serra in [29] ha definito i metodi Multiiterativi come la composizione di più metodi iterativi con caratteristiche spettrali complementari. Questa tecnica può essere utilizzata molto efficacemente sull’impianto base di un MGM aggiungendo un ulteriore metodo iterativo (post-smoother) calibrato in modo tale da abbattere l’errore nello spazio delle frequenze in cui né lo “smoother” né la “coarse grid correction” operano efficacemente. II. Struttura del lavoro Il presente lavoro è stato suddiviso in due parti, una prima parte dove sono illustrate le metodologie utilizzate ed i risultati teorici ottenuti ed una seconda parte in cui sono riportate alcune osservazioni di carattere applicativo ed un’articolata INDICE 7 sperimentazione numerica a conferma di quanto esposto nella prima parte. Il presente lavoro è strutturato nel modo seguente: Parte I - Fondamenti Teorici • Nel Capitolo 1 si introduce le definizioni e le proprietà che saranno largamente utilizzate in tutto il presente lavoro. In particolare si definisce il concetto di “problema difficile” e si motiva la scelta di utilizzare il MGM per risolverli. • Nel Capitolo 2 si descrive le due classi di matrici su cui verrà definito il nostro MGM, la classe Toeplitz e l’algebra τ [19, 3]. Si sottolinea in modo particolare le relazioni fra le due classi concentrando l’attenzione sulle loro funzioni generatrici e sulle loro proprietà spettrali. Si enfatizza inoltre il caso a banda e la generalizzazione al caso bidimensionale, BTTB e algebra τ bilivello. • Nel Capitolo 3 si descrive il metodo MGM suddividendo il capitolo in due parti, una prima parte dove si introduce il MGM geometrico ed una seconda parte dedicata al MGM algebrico. Nella prima parte si semplifica la descrizione utilizzando l’esempio classico del problema di Poisson monodimensionale, in modo tale da puntualizzare ed evidenziare le caratteristiche essenziali di un metodo MGM [6]. Nella seconda parte si riporta la teoria di Ruge e Stuben [26] per problemi algebrici. Il MGM che nella prima parte era stato descritto geometricamente, viene adesso generalizzato anche a problemi che non hanno nessuna interpretazione geometrica utilizzando soltanto le informazioni spettrali sulla matrice dei coefficienti. Questa teoria è quella che verrà utilizzata nei Capitoli 4 e 5 per dimostrare la convergenza e l’ottimalità del MGM proposto. • Nel Capitolo 4 si definisce il MGM per l’algebra τ proposto da Fiorentino e Serra in [15] e si riporta i teoremi di convergenza e ottimalità per il metodo a due griglie [15, 27]. Prendendo spunto da [17, 27] si estende il metodo MGM 8 INDICE proposto per l’algebra τ alla classe delle matrici Toeplitz, con un metodo che ha fornito risultati molto migliori rispetto a quello definito in [27]. Successivamente si estende il tutto al caso di problemi bidimensionali. Si definisce il MGM per l’algebra τ bilivello, proposto sempre da Fiorentino e Serra in [16] e lo si estende come per il caso monodimensionale alla classe BTTB. Per l’algebra τ bilivello si riporta i teoremi di convergenza ed ottimalità descritti in [16, 27] per il metodo a due griglie. • Nel Capito 5 si dimostra la convergenza e l’ottimalità del MGM proposto per l’algebra τ . I teoremi che nel Capitolo 4 erano stati formulati soltanto per il metodo a due griglie, vengono adesso estesi ad un vero e proprio metodo a più griglie (MGM). Questo è il risultato originale più rilevante contenuto nel presente lavoro. Preliminarmente si mostra come la “level independency”, che in alcuni lavori precedenti (si veda ad esempio [8]) era lasciato intendere fosse equivalente all’ottimalità del MGM, in realtà è una condizione necessaria ma non sufficiente per ottenere un tale risultato. Si passa poi a dimostrare sotto quali condizioni il MGM proposto è effettivamente ottimale. Per ottenere questo risultato si è utilizzato la citata teoria di Ruge e Stuben [26] e lo studio asintotico di successioni scalari e vettoriali per descrivere l’evoluzione del sistema nello scendere dei livelli di ricorsione [22, 24]. Si sottolinea che, per il caso Toeplitz e BTTB, non esiste ancora nessun risultato teorico a riguardo, (ad esclusione dell’ottimalità del metodo a due griglie [27]) ma la sperimentazione numerica riportata in Sezione 7.5, mostra come il MGM proposto in tal caso continui ad avere un comportamento del tutto analogo a quanto avviene per l’algebra τ sia monolivello che bilivello. Parte II - Applicazioni Numeriche INDICE 9 • Nel Capitolo 6 si illustra le linee guida da seguire per ottenere un’applicazione MGM che sia efficiente, estendibile e riutilizzabile. Per semplificare la trattazione si illustra alcuni punti essenziali dell’applicazione utilizzata per realizzare la sperimentazione numerica del lavoro presente. In conclusione viene poi proposto uno studio sulla complessità computazionale dell’intera applicazione. • Nel Capitolo 7 si applica il MGM proposto ad una delle classi di problemi che rivestono un interesse particolare nelle applicazioni pratiche, la discretizzazione di equazioni differenziali ellittiche a coefficienti costanti (PDE). Oltre a descrivere il tipo di sistemi derivanti dalle PDE, si riporta un’articolata sperimentazione numerica per confermare il risultato di ottimalità dimostrato nel Capitolo 5. Infine, si mostra sperimentalmente che applicando il MGM proposto a sistemi con matrice dei coefficienti Toeplitz o BTTB si ha risultati analoghi a quelli ottenuti con l’algebra τ . • Nel Capitolo 8 si presenta un’altra classe di problemi che riveste un notevole interesse pratico, i problemi di ricostruzione di immagini sfuocate affette o meno da rumore (errori di misurazione e/o trasmissione). Si descrive preliminarmente una modellizzazione del problema fisico [20] e poi si applica il MGM proposto per matrici BTTB (derivanti da condizioni al contorno di Dirichlet) ad immagini sfuocate senza rumore, ottenendo un’immagine ricostruita praticamente identica a quella originale in un numero di iterazioni particolarmente basso rispetto alle dimensioni ed al malcondizionamento del problema in questione, si veda a riguardo anche [9]. Successivamente si passa a trattare immagini sfuocate affette da rumore e si utilizza la tecnica di regolarizzazione alla Tykhonov [35] per rimuoverlo. Per applicare questa tecnica di regolarizzazione al nostro MGM sono necessari alcuni accorgimenti ed alcune leggere modifiche e/o approssimazioni, in questo capitolo ne sono state proposte due 10 INDICE che hanno dato entrambe ottimi risultati. • Nel Capitolo 9 si riporta la sperimentazione numerica variando alcuni parametri del MGM, come il tipo o il numero di iterazioni dello smoother, il tipo di ciclo ed il proiettore scelto. Viene fornita un’analisi dei risultati ottenuti, confermando comunque la stabilità ed il comportamento ottimale del MGM proposto sia per il caso monodimensionale che per quello bidimensionale. Parte I Fondamenti Teorici 11 Capitolo 1 Problemi difficili In questo capitolo introduttivo si definiscono i problemi che verrano analizzati nel presente lavoro e le motivazioni che hanno portato a concentrare gli sforzi su particolari problemi “difficili”. Mediante un confronto con metodi classici in letteratura, viene motivata la scelta di utilizzare proprio il multigrid per risolvere tali problemi. Vengono date le definizioni e la terminologia base utilizzata nei capitoli seguenti. 1.1 Successioni di matrici In tutto il presente lavoro verranno trattati prevalentemente sistemi del tipo Ax = b (1.1.1) dove x, b ∈ Cn e A ∈ Cn×n è definita positiva. Definizione 1.1.1. Sia A ∈ Cn×n una matrice hermitiana, A = AH . Se ∀ x 6= 0 ∈ Cn si ha xH Ax > 0 , allora A è definita positiva. • Per le matrici hermitiane vale il seguente teorema. Teorema 1.1.2. Sia A ∈ Cn×n una matrice hermitiana con autovalori λ1 , . . . , λn . A è definita positiva ⇐⇒ λi > 0 i = 1, . . . , n 12 • 1.1. SUCCESSIONI DI MATRICI 13 I due risultati seguenti saranno largamente utilizzati nelle dimostrazioni dei Capitoli 4 e 5. Definizione 1.1.3. Siano A, B ∈ Cn×n due matrici hermitiane, allora A ≤ B ⇐⇒ A − B è semidefinita positiva • Proposizione 1.1.4. Siano A, B ∈ Cn×n due matrici hermitiane, allora A ≤ B ⇐⇒ M H AM ≤ M H BM per ogni M ∈ Cn×n invertibile. • Per il grande interesse che riveste la risoluzione di problemi di grandi dimensioni, come ad esempio la possibilità di poter discretizzare un problema continuo su una griglia più fine, solitamente si concentra lo studio del comportamento di un sistema al crescere della dimensione n del sistema stesso. Lo strumento utilizzato per tale scopo è la successione di matrici. Definizione 1.1.5. Una successione di matrici è definita come {An }∞ n=1 , dove An ∈ Cn×n . • Le matrici {An }∞ n=1 sono accomunate tutte da un contenuto strutturale che rimane immutato al variare della dimensione. Si consideri ad esempio la successione delle matrici identità {In }∞ n=1 , hanno tutte la sola diagonale principale non nulla con elementi tutti uguali ad uno, indipendentemente dalla dimensione n. Si otterrà cosı̀ uno studio asintotico per n che tende ad infinito delle misure riguardanti la successione {An }, ad esempio con lim ρ(An ) n→∞ si indica il raggio spettrale (l’autovalore di modulo massimo) della matrice An al crescere di n. Si nota che la successione è stata indicata con {An }, per brevità sono 14 CAPITOLO 1. PROBLEMI DIFFICILI stati rimossi gli estremi della successione. Anche in seguito, quando non c’è pericolo di confusione, si utilizzerà tale notazione sottintendendo che la successione è definita per n = 1, . . . , +∞. Ovviamente con An viene indicata la singola matrice in Cn×n . 1.2 Fattore di condizione Il fattore di condizione di una matrice An ∈ Cn×n è definito come ° ° ° K(An ) = kAn k °A−1 n (1.2.1) per una generica norma matriciale k·k indotta sulla matrice An . Se K(An ) À 1 il sistema (1.1.1) è detto malcondizionato e, qualora i dati b e/o la matrice An siano affetti da errori (ad esempio di rappresentazione), non è possibile ottenere una soluzione accurata a causa dell’errore inerente del sistema stesso. Inoltre, se per risolvere il suddetto sistema si utilizza un metodo iterativo tradizionale, la velocità di convergenza del metodo di solito è inversamente proporzionale al fattore di condizione della matrice An dei coefficienti. Ad esempio, per il metodo dei Gradienti Coniugati senza precondizionamento, una stima della norma dell’errore ek al k-esimo passo può essere data da Ãp K(An ) − 1 p K(An ) + 1 kek kAn ≤ 2 !2k ke0 kAn dove e0 è l’errore iniziale e per An matrice definita positiva k·kAn è la norma ener° 1 ° ° ° getica di An ovvero k·kAn = °An2 ·° . 2 In tal caso diciamo che la successione di sistemi lineari associati ad An è malcondizionata se K(An ) = O(nα ) con α > 0. Se α = 0 allora K(An ) ≤ c costante e, per quanto grande possa essere c, K(An ) è pur sempre indipendente dalla dimensione n del problema e non cresce all’aumentare di quest’ultima. (n) Sia An ∈ Cn×n definita positiva di autovalori 0 < λ1 (n) ≤ . . . ≤ λn . Per matrici 1.2. FATTORE DI CONDIZIONE 15 definite positive kAn k2 = ρ(An ) e dalla (1.2.1) segue che (n) K(An ) = λn (n) λ1 , in tal caso il sistema è asintoticamente malcondizionato se lim λ(n) n = +∞ n→∞ oppure (n) lim λ1 = 0. n→∞ (n) Osservazione 1.2.1. E’ sempre possibile assumere λn < d costante, perché è sufficiente eventualmente riformulare il sistema (1.1.1) mediante un opportuno fattore di scala. Sia A˜n = An /kAn k e b̃ = b /kAn k, allora il sistema A˜n x = b̃ è equivalente al sistema di partenza (1.1.1). Inoltre (n) λ̃(n) n λn = ρ(A˜n ) = ≤1 kAn k essendo ρ(An ) ≤ kAn k per ogni norma indotta su An . • Adesso è possibile definire con precisione cosa viene indicato con il termine problemi “difficili”. Definizione 1.2.2. Sia {An } una successione di matrici definite positive, con au(n) (n) tovalori 0 < λ1 ≤ . . . ≤ λn . Allora una succesione di sistemi della forma (1.1.1) è detta di problemi difficili se (n) lim λ1 = 0 n→∞ • 16 CAPITOLO 1. PROBLEMI DIFFICILI 1.3 Ottimalità Un metodo iterativo stazionario [18] di matrice di iterazione Pn è detto convergente se lim ek = lim Pnk e0 = 0, k→∞ k→∞ ∀ e0 , dove ek è l’errore di approssimazione della soluzione esatta al k-esimo passo. Si deduce che la condizione ρ(Pn ) < 1 risulta necessaria e sufficiente alla convergenza del metodo iterativo. Più precisamente la quantità ρ(Pn ) misura la velocità di convergenza del metodo stesso. Infatti, se µ ¶α 1 ρ(Pn ) = 1 − n con α > 0, il metodo iterativo tenderà a diventare particolarmente lento al crescere di n. Diversamente se ρ(Pn ) = c < 1 con c indipendente da n, allora il numero di iterazioni richieste dal metodo rimane costante al crescere della dimensione del problema ed il metodo iterativo è ottimale. Definizione 1.3.1. Un metodo iterativo è ottimale per una classe di problemi An xn = bn , se al crescere della dimensione n del problema 1) ogni iterazione ha un costo proporzionale al prodotto matrice-vettore, 2) il numero di iterazioni è limitabile da una costante e indipendente da n. • Per un metodo iterativo ottimale la risoluzione di un sistema lineare ha un costo computazionale dello stesso ordine del prodotto matrice-vettore. Ovviamente non è in genere possibile risolvere un sistema con un costo computazionale inferiore, poiché per calcolare la soluzione del sistema, pur conoscendo l’inversa della matrice dei coefficienti, quest’ultima andrebbe comunque moltiplicata per il vettore dei termini noti. 1.4. RICHARDSON RILASSATO 1.4 17 Richardson rilassato Il metodo iterativo di Richardson è introdotto al fine di mostrare con un esempio pratico le considerazioni fatte precedentemente. La scelta di tale metodo è dovuta alla sua semplicità e al notevole interesse che rivestirà nella definizione teorica del MGM1 . Sia dato il sistema An x = b (1.4.1) con x, b ∈ Cn e An ∈ Cn×n definita positiva. Il metodo iterativo di Richardson è descritto dalla ricorrenza xk+1 = xk − An xk + b. Definendo un metodo iterativo rilassato mediante l’introduzione di un parametro per pesare il residuo, il metodo di Richardson rilassato assume la forma xk+1 = xk + θ (b − An xk ). dove θ è proprio il parametro di rilassamento. La matrice di iterazione del metodo è Pn = In − θAn (n) dove In è la matrice identità di dimensione n. Indicando con λ1 l’autovalore minimo di An e scegliendo θ = kAn k−1 2 si ha che (n) λ ρ(Pn ) = 1 − 1 <1 kAn k2 ed il metodo iterativo definito è convergente. Si nota che ρ(Pn ) = 1 − K(An )−1 e quindi lo scarto da uno è inversamente proporzionale al fattore di condizione del sistema. Nel caso che K(An ) rimanga costante al crescere di n, problema ben condizionato, si ha che il metodo in questione è ottimale. Perciò per problemi 1 Nel Paragrafo (4.3) è dimostrato che la condizione di convergenza sullo smoother è soddisfatta dal metodo iterativo di Richardson rilassato con un’opportuna scelta del parametro di rilassamento. 18 CAPITOLO 1. PROBLEMI DIFFICILI “facili”, anche un metodo semplice come quello di Richardson converge velocemente. (n) Se invece λ1 = O(1/n2 ), come avviene ad esempio nella discretizzazione della derivata seconda, allora ρ(Pn ) = 1 − O(1/n2 ) in quanto ρ(An ) è limitata da una costante indipendente da n in accordo all’Osservazione 1.2.1. Segue che il numero di passi necessari a raggiungere la precisione desiderata è O(n2 ). Infatti, volendo abbattere l’errore di un fattore ε, deve valere kek k / ke0 k ≤ ε, ovvero (1 − θn )k ≤ ε, θn = O(1/n2 ) e passando ai logaritmi si ottiene che k cresce come n2 . 1.5 Scelta del Multigrid Quando il numero di condizione K(An ) diverge al crescere di n, i metodi iterativi classici tendono ad ottenere una scarsa approssimazione della soluzione nello spazio generato dagli autovettori di An relativi ad autovalori vicini a zero, portando ad un rallentamento complessivo del metodo. Tale ostacolo può essere superato utilizzando le proprietà della coarse grid correction, che permette di approssimare efficacemente la soluzione proprio in tale sottospazio. Per classi di problemi per cui è possibile definire una coarse grid correction opportuna, mediante una tecnica multigrid, è possibile definire un metodo ottimale per tale classe (Capitolo 4, 5). Osservazione 1.5.1. Il metodo dei Gradienti Coniugati con Precondizionamento (PCG) con precondizionatori di tipo Circolante risulta essere ottimale per sistemi con matrice dei coefficienti Toeplitz2 monodimensionale anche quando K(An ) cresce con n. In tal caso si cerca di far si che gli autovalori della matrice dei coefficienti del nuovo sistema precondizionato non siano troppo vicini a zero, in accordo a quanto riportato sul fattore di condizione. Tuttavia nel caso di problemi multidimensionali (Toeplitz a blocchi con blocchi Toeplitz) l’ottimalità della tecnica viene meno. Infatti, in [34] gli autori dimostrano che, utilizzando un precondizionatore in algebra 2 La definizione di matrici Toeplitz e un elenco delle loro maggiori proprità sono consultabili nel Capitolo 2 e nel libro di Grenander e Szegö [19]. 1.5. SCELTA DEL MULTIGRID 19 tipo Circolanti [10, 11, 12] e considerando un problema multilivello moderatamente malcondizionato, il numero di iterazioni del PCG non può in genere scendere sotto ³ d−1 ´ O n d dove d è il numero di dimensioni del problema, perdendo cosı̀ l’ottimalità per d > 1. • Capitolo 2 Matrici Toeplitz e algebra τ In questo capitolo viene presentata la classe delle matrici Toeplitz simmetriche a cui è legato un vasto campo di applicazioni pratiche [19]. Sarà possibile definire una serie di proprietà di notevole interesse su tali matrici e sui loro autovalori, mediante lo studio di un’algebra matriciale ad esse collegata, l’algebra τ [3]. Particolare attenzione verrà posta al caso a banda di entrambe le classi per il loro naturale occorrere nella discretizzazione di certe equazioni differenziali. Inoltre, poiché ad ogni matrice Toeplitz o τ è possibile associare una funzione generatrice dei coefficienti della matrice stessa, molte caratterrizzazioni riguardanti la matrice e i suoi autovalori potranno essere definite e studiate direttamente sulla sua funzione generatrice. Verranno infine presentate le loro generalizzazioni al caso a blocchi, strutture bilivello derivanti da problemi bidimensionali. 2.1 Matrici Toeplitz Una matrice An ∈ Cn×n è detta matrice di Toeplitz se assume la forma a0 a1 .. . a−1 a0 a1 An = an−2 . . . an−1 an−2 . . . a2−n a1−n a−1 . . . a2−n .. ... ... . , .. .. . . a−1 . . . a1 a0 20 2.1. MATRICI TOEPLITZ 21 ovvero se ha tutti elementi uguali lungo le diagonali. Gli elementi di An sono stati identificati mediante la relazione (An )i,j = ai−j . I coefficienti ak possono essere generati a partire dai coefficienti di Fourier di una generica funzione f 1 ak = 2π Z +π f (x) e−ikx dx, k = 0, ±1, . . . , ±(n − 1), i2 = −1. −π In tal caso la f è detta funzione generatrice e la matrice An è espressa mediante l’applicazione dell’operatore Toeplitz Tn (·) a tale funzione, esplicitamente An = Tn (f ). Segue che proprietà sulla matrice Tn (f ) e sui suoi autovalori possono essere definite a partire da proprietà sulla funzione generatrice f . Alcune di queste tra le più importanti sono riportate qui sotto, in quanto risulteranno utili per semplificare la caratterizzazione e la dimostrazione dei teoremi successivi relativi a matrici Toeplitz e τ. Proprietà 2.1.1. Se la f è a valori reali allora Tn (f ) è hermitiana. Dim. Il complesso coniugato di α viene indicato con α. ak Z +π 1 = f (x) eikx dx 2π −π Z +π 1 = f (x) e−i(−k)x dx 2π −π = a−k . (f (x) = f (x)) Quindi a−k = ak per k = 0, ±1, . . . , ±(n − 1) e Tn (f ) è hermitiana. • Proprietà 2.1.2. Se la f è a valori reali ed è una funzione pari (f (x) = f (−x)), allora Tn (f ) è simmetrica. Dim. Per la Proprietà 2.1.1 poiché la f è a valori reali Tn (f ) è hermitiana, 22 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ a−k = ak . Inoltre ak = = = = Z +π 1 f (x) e−ikx dx 2π −π Z −π 1 f (−y) eiky (−dy) 2π π Z π 1 f (y) eiky dy 2π −π ak , (sost. y = −x) quindi a−k = ak per k = 0, ±1, . . . , ±(n − 1) e Tn (f ) è simmetrica. • Da queste due proprietà si deduce che se la f è un polinomio trigonometrico di coseni, i.e. f (x) = a0 + 2 ∞ X ak cos(kx), (2.1.1) k=1 allora Tn (f ) è simmetrica. Inversamente, se Tn (f ) è simmetrica, allora la (2.1.1) è l’approssimazione di f (x) ottenuta troncando l’espansione in serie di Fourier della f al grado n − 1. Per sistemi derivanti da applicazioni pratiche queste due proprietà solitamente sono soddisfatte, quindi nelle trattazioni teoriche dei capitoli successivi usualmente si assumerà la loro validità. Proprietà 2.1.3. L’operatore Tn (·) è lineare, Tn (αf + βg) = αTn (f ) + βTn (g). Dim. Segue direttamente dalla linearità dell’operatore integrale. Proprietà 2.1.4. L’operatore Tn (·) è positivo. • Sia f a valori reali, se ∀ x f (x) ≥ 0, allora Tn (f ) è semidefinita positiva. Dim. Essendo f a valori reali Tn (f ) è hermitiana. Affinché Tn (f ) sia semidefinita 2.1. MATRICI TOEPLITZ 23 positiva rimane da dimostrare che ∀ u 6= 0 ∈ Cn×n uH Tn (f )u ≥ 0. n X n X H u Tn (f )u = uj aj−k (f )uk j=1 k=1 1 = 2π 1 = 2π Z +π −π Z +π −π n n X X uj uk f (x) e−i(j−k)x dx j=1 k=1 ¯2 ¯ n ¯ ¯X ¯ ¯ ur e−irx ¯ dx f (x) ¯ ¯ ¯ r=1 ≥ 0 per la positività della f . • Se la f è a valori reali, come conseguenza delle Proprietà 2.1.3 e 2.1.4, anche se gli autovalori di Tn (f ) non sono noti in generale, è comunque possibile determinare un intervallo in cui sono contenuti. Proposizione 2.1.5 ([19]). Sia f a valori reali. Indicando con mf (Mf ) l’estremo (n) inferiore (superiore) di f , se mf < Mf allora ∀ λj (n) λj autovalore di Tn (f ) vale mf < < Mf per j = 1, . . . , n. Dim. Vale che f − mf ≥ 0 (per def.) Tn (f − mf ) ≥ 0 (prop. 2.1.4) Tn (f ) − Tn (mf ) ≥ 0 (prop. 2.1.3). Poiché Tn (mf ) = mf In con In ∈ Cn×n matrice identità, Bn = Tn (f ) − mf In è (n) semidefinita positiva. ∀ σj (n) positività di Bn si ha λj (n) autovalore di Bn , σj (n) = λj − mf e per la semidefinita ≥ mf . Per assurdo si dimostra facilmente che l’uguaglianza (n) si verifica solo nel caso in cui f ≡ mf , quindi sotto le ipotesi fatte λj (n) Similmente si dimostra che λj < Mf . > mf . • 24 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ Osservazione 2.1.6. Se mf = Mf = c allora f ≡ c e Tn (f ) = cIn . • Osservazione 2.1.7. Se f ≤ k costante allora Tn (f ) ≤ kIn come conseguenza delle Proprietà 2.1.3 e 2.1.4. • E’ possibile determinare anche come gli autovalori di Tn (f ) sono distribuiti all’interno dell’intervallo [mf , Mf ]. (n) Proposizione 2.1.8 ([19]). Gli autovalori λj di Tn (f ) con f continua in [−π, π], sono asintoticamente distribuiti allo stesso modo di f (2πj/n) per j = 1, . . . , n; nel senso che, per ogni funzione g continua sull’immagine di f ¶¶¸ µ µ n · 1 X ³ (n) ´ 2πj lim g λj −g f = 0. n→∞ n n j=1 Da queste due proposizioni hanno origine due risultati asintotici di notevole interesse per la stima degli autovalori estremi di Tn (f ). (n) Proposizione 2.1.9 ([36]). Sia f a valori reali e siano 0 < λ1 (n) ≤ . . . ≤ λn gli autovalori di Tn (f ), allora (n) lim λn−k(n) = Mf , n→∞ (n) lim λk(n) = mf n→∞ per ogni k(n) = o(n). La seguente proposizione è utile per capire quanto velocemente tende a zero l’autovalore minimo nel caso in cui la f non sia strettamente positiva. E’ necessario prima definire quando due funzioni hanno lo stesso ordine. Definizione 2.1.10. Due funzioni f, g ∈ C hanno lo stesso ordine (f ∼ g) se e solo se ∃ c1 , c2 ∈ R t.c. c1 g(x) ≤ f (x) ≤ c2 g(x) ∀ x ∈ C. Proposizione 2.1.11 ([5]). Se la f è non negativa e ha un numero finito di zeri (n) di ordine finito, sia α l’ordine massimo dei suoi zeri, allora λ1 ∼ n−α . Se la f si annulla in un intervallo di misura positiva o ha uno zero di ordine infinito, allora (n) λ1 tende a zero esponenzialmente. 2.1. MATRICI TOEPLITZ 25 Nel caso in cui mf > 0 e Mf < ∞ allora il numero di condizione delle matrici appartenenti alla successione {Tn (f )} è limitato superiormente dalla costante Mf /mf . Quindi i classici metodi iterativi sono ottimali e il Gradiente Coniugato Precondizionato (PCG) con precondizionatore in algebra [11, 12, 4] o nella classe Toeplitz a banda [30, 28] è superlineare se f è abbastanza regolare [28]. Quelli da noi definiti “problemi difficili” (si veda il Capitolo 1), possono adesso essere espressi nel caso Toeplitz a partire dalla funzione generatrice f . Infatti, se la f si annulla in qualche punto (mf = 0) ed è limitata (Mf < ∞), il numero di condizione cresce con n con ordine di grandezza in accordo alla proposizione 2.1.11. In tal caso, assumendo che la f sia abbastanza regolare e quindi ammetta zeri di ordine pari, sono stati ottenuti alcuni metodi PCG ottimali [13, 14] e superlineari [30, 31]. Queste restrizioni sono state in parte rilasciate in [32] utilizzando precondizionatori Toeplitz a banda. Il metodo MGM che verrà definito nel Capitolo 4 non dipende da condizioni patologiche sulla regolarità della f e ad eccezione della finitezza dell’ordine degli zeri non è richiesto che questi siano pari come per i PCG citati. Si consideri il caso in cui la funzione generatrice f ammette uno sviluppo finito in serie di Fourier di grado b, i.e. la f è un polinomio trigonometrico pari. Per ogni n ≥ 2b + 1 la matrice Tn (f ) è una matrice a banda e può essere ottenuta come una matrice τ più una Hankel di rango 2(b − 1). La matrice τ in questione viene chiamata la correzione τ della Tn (f ) ed è indicata con τ Tn (f ). Anche nel caso in cui Tn (f ) non è a banda è possibile associarvi una correzione τ . Tuttavia, in tal caso, occorre considerare lo sviluppo finito di f troncato all’ordine n e questo può avere un comportamento che varia al variare di n. 26 2.2 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ L’algebra τn Per una fissata dimensione n, l’algebra τn è l’insieme delle matrici generate a partire dalla matrice 1 ... ... 1 Hn = . , . . . . . 1 1 0 n×n (2.2.1) © ª τn = An | An ∈ Rn×n , An = p(Hn ), p ∈ Πn−1 reale . (2.2.2) 0 formalmente Gli autovalori µi e gli autovettori v(i) di Hn sono dati da: iπ µi = 2 cos , i = 1, . . . , n n + 1 r 2 ijπ (i) vj = sin , i, j = 1, . . . , n. n+1 n+1 (2.2.3) Indicando con Fn = [v(1) , v(2) , . . . , v(n) ] la matrice avente per colonne gli autovettori v(i) , questa è ortogonale e simmetrica. Ogni matrice An ∈ τn viene diagonalizzata dalla trasformazione An = Fn diag(λ1 , . . . , λn )Fn (2.2.4) dove λi sono gli autovalori di An . Quindi An ha gli stessi autovettori di Hn , mentre i suoi autovalori sono definiti da µ iπ λi = p(µi ) = p 2 cos n+1 ¶ , i = 1, . . . , n. (2.2.5) Segue che per ogni matrice An ∈ τn il prodotto matrice-vettore può essere realizzato mediante trasformate discrete di seni con un costo computazionale O(n log(n)). Grazie alla fattorizzazione (2.2.4) si dimostra facilmente che τn è chiusa rispetto alle operazioni di somma, prodotto e inversione e quindi è un’algebra. Inoltre può esserne data una caratterizzazione equivalente alla (2.2.2) ma strutturalmente diversa ½ µ ³ ¶ ¾ iπ ´ n−1 τn = An | An = Fn diagi=1,...,n f Fn , f ∈ Γ , (2.2.6) n+1 2.2. L’ALGEBRA τN 27 dove con Γn−1 si inidica lo spazio dei polinomi di coseni di grado al più n − 1. Come conseguenza della (2.2.6) una matrice An ∈ τn può essere espressa come An = τ Tn (f ) dove il polinomio trigonometrico f è la funzione generatrice di An e quindi dei suoi autovalori. Da quanto esposto, le matrici in τn sono caratterizzate da un comune contenuto strutturale (la base dello spazio τn ) mentre differiscono tra loro per il contenuto informativo (coefficienti che rappresentano An nella base fissata). Infatti da (2.2.4) © ª P si ha An = ni=1 λi v(i) (v(i) )T , quindi nella base v(i) (v(i) )T , i = 1, . . . , n la matrice A è rappresentata dai suoi autovalori, mentre nella base {I, Hn0 , Hn2 , . . . , Hnn−1 } è rappresentata dai coefficienti del polinomio p. Altre caratterizzazioni interessanti per matrici τ Tn (f ) sono date dalla proprietà di somma in croce [3] e dall’approssimazione con la matrice Toeplitz Tn (f ) ad essa associata. In entrambi i casi il contenuto informativo che permette di definire la matrice τ Tn (f ) è dato dalla sua prima riga1 o equivalentemente dai coefficienti di Fourier della funzione f . La matrice τ Tn (f ) è legata alla sua funzione generatrice ancora più di quanto lo sia Tn (f ) perché f è la sua funzione degli autovalori, quindi, come per le Toeplitz, è possibile studiare le relazioni fra matrici τ riducendole a relazioni fra le loro funzioni generatrici. Ad esempio visto che τn è un’algebra, il prodotto di due matrici appartenenti a τn si effettua semplicemente come la convoluzione delle loro funzioni generatrici. Come per le matrici Toeplitz anche per τ è possibile dimostrare facilmente le seguenti proprietà. Proposizione 2.2.1. Sia f una funzione reale pari allora l’operatore τ Tn (·) possiedere le proprietà seguenti: 1. simmetria: τ Tn (f ) = τ Tn (f )T , 1 Le matrici dell’algebra τn sono tutte simmetriche perché generate dalla matrice simmetrica H. 28 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ 2. linearità: τ Tn (αf + βg) = ατ Tn (f ) + βτ Tn (g), 3. positività: se f ≥ 0 allora τ Tn (f ) ≥ 0. La classe delle matrici per cui vale la somma in croce è definita come © ª Sn = An | An ∈ Rn×n , ai−1,j + ai+1,j = ai,j−1 + ai,j+1 , i, j = 1, . . . , n dove si assume an+1,j = a0,j = ai,0 = ai,n+1 = 0 per i, j = 1, . . . , n (“bordatura” di zeri intorno alla matrice An ). An è quindi persimmetrica2 e i suoi elementi possono essere generati a partire dalla sua prima riga. Ad esempio una matrice A5 ∈ S5 a b c b a + c b + d A5 = c b + d a + c + e d c + e b+d e d c è definita come d e c + e d b + d c . a + c b b a L’equivalenza fra Sn e τn è espressa dalla seguente Proposizione 2.2.2 ([3]). A ∈ Sn ⇐⇒ A ∈ τn . 2.3 Relazioni fra algebra τn e matrici Toeplitz Una proprietà di fondamentale importanza per una matrice τ Tn (f ) è quella che permette di metterla in relazione con la matrice Tn (f ), caratterizzando quindi i coefficienti di τ Tn (f ) in base ai coefficienti della sua funzione generatrice f . Per quanto visto in (2.1.1) una matrice Tn (f ) simmetrica può essere espressa a partire dai coefficienti ai della funzione f˜(x) = a0 + 2 n−1 X ak cos(kx), (2.3.1) k=1 2 Una matrice è persimmetrica se è simmetrica sia rispetto alla sua diagonale principale che rispetto alla sua antidiagonale principale. 2.3. RELAZIONI FRA ALGEBRA τN E MATRICI TOEPLITZ 29 sviluppo in serie di Fourier di f troncato al grado n − 1. Si definisce τ Tn (f ) = Tn (f ) − Hn (f ) dove Hn (f ) è la matrice Hankel generata da f , esplicitamente a0 τ Tn (f ) = a1 .. . an−1 a2 · · · a1 · · · an−1 . . .. .. .. .. .. . . . − an−1 .. .. . . a1 0 · · · a1 a0 0 0 an−1 0 . .. an−1 · · · 0 0 an−1 . .. . (2.3.2) a2 Questa relazione fra τ Tn (f ) e Tn (f ) sarà di fondamentale importanza nella definizione e nella dimostrazione di convergenza del MGM per matrici Toeplitz e τ . Inoltre nei metodi PCG la (2.3.2) è utilizzata per definire τ Tn (f ) come il precondizionatore naturale di Tn (f ) nell’algebra τn . Esprimendo τ Tn (f ) come in (2.3.2) è possibile dedurre i coefficienti di f dalla prima riga di τ Tn (f ) e viceversa. Se (b0 , . . . , bn−1 ) la prima riga di τ Tn (f ), da (2.3.2) si deduce che è bi = ai − ai+2 , bn−2 = an−2 , bn−1 = an−1 . i = 0, . . . , n − 3, Inversamente i coefficienti ai dello sviluppo (2.3.1) di f possono essere ricavati da quelli della prima riga di A mediante la seguente procedura a k ← bk an−1 = bn−1 an−2 = bn−2 for k = n − 3 downto 0 ak = bk + ak+2 Caso a Banda Si indica con τnb il sottoinsieme di τn generato dai polinomi in Hn di grado al più 30 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ b (per consistenza assumiamo n ≥ 2b + 1). Similmente con Tnb si denota l’insieme di matrici di Toeplitz Simmetriche a Banda (BST) di dimensione n e ampiezza di banda 2b + 1. Infatti, in tal caso, la funzione generatrice ammette uno sviluppo in serie di Fourier finito: f (x) = a0 + 2 b X ak cos(kx). k=1 Se τ Tn (f ) ∈ τnb , la matrice Hankel Hn (f ) porta una correzione di rango 2(b − 1) soltanto nell’angolo in alto a sinistra ed in quello in basso a destra. Quindi Tn−2(b−1) (f ) è esattamente la sottomatrice principale di τ Tn (f ) ottenuta da questa calcellando le prime e le ultime b − 1 righe e colonne. In tal caso è possibile leggere i coefficienti della f direttamente nelle “righe a regime”, dove con “riga a regime” si intende le righe da b a n − b. Per tali righe i 2b + 1 coefficienti centrati lungo la diagonale principale sono esattamente i coefficienti della funzione generatrice f . La matrice τ Tn (f ) è l’approssimazione naturale di Tn (f ) nell’algebra τn , in quanto hanno la stessa funzione generatrice e anche se gli autovalori di Tn (f ) non sono conosciuti esattamente come quelli di τ Tn (f ), la loro distribuzione è intimamente legata a questi ultimi e quindi alla funzione generatrice f . Valgono infatti i seguenti risultati di Di Benedetto tratti da [13]. Teorema 2.3.1. Sia f una funzione di coseni avente un unico zero di ordine pari, allora la matrice τ Tn (f )−1 Tn (f ) ha un cluster forte3 a 1. Teorema 2.3.2. Sia f una funzione di coseni avente un unico zero di ordine pari, allora ∃ c > 0 ∈ R indipendente da n t.c. λ(τ Tn (f )−1 Tn (f )) ≥ c.4 Osservazione 2.3.3. Nel teorema precedente la disuguaglianza inversa può non essere 3 Una successione di matrici {An } ha un cluster a η se ∃ ² > 0 t.c. denotando con γn (²) il numero di autovalori di An ∈ / (η − ², η + ²), si ha γn (²) = o(n). Tale cluster è detto forte se γn (²) = O(1). 4 Per A ∈ Rn×n con λ(A) si indica il generico autovalore di A. 2.4. MATRICI TOEPLITZ E τ A BLOCCHI 31 verificata perché ρ(τ Tn (f )−1 Tn (f )) è in genere illimitato superiormente al crescere di n. Dal Teorema (2.3.1) si deduce che τ Tn (f ) è un precondizionatore ottimale per risolvere sistemi del tipo Tn (f )x = b con PCG. Si ricorda inoltre che un sistema con matrice dei coefficienti τ Tn (f ) può essere risolto con un costo O(n log(n)) nel caso di matrice τ Tn (f ) piena e O(n) nel caso di matrice a banda. Si sottolinea che nel caso a banda, il metodo Multigrid proposto in questa tesi, è il primo metodo iterativo che permette di risolvere il caso a banda con un costo O(n), mentre i metodi basati su trasformate discrete di seni continuano ad avere un costo O(n log(n)) anche nel caso a banda. 2.4 Matrici Toeplitz e τ a blocchi In questa sezione verranno trattate matrici Toeplitz a blocchi con blocchi Toeplitz e matrici τ con blocchi τ . Le prime solitamente sono ottenute dalla discretizzazione di problemi bidimensionali, come ad esempio la ricostruzione di immagini sfuocate e/o affette da rumore e discretizzazione di equazioni differenziali su domini in R2 . Di tali sistemi si tratterà in maggiore dettaglio nei Capitoli 7 e 8. Come per il caso monodimensionale l’algebra τ può essere ancora utilizzata per approssimare la classe Toeplitz. 2.4.1 Toeplitz bilivello Con Tn,m (f ) si indica la matrice Toeplitz a blocchi avente n × n blocchi a loro volta Toeplitz di dimensione m × m: T−1 (f ) . . . T1−n (f ) .. ... ... . T (f ) Tn,m (f ) = 1 . , .. .. .. . . T−1 (f ) Tn−1 (f ) ... T1 (f ) T0 (f ) T0 (f ) 32 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ aj,0 a Tj (f ) = j,1 ... aj,m−1 aj,−1 . . . aj,1−m .. ... ... . , .. .. . aj,−1 . . . . aj,1 aj,0 j = 1, . . . , n − 1 (2.4.1) dove gli elementi aj,k sono i coefficienti di Fourier della funzione generatrice f : Z 1 aj,k = 2 f (x, y)e−i(jx+ky) dxdy, Ω = [−π, π] × [−π, π]. 4π Ω Le proprietà mostrate nella Sezione 2.1 per il caso monodimensionale continuano a valere invariate anche nel caso bidimensionale. Proprietà 2.4.1. Valgono le seguenti proprietà per l’operatore Tn,m (·): 1. se la funzione f è a valori reali allora Tn,m (f ) è hermitiana 2. se f (x, y) = f (|x|, |y|) (bisimmetrica) allora Tn,m (f ) è simmetrica sia a livello esterno che a livello interno (i.e. è simmetrica a blocchi e ogni blocco è simmetrico) 3. L’operatore Tn,m (·) è lineare, Tn,m (αf + βg) = αTn,m (f ) + βTn,m (g). 4. L’operatore Tn,m (·) è positivo, sia f a valori reali e f ≥ 0, allora Tn,m (f ) è semidefinita positiva. Similmente al monodimensionale, Tn,m (f ) è bisimmetrica se e solo se può essere ottenuta a partire dalla funzione generatrice f (x, y) = a0,0 + 2 ∞ X j=1 aj,0 cos(jx) + 2 ∞ X a0,k cos(ky) + 4 k=1 ∞ X ∞ X aj,k cos(jx) cos(ky). j=1 k=1 (2.4.2) Se Tn,m (f ) viene creata a partire da una funzione f generica, i coefficienti aj,k sono ottenuti troncando (se necessario) l’espansione in serie di Fourier della f (x, y) al grado n − 1 per x e al grado m − 1 per y. Infine come per il monodimensionale vale la seguente proposizione. 2.4. MATRICI TOEPLITZ E τ A BLOCCHI 33 Proposizione 2.4.2 ([36]). Sia f (x, y) a valori reali. Indicando con mf (Mf ) l’e(n,m) stremo inferiore (superiore) di f , se mf < Mf , allora ∀ λj autovalore di Tn,m (f ) per j = 1, . . . , nm: (n,m) 1. mf < λj (n,m) 2. i λj < Mf sono asintoticamente distribuiti come f ( 2πj , 2πk ); nel senso che, per n m ogni funzione g continua sull’immagine di f µ µ ¶¶¸ n m · 1 X X ³ (n,m) ´ 2πj 2πk lim g λj −g f =0 , n→∞ nm j=1 k=1 n m m→∞ (n,m) 3. siano 0 < λ1 (n,m) ≤ . . . ≤ λnm allora (n,m) (n,m) lim λnm−k(nm) = Mf , lim λk(nm) = mf n→∞ m→∞ n→∞ m→∞ per ogni k(nm) = o(nm). 4. Se la f è non negativa e ha un numero finito di zeri di ordine finito, sia α (n,m) l’ordine massimo dei suoi zeri, allora λ1 ∼ (nm)−α . Se la f si annulla in (n,m) un intervallo di misura positiva o ha uno zero di ordine infinito, allora λ1 tende a zero esponenzialmente. 2.4.2 Algebra τn,m bilivello L’algebra τn,m bilivello è generata dalle matrici Hn ⊗ Im e In ⊗ Hm , dove Hk è la matrice generatrice dell’algebra τk monodimensionale definita in (2.2.1) e ⊗ denota il prodotto di Kronecker definito da Aij ⊗ B = [Aij B]ij . Esplicitamente si ha © ª τn,m = An,m | An,m ∈ Rnm×nm , An,m = p(Hn , Hm ), p ∈ Πn−1,m−1 reale . 34 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ Inoltre una matrice τ Tn,m (f ) è diagonalizzata da τ Tn,m (f ) = (Fn ⊗ Fm )diag(λ0 , . . . , λnm−1 )(Fn ⊗ Fm ) dove Fk è la matrice avente per colonne gli autovettori dell’algebra τk (Sezione 2.2) e quindi Fn ⊗ Fm ha per colonne gli autovettori dell’algebra τn,m . Gli autovalori λi sono ottenuti campionando la funzione generatrice f (x, y) = a0,0 + 2 ∞ X aj,0 cos(jx) + 2 j=1 ∞ X a0,k cos(ky) + 4 ∞ X ∞ X aj,k cos(jx) cos(ky), j=1 k=1 k=1 eventualmente troncata in base alle dimensioni della matrice, come nel caso monodimensionale: µ λj∗m+k = f jπ kπ , n+1 m+1 ¶ , j = 0, . . . , n − 1, k = 0, . . . , m − 1. Si nota che essendo f (x, y) una funzione in due variabili, genera matrici τ Tn,m (f ) ottenute mediante prodotti tensoriali. Definendo la classe Sn,m per cui vale la somma in croce ad entrambi i livelli, come per il caso monodimensionale vale l’equivalenza fra τn,m e Sn,m . Definizione 2.4.3. A ∈ Sn,m ⇐⇒ A ∈ Rnm×nm e: (i) somma in croce a livello esterno: Ai−1,j + Ai+1,j = Ai,j−1 + Ai,j+1 , i, j = 1, . . . , n t.c. Ar,s ∈ Rm×m e Ar,s = 0 per r, s < 0 o r, s > n; (ii ) somma in croce a livello interno: (Ar,s )p−1,q + (Ar,s )p+1,q = (Ar,s )p,q−1 + (Ar,s )p,q+1 , p, q = 1, . . . , m t.c. (Ar,s )t,z = 0 per t, z < 0 o t, z > n. Proposizione 2.4.4. An,m ∈ Sn,m ⇐⇒ An,m ∈ τn,m . 2.4. MATRICI TOEPLITZ E τ A BLOCCHI 2.4.3 35 τ bilivello vs. Toeplitz bilivello A partire da una matrice Toeplitz Tn,m (f ), esprimendola nella forma (2.4.1), è possibile ottenere τ Tn,m (f ), la sua approssimazione naturale nell’algebra τn,m , in due passi: 1) Per ogni blocco monodimensionale Tj (f ) si definisce τ Tj (f ) = Tj (f ) − Hj (f ), dove Hj (f ) è la correzione Hankel come visto nella Sezione (2.3). Si crea la matrice τ T0 (f ) τ T1 (f ) T̃n,m (f ) = .. . τ Tn−1 (f ) τ T1 (f ) ... ... ... τ Tn−1 (f ) .. . , ... τ T1 (f ) τ T1 (f ) τ T0 (f ) ... ... che è Toeplitz a livello esterno e τ a livello interno. 2) Si definisce τ Tn,m (f ) = T̃n,m (f )− H̃n,m (f ), dove H̃n,m (f ) è la correzione Hankel applicata ai blocchi e non ai singoli elementi della matrice T̃n,m (f ). Osservazione 2.4.5. Il Teorema 2.3.1 non può essere generalizzato al caso bilivello. Questo perché in [34] gli autori dimostrano che nessun precondizionatore tipo circolante (in algebra) può essere superlineare per il PCG applicato a Tn,m (f ). Proprio in virtù di questa osservazione si deduce che il PCG con precondizionatore in algebra non può essere ottimale per problemi bidimensionali. Il Teorema 2.3.2, di fondamentale importanza per estendere le dimostrazioni di convergenza del multigrid dall’algebra τ al caso Toeplitz, è stato generalizzato da Serra in [27]. Teorema 2.4.6 ([27]). Sia f (x, y) un polinomio trigonometrico pari avente un unico zero di ordine pari, allora ∃ c > 0 ∈ R indipendente da n e m tale che λ(τ Tn,m (f )−1 Tn,m (f )) ≥ c. 36 CAPITOLO 2. MATRICI TOEPLITZ E ALGEBRA τ Come nel caso monodimensionale ρ(τ Tn,m (f )−1 Tn,m (f )) può essere non limitato superioremente e quindi la disuguaglianza inversa non è mai soddisfata con una costante pura indipendente da n e m. Capitolo 3 Metodi Multigrid Quello che usualmente viene chiamato Metodo Multi-Grid (MGM) è un metodo iterativo che può essere interpretato come la composizione di almeno due distinti metodi iterativi con comportamenti spettrali di tipo complementare. Questa complementarietà spettrale è alla base della alta velocità di convergenza del MGM e spesso della sua ottimalità asintotica. Inizialmente il Multigrid è stato introdotto per la risoluzione di problemi fisici derivanti dalla discretizzazione su griglie di equazioni differenziali e, per semplicità, è proprio per un problema monodimensionale di questo tipo che verrà introdotto [6]. Nella seconda parte del capitolo viene trattato il Multigrid Algebrico, dove l’attenzione non è più concentrata sulla geometria del problema, ma sullo spazio generato dagli autovettori della matrice dei coefficienti. Si passa ad analizzare il problema non più in base alle sue caratteristiche geometriche, ma in base alle sue caratteristiche spettrali. Verrano a tale proposito riportati i teoremi di convergenza di Ruge e Stuben tratti da [26]. Sarà proprio la formulazione algebrica quella che verrà utilizzata nei capitoli successivi per dimostrare la convergenza e l’ottimalità del Multigrid per sistemi con matrici dei coefficienti Toeplitz e τ . 37 38 3.1 CAPITOLO 3. METODI MULTIGRID Multigrid Geometrico Il Multigrid Geometrico utilizza la particolare geometria del problema per determinare un metodo di interpolazione semplice e al tempo stesso efficace. Non a caso viene solitamente utilizzato per risolvere sistemi derivanti dalla discretizzazione di problemi fisici definiti su domini geometrici regolari e ben conosciuti. 3.1.1 Problema modello Per introdurre il MGM si utilizza per semplicità e come esempio pratico l’equazione di Poisson monodimensionale ½ 00 u (x) = f, x ∈ (0, 1), u(0) = u(1) = 0. (3.1.1) Discretizzando il dominio [0, 1] in n intervalli con un passo di discretizzazione costante h = 1 , n+1 i punti sulla griglia sono xi = ih per i = 0, . . . , n. Definendo ui ≈ u(xi ), dove vengono trascurati gli errori di discretizzazione O(h2 ), si ha u00 (xi ) ≈ ui−1 − 2ui + ui+1 , h2 i = 1, . . . , n, ottenendo l’equivalente discreto del problema 3.1.1 ( 1 − 2 (−ui−1 + 2ui − ui+1 ) = f (xi ), h u(0) = u(1) = 0. i = 1, . . . , n (3.1.2) Ponendo u = (u1 , . . . , un )T e f = (f (x1 ), . . . , f (xn ))T , il sistema precedente (3.1.2) può essere formulato in forma matriciale come Au = −h2 f , dove 2 −1 −1 2 −1 . . . .. .. .. . A= . . . . . . −1 −1 2 n×n (3.1.3) 3.1. MULTIGRID GEOMETRICO 39 Evidenziando la dipendenza dal passo di discretizzazione, il sistema (3.1.3) assume la forma Ah uh = fh . (3.1.4) Si fa notare che la matrice Ah ∈ τn , in quanto Ah = 2In − Hn (3.1.5) dove Hn è la matrice generatrice dell’algebra τn (Sezione 2.2). Dalla (2.2.5), indicando con a(x) = 2 − 2 cos(x) la funzione generatrice di Ah , in accordo alla simbologia utilizzata nel Capitolo 2, si ottiene Ah = τ Tn (a). 3.1.2 Jacobi rilassato Come accennato il MGM richiede l’utilizzo di un metodo iterativo anche non particolarmente sofisticato ma convergente. Proprio per la sua semplicità di trattazione in questo capitolo si è scelto di utilizzare il metodo iterativo di Jacobi con rilassamento. Dato un generico sistema Ax = b, sia D la matrice diagonale di A, il metodo di Jacobi definisce la relazione di ricorrenza seguente: x(k+1) = (I − D−1 A)x(k) + D−1 b. (3.1.6) La matrice di iterazione è PJ = I − D−1 A e per garantire la convergenza del metodo iterativo deve valere ρ(PJ ) < 1. Le tecniche di rilassamento possono essere definite effettuando una media pesata fra la soluzione calcolata al passo precedente e quella che si otterrebbe con il metodo 40 CAPITOLO 3. METODI MULTIGRID classico, nel caso del metodo iterativo di Jacobi (3.1.6) si ottiene x(k+1) = (1 − ω)x(k) + ω[(I − D−1 A)x(k) + D−1 b] = (I − ωD−1 A)x(k) + ωD−1 b. La matrice di iterazione è PJω = I − ωD−1 A (3.1.7) e, scegliendo come parametro di rilassamento 0 ≤ ω ≤ 1, per il problema (3.1.4) il metodo iterativo di Jacobi con rilassamento è convergente. Infatti la matrice A definita dalla (3.1.5) è una M-matrice1 ed in tal caso il metodo iterativo di Jacobi, quello di Gauss-Seidel e le loro varianti con rilassamento (0 ≤ ω ≤ 1) definiscono uno splitting regolare e quindi convergente. Se A è una matrice di Toeplitz, scegliendo ω = a0 θ dove a0 è l’elemento diagonale di A e θ è il parametro di rilassamento di Richardson, allora il metodo iterativo di Jacobi rilassato è identico al metodo di Richardson rilassato (Sezione 1.4). 3.1.3 Analisi spettrale Per la matrice dei coefficienti del sistema (3.1.4), essendo Ah = τ Tn (a) con a(x) = 2 − 2 cos(x), ricordando che 1 − cos(x) = 2 sin2 (x/2), i suoi autovalori sono µ ¶ iπ λi = 2 − 2 cos n+1 ¶ µ iπ 2 , i = 1, . . . , n. (3.1.8) = 4 sin 2(n + 1) Poiché sin(x) è una funzione crescente per x ∈ (0, π/2), il fattore di condizione di Ah è µ ¶ nπ sin λn 2(n + 1) µ ¶ ≈ n2 , K(Ah ) = = π λ1 sin2 2(n + 1) 2 1 Una matrice A è una M-matrice se A = cI − B, ρ(B) < c e Bi,j ≥ 0 ∀ i, j. 3.1. MULTIGRID GEOMETRICO 41 jiπ Figura 3.1: Modi di Fourier φi (j) = sin( n+1 ), j ∈ [0, n + 1] per i = 1, 3, 7 dove l’approssimazione è stata ottenuta troncando lo sviluppo di Taylor di sin(x) al primo ordine. Quindi K(Ah ) cresce come n2 in accordo al Teorema 2.1.11 (Ah = Tn (a)), in quanto la funzione a(x) si annulla nell’origine con ordine 2. Gli autovettori di Ah , come tutte le matrici dell’algebra τn , sono i vettori v(i) definiti in (2.2.3), chiamati anche modi di Fourier. Per 1 ≤ i < n/2 otteniamo i modi in bassa frequenza, mentre per n/2 ≤ i < n si ha i modi in alta frequenza. Il jiπ numero di onde della funzione φi (j) = sin( n+1 ), j ∈ [0, n + 1] è proprio i (Figura 3.1) ed infatti i modi in bassa frequenza vengono chiamati anche modi smooth. Sia PJω la matrice di iterazione del metodo di Jacobi rilassato, dalla (3.1.7) utilizzando la (3.1.8) si ottiene che i suoi autovalori sono µ µi (ω) = 1 − 2ω sin 2 ¶ iπ , 2(n + 1) i = 1, . . . , n. Segue che ρ(PJω ) = µ1 (ω) ≈ 1 − ω(πh)2 , 2 42 CAPITOLO 3. METODI MULTIGRID Figura µ3.2: 2ω sin2 Andamento dei µi (ω) riprodotto dalla funzione ϕ(x) = 1 − ¶ xπ al variare di x ∈ [0, n] per ω = 1/3, 1/2, 2/3, 1. 2(n + 1) e al crescere di n (descrescere di h) lim ρ(PJω ) = 1 h→0 con velocità O(h2 ) indipendentemente dalla scelta di ω. Si deduce che riducendo il passo di discretizzazione per ottenere una soluzione più precisa si ottiene anche una maggiore lentezza del metodo iterativo. Purtroppo questa limitazione sulla velocità di convergenza non è una pecularietà del metodo iterativo scelto ma è possibile verificarla anche per il metodo di Gauss-Seidel e per molti altri metodi iterativi classici. La scelta ottimale per ω sarebbe ω = 1, ma per quanto esposto questa non è determinante, in quanto nelle basse frequenze non si hanno differenze significative al variare di ω (Figura 3.2). Si cerca quindi di determinare il valore di ω che permetta di minimizzare l’errore nelle alte frequenze2 , relegandolo a “vivere” solo nello spazio 2 Per il momento ci limitiamo ad abbattere l’errore soltanto nello spazio delle alte frequenze, 3.1. MULTIGRID GEOMETRICO 43 delle basse frequenze e quindi ad avere un carattere particolarmente smooth. Un ω cosı̀ fatto porta ad ottenere µi (ω) ¿ 1 per i ≥ n/2 (alte frequenze) µi (ω) ≈ 1 per i < n/2 (basse frequenze). Gli effetti che tale scelta di ω ha sull’errore risultano ancora più evidenti se si esegue un’analisi discreta di Fourier dell’errore stesso ad un generico passo di iterazione del (k) metodo di Jacobi rilassato. Sia ūh la soluzione esatta del sistema (3.1.4) e uh la soluzione approssimata ottenuta dopo k passi, definendo l’errore al k-esimo passo (k) (k) (k) (0) (0) come eh = uh − ūh si ha eh = PJkω eh . Sviluppando l’errore iniziale eh nella base {v(k) } degli autovettori di Ah , si ha (0) eh = n X ai v(i) , i=1 inoltre si ottiene che l’errore ad ogni passo di iterazione ha componenti nello spazio delle frequenze individuato dai modi di Fourier {v(k) }3 : (k) eh (0) = PJkω eh n X = ai PJkω v(i) i=1 = n X ai µi (ω)k v(i) i=1 Quindi, scegliendo ω in modo tale da minimizzare l’errore nelle alte frequenze, si (k) ottiene che i coefficienti bi = ai µi (ω)k che permettono di esprimere eh nella base {v(i) } sono t.c. bi ¿ ai per i ≥ n/2 bi ≈ ai per i < n/2. perché, come vedremo nella sezione seguente, sarà la coarse grid correction a preoccuparsi di ridurlo nello spazio delle basse frequenze. 3 La matrice PJω è un polinomio di A, quindi PJω ∈ τn ed ha v(i) per i = 1, . . . , n come autovettori. 44 CAPITOLO 3. METODI MULTIGRID Figura 3.3: Smorzamento dell’errore iniziale dopo quindici passi del metodo di Jacobi rilassato con ω = 32 . Si conclude che l’errore tende ad annullarsi nello spazio generato dalle alte frequenze, rimanendo cosı̀ relegato in quello generato dalle basse frequenze e assumendo una forma particolarmente smooth, come è possibile notare anche dalla Figura 3.3. Rimane da determinare il valore di ω che permette di minimizzare l’errore nelle alte frequenze. Se si utilizza un solo metodo iterativo è conveniente minimizzare l’errore nell’intervallo [n/2, n]. A tale scopo si impone |µ n2 (ω)| = |µn (ω)|, (3.1.9) µ n2 (ω) ≈ 1 − ω > 0 e µn (ω) ≈ 1 − 2ω < 0, risolvendo l’equazione (3.1.9) per ω si ottiene ω = 2/3. Se si vuole annullare l’errore solo nelle alte frequenze, come si vede anche dalla Figura 3.2, è possibile scegliere ω = 1/2. Un’altra strategia è quella di definire più metodi iterativi e non uno soltanto per 3.1. MULTIGRID GEOMETRICO 45 minimizzare l’errore nello spazio delle alte frequenze. In tal caso l’intervallo [n/2, n] viene suddiviso in tanti sottointervalli quanti sono i metodi iterativi utilizzati e per in ogni sottointervallo si determina il valore di ω migliore per minimizzare le componenti dell’errore solo in tale sottospazio (Metodi Multi-iterativi [29]). Adesso che si è visto come minimizzare l’errore nello spazio delle alte frenquenze e come renderlo smooth, vediamo come è possibile minimizzarlo anche nello spazio delle basse frequenze, a tale scopo si utilizza la coarse grid correction. 3.1.4 Coarse Grid Correction (CGC) L’applicazione di ν passi di un metodo iterativo smoother al sistema ū = A−1 h f h con approssimazione iniziale x0 , nel seguito verrà indicata con ũh = Shν (u0 , f h ). Nella sezione precedente si è mostrato che l’errore eh = ũh − ū ha la proprietà di essere smooth. Sia rh = Ah ũh − f h il residuo della soluzione approssimata ũh , si ottiene rh = Ah ũh − Ah ū = Ah eh . Risolvendo l’equazione dell’errore Ah eh = rh (3.1.10) la soluzione esatta ū può essere ottenuta mediante ū = ũh − eh . (3.1.11) Il sistema (3.1.10) non è più semplice da risolvere rispetto a quello originale (3.1.4), ma è possibile sfruttare la proprietà dell’errore di essere smooth. Infatti tale proprietà permette di poter proiettare in modo soddisfacente l’errore su una griglia più rada e risolvere in tale spazio (di dimensione minore ripetto a quello originale) l’equazione (3.1.10). Riproiettando poi nello spazio più fine la soluzione dell’errore ottenuta sulla griglia più rada, mediante l’equazione (3.1.11) è possibile determinare una nuova soluzione approssimata molto più “vicina” a ū di quanto non fosse 46 CAPITOLO 3. METODI MULTIGRID ũh . Proprio la proprietà dell’errore di essere smooth permette di scegliere operatori di proiezione semplici come sono appunto gli operatori lineari, permettendo cosı̀ di effettuare la proiezione con un costo computazionale O(n). Per risolvere il sistema (3.1.10) su una griglia più rada, occorre proiettare su tale spazio oltre a rh anche Ah . Nel seguito la griglia più rada sarà indicata con ΩH dove H = 1/(k + 1) è il passo di discretizzazione su tale gliglia, ovviamente minore di h, mentre la griglia più fine sarà indicata con Ωh . Per come verranno definiti i due operatori lineari di restrizione ed interpolazione che permettono di passare da una griglia più fine ad una più rada e viceversa, si imporrà n = 2k + 1 e quindi la griglia più fine dovrà sempre avere dimensione dispari. Operatore di restrizione. Sia G(Ω) l’insieme delle funzioni definite su una generica griglia Ω. Si definisce l’operatore di restrizione Rh : G(Ωh ) → G(ΩH ) ed il residuo proiettatto dalla griglia più fine a quella più rada sarà rH = Rh rh . Prendendo ΩH con dimensione metà rispetto a Ωh , la scelta più semplice per l’operatore Rh sarebbe quella di selezionare per ΩH i valori corrispondenti su Ωh : rH,j = rh,2j , j = 1, . . . , k. In realtà è preferibile per ogni valore di ΩH definire una media pesata con i valori vicini di Ωh : 1 rH,j = (rh,2j−1 + 2rh,2j + rh,2j+1 ), 4 j = 1, . . . , k 3.1. MULTIGRID GEOMETRICO 47 che in forma matriciale prende la forma 1 2 1 1 2 1 1 . Rh = . . . . . . 4 . . . 1 2 1 k×n (3.1.12) Da tale espressione si può notare come n debba essere dispari, giustificando l’assunzione precedente n = 2k + 1. Operatore di prolungamento. Definendo l’operatore di prolungamento Ph : G(ΩH ) → G(Ωh ) l’errore proiettatto dalla griglia più rada a quella più fine sarà eh = Ph eH . Come operatore di prolungamento può essere utilizzato qualsiasi metodo di interpolazione, ma già l’interpolazione lineare dà ottimi risultati oltre all’indubbio vantaggio della sua semplicità, quindi è quello che si utilizza in pratica. L’operatore di prolungamento è definito prendendo per i punti pari di Ωh il punto corrispondente su ΩH e per quelli dispari il punto medio del segmento che unisce due punti vicini su ΩH : ( eH,i per j = 2i 1 , i = 0, . . . , k eh,j = (eH,i+1 + eH,i ) per j = 2i + 1 2 dove si assume eH,0 = eH,k+1 = 0. L’espressione precedente espressa in forma matriciale prende la forma Ph = 2RhT . (3.1.13) Ciò che rimane da determinare per ottenere un sistema analogo a (3.1.10), ma definito su ΩH , è la matrice dei coefficienti AH . La scelta di AH deriva dalla condizione 48 CAPITOLO 3. METODI MULTIGRID di Galerkin [6]: AH = Rh Ah Ph , (3.1.14) che informalmente può essere interpretata come l’applicazione di Ah ad un vettore dello spazio ΩH prolungato mediante Ph ed il risultato cosı̀ ottenuto viene riportato in ΩH mediante l’operatore Rh . Utilizzando gli operatori Ph e Rh precedentemente definiti in (3.1.12) e (3.1.13), grazie alla (3.1.14) è facile dimostrare che 2 −1 −1 2 −1 1 .. .. .. . . . AH = . 4 . . . . . . −1 −1 2 k×k Adesso abbiamo tutti gli strumenti per definire formalmente quanto discorsivamente descritto in questa sezione. Sia ũh una prima approssimazione della soluzione del sistema (3.1.4), è possibile determinare una soluzione approssimata più precisa ûh mediante la Coarse Grid Correction: CGC(ũh , f h ) rh rH AH eH eh ûh = = = = = = Ah ũh − f h Rh rh Rh Ah Ph A−1 H rH Ph eH ũh − eh Questa procedura può essere espressa mediante un’unica equazione del tipo ûh = ũh − Ph (Rh Ah Ph )−1 Rh (Ah ũh − f h ) e l’operatore CGCh viene definito come CGCh = I − Ph (Rh Ah Ph )−1 Rh Ah . (3.1.15) 3.1. MULTIGRID GEOMETRICO 3.1.5 49 Multi Grid Method (MGM) Combinando insieme il metodo iterativo di smoothing e la coarse grid correction, è possibile definire il Two Grid Method (TGM). Si applica prima lo smoother (pre-smoother ) per ottenere un errore smooth, poi la coarse grid correction ed infine, facoltativamente, si può applicare un altro smoother (post-smoother ) scelto in modo tale da ridurre l’errore nello spazio delle frequenze su cui non operano bene i due metodi precedenti. Quindi, dato un vettore iniziale u0 approssimazione della soluzione esatta ū, è possibile ottenere un’approssimazione finale uf più precisa di quella iniziale mediante lo schema TGM seguente: TGM(u0 , f h ) ũh = Shν1 (u0 , f h ) û = CGC(ũh , f h ) uf = Shν2 (û, f h ) Sia Shν la matrice di iterazione del metodo iterativo smoother applicato per ν passi, utilizzando l’espressione (3.1.15) per la CGCh , è possibile definire la matrice di iterazione T GMh per il two grid method: T GMh = Shν1 (I − Ph (Rh Ah Ph )−1 Rh Ah )Shν2 . E’ quindi possibile definire un metodo iterativo che continua ad applicare TGM(ui , f h ) finché ui non risulta essere una “buona” approssimazione di ū. Per come è stata definita la coarse grid correction si è supposto di poter invertire la matrice AH e quindi di poter risolvere direttamente il sistema AH eH = rH . (3.1.16) 50 CAPITOLO 3. METODI MULTIGRID Questo sistema e quello definito in (3.1.4) hanno le matrici dei coefficienti con la stessa struttura (AH è una porzione k × k di Ah scalata di un fattore 1/4) ed è quindi possibile applicare su ΩH il medesimo procedimento applicato su Ωh . Invece di risolvere direttamente il sistema (3.1.16) gli si applica il pre-smoother Shν1 (e0 , rH ) dove e0 = 0 è l’approssimazione iniziale dell’errore. Si calcola poi il residuo r̃H e lo si proietta su una griglia Ω2H di dimensione metà e cosı̀ via ricorsivamente finché, su una griglia Ω2l h (dopo l restrizioni), non si ottiene un sistema sufficientemente piccolo da poter essere risolto agevolmente anche con un metodo diretto. La soluzione ottenuta viene poi interpolata, il risultato dell’interpolazione viene utilizzato per correggere l’approssimazione precedente ed eventualmente si può applicare il postsmoother. Questo procedimento è ripetuto all’indietro per ogni griglia intermedia fino a ritornare alla griglia Ωh di partenza. Tale metodo prende il nome di Multi Grid Method (MGM) e può essere schematizzato dalla procedura seguente: MGM(ul , f l , l) if l = 0 ul = A−1 l fl else ul = Slν1 (ul , f l ) rl−1 = Rl (Al ul − f l ) el−1 = 0 for j = 1 to γ MGM(el−1 , rl−1 , l − 1) ul = ul − Pl el−1 ul = Slν2 (ul , f l ) dove l è il numero di livelli di ricorsione. E’ da notare che l’argomento ul è passato per referenza, in quanto ritorna modificato ad ogni chiamata ricorsiva. 3.2. MULTIGRID ALGEBRICO (AMG) V-cycle v A A Av A A Av A A ¢ Av ¢v ¢ ¢ ¢ v ¢ ¢ ¢ v ¢ 51 W-cycle v v A A Av A A v ¢A ¢ A ¢ ¢ ¢ v v v v v v A A ¢ ¢ ¢A ¢A A A ¢ ¢ ¢ ¢ A A A A A¢v A¢v Av ¢ Av ¢ v ¢ ¢ ¢ v ¢ Figura 3.4: Rappresentazione grafica delle operazioni di restrizione e proiezione per il V -cycle ed il W -cycle. Il parametro γ serve per definire schemi diversi di chiamate ricorsive. Per γ = 1 si ha il V-cycle (Figura 3.4) in quanto la struttura delle chiamate ricorsive e quindi delle operazioni di restrizione e proiezione assume una forma a V. Per γ = 2 si ottiene il W-cycle in quanto tale struttura è a forma di W, per γ = 1, 2, 1, . . . si ottiene il VW -cycle, per γ = 2, 1, 2, . . . il WV -cycle e con diversi valori di γ è possibile determinare altri tipi di cicli. 3.2 Multigrid Algebrico (AMG) Il Multigrid Algebrico (AMG), a differenza di quello geometrico, per definire l’operatore di proiezione non sfrutta la geometria del dominio, ma utilizza le proprietà spettrali della matrice A dei coefficienti del sistema. Come visto per il Multigrid geometrico, un metodo iterativo classico utilizzato come smoother non riesce a ridurre efficacemente l’errore in tutto lo spazio generato dagli autovettori di A, ma solo in un suo sottospazio. Il metodo AMG cerca quindi di proiettare il problema proprio in tale sottospazio utilizzando soltanto le eventuali informazioni sullo spettro di A. Quindi può essere applicato a qualsiasi sistema e non soltanto a quelli derivanti dalla discretizzazione di problemi fisici definiti su domini geometrici. La matrice dei coefficienti del sistema dovrà però avere alcune proprietà strutturali che permettano di determinare le informazioni necessarie per definire l’operatore di proiezione. 52 CAPITOLO 3. METODI MULTIGRID Essendo il metodo MGM un algoritmo ricorsivo, è di fondamentale importanza che queste proprietà strutturali siano mantenute anche dalle matrici dei sistemi ai livelli inferiori, altrimenti risulterebbe complesso definire una strategia uniforme di proiezione del problema. 3.2.1 Teoria di Ruge e Stuben La teoria classica più generica e ben formalizzata per la definizione di un AMG per una determinata classe di matrici, è quella definita da Ruge e Stuben in [26]. Tale teoria è formulata per matrici simmetriche e definite positive. Si assume che il proiettore Ph ∈ Cn×k abbia rango pieno (rank(Ph ) = k) e che siano soddisfatte le condizioni di Galerkin già analizzate per il MGM geometrico: (i ) Rh = PhT , (ii ) AH = Rh Ah Ph . Segue che l’operatore CGCh assume la forma CGCh = I − Ph (PhT Ah Ph )−1 PhT Ah . (3.2.1) Quindi, per definire un AMG per una particolare classe di matrici, rimane da definire “soltanto” l’operatore di proiezione Ph , compito solitamente non banale. Come per il multigrid geometrico, il metodo iterativo applicato per ridurre l’errore nella griglia più fine è chiamato smoother e le componenti dell’errore, per le quali tale metodo è inefficace, sono chiamate smooth. La differenza fra il multigrid algebrico e quello geometrico è che per quest’ultimo l’operatore di proiezione è fissato e lo smoother viene definito in modo tale da soddisfare le richieste di tale operatore. Per il AMG, invece, lo smoother è fissato. Esplorando le proprietà del corrispondente errore smooth, si definisce un appropriato operatore di proiezione. I teoremi di convergenza del AMG possono quindi essere sempre enunciati a partire da due condizioni distinte, una che deve essere soddisfatta dallo smoother 3.2. MULTIGRID ALGEBRICO (AMG) 53 (smoothing assumption) ed una che conseguentemente deve essere soddisfatta dal proiettore (approximation assumption). Nel presente lavoro si definisce e si utilizza un AMG per matrici τ e Toeplitz, ma, poiché in letteratura i metodi basati su griglie sono chiamati con il termine generico MGM, nel seguito si utilizzerà sempre il termine MGM sottointendendo però che si tratta di un multigrid algebrico. 3.2.2 Proprietà di CGC In questa sezione vengono presentate alcune proprietà algebriche dell’operatore di coarse grid correction definito in (3.2.1). Definizione 3.2.1. Una matrice A ∈ Cn×n è un proiettore ⇐⇒ A2 = A. Proposizione 3.2.2. Se A ∈ Cn×n è un proiettore allora σ(A) = {0, 1}4 Dim. Sia λ un generico autovalore di A, allora per definizione Ax = λx dove x è il relativo autovettore. Inoltre essendo A un proiettore vale A2 = A e con semplici passaggi algebrici si ottiene λx = Ax = A2 x = λ2 x. Quindi λ2 = λ, che vale solo per λ ∈ {0, 1}. • Proposizione 3.2.3. CGCh definito in (3.2.1) è un proiettore. Dim. La dimostrazione segue banalmente dall’espressione di CGCh data in (3.2.1). Calcolando esplicitamente CGCh2 si ottiene che CGCh2 = CGCh . Quindi per definizione CGCh è un proiettore. • Da quest’ultima proposizione e dalla (3.2.2) si ottiene σ(CGCh ) = {0, 1}. La proposizione seguente mostra come l’operatore CGCh porti ad un aumento della convergenza rispetto allo smoother anche nel caso in cui il proiettore Ph 4 Con σ(A) si indica l’insieme degli autovalori di A. 54 CAPITOLO 3. METODI MULTIGRID scelto non sia particolarmente “sofisticato” (non effettui necessariamente una buona proiezione). Proposizione 3.2.4. Sia T GMh = Shν CGCh con Sh polinomio di A. Se Ph ha rango massimo allora ρ(T GMh ) ≤ ρ(Shν ). Si ricorda che ∀ A ∈ Cn×n definita positiva, per definizione ∀ x ∈ Cn , ° ° ° 1 ° kxkA = °A 2 x° . Per definizione Dim. 2 ρ(T GMh ) ≤ kT GMh kA ≤ kShν kA kCGCh kA (3.2.2) ed esplicitando il calcolo di kCGCh kA si ottiene kCGCh kA = = = = = max kCGCh xkA ° 1 ° ° 2 ° °A CGCh x° max 1 2 2 A x =1 2 °³ ° 1 1´ 1 ° ° T −1 T 2 2 2 x° I − A P (P A P ) P A A max ° h h h 1 h h h h 2 2 A x =1 2 °³ 1 ´ 1 ° ° 2 ° − 12 A CGC A A 2 x° max ° h 1 2 2 A x =1 2 ´ ³ 1 1 ρ A 2 CGCh A− 2 = 1 kxkA =1 1 1 L’ultima uguaglianza vale per definizione perché la matrice A 2 CGCh A− 2 è her1 1 mitiana. Inoltre A 2 CGCh A− 2 ∼ CGCh e quindi per la Proposizione 3.2.2 si ha 1 1 σ(A 2 CGCh A− 2 ) = {0, 1}. Infine 1 1 kShν kA = ρ(A 2 Shν A− 2 ) = ρ(Shν ) in quanto Shν commuta con A e grazie alla (3.2.2) l’asserto è dimostrato. • Per semplicità nella proposizione precedente si è utilizzato un T GMh senza postsmoother. Ovviamente utilizzando anche il post-smoother, o qualsiasi tecnica multiiterativa, la dimostrazione precedente può essere generalizzata in modo semplice. 3.2. MULTIGRID ALGEBRICO (AMG) 55 Dalla Proposizione (3.2.4) si nota come l’applicazione dell’operatore CGCh porti comunque ad un aumento della velocità di convergenza del metodo iterativo utilizzato come smoother. Quindi, poiché l’operazione di proiezione non è comunque costosa, la CGCh può essere sempre utilizzata come accelleratore di convergenza per qualsiasi metodo iterativo. 3.2.3 Two Grid Method In questa sezione si considera solo il metodo a due griglie (TGM). Senza perdita di generalità si studia la convergenza del TGM nel caso di una sola iterazione dello smoother dopo ogni passo di CGC. Il teorema seguente permette non solo di ottenere la convergenza del TGM, ma anche di stimare un limite superiore per la velocità di convergenza di tale metodo. Teorema 3.2.5 ([26]). Sia An ∈ Rn×n definita positiva e sia Sn ∈ Rn×n la matrice di iterazione del post-smoother. Supponiamo che esista α > 0 e indipendente da n tale che kSn xn k2An ≤ kxn k2An − α kxn k2An Dn−1 An , ∀ xn ∈ Cn (3.2.3) dove Dn ∈ Rn×n è la parte diagonale di An . Supponiamo anche che esista γ > 0 e indipendente da n tale che min kxn − Ph yk2Dn ≤ γ kxn k2An , y∈Ck ∀ xn ∈ Cn (3.2.4) Allora γ ≥ α e per il V-cycle con almeno un passo di post-smoothing kT GMn (Sn , Ph )kAn r α ≤ 1− γ (3.2.5) Si nota che α e γ sono indipendenti da n, quindi, nel caso in cui le ipotesi del teorema precedente siano soddisfatte, il TGM non solo è convergente ma è anche ottimale. 56 CAPITOLO 3. METODI MULTIGRID In accordo a quanto osservato nella Sezione 3.2.1, la condizione (3.2.3) definisce la “smoothing assumption” mentre la condizione (3.2.4) definisce la “approximation assumption”. Osservazione 3.2.6. Sostituendo la condizione (3.2.3) con kSn xn k2An ≤ kxn k2An − α kSn xn k2An Dn−1 An , ∀ xn ∈ Cn il teorema precedente può essere enunciato nel caso di un solo passo di smoother prima della CGC. Ovviamente combinazioni di pre-smoother e post-smoother, o un aumento del loro numero di iterazioni, non possono fare altro che aumentare la convergenza globale del metodo. 3.2.4 • Multigrid Method Per il Multigrid vale un teorema analogo al Teorema 3.2.5, dove la condizione di approssimazione (3.2.4) viene logicamente sostituita da una condizione più restrittiva. Inoltre, poichè il MGM è un algoritmo ricorsivo, le due condizioni sullo smoother e sul proiettore devono essere soddisfatte ad ogni livello di ricorsione. Teorema 3.2.7 ([26]). Per ogni livello di ricorsione j del MGM siano n = nj , An ∈ Rn×n definita positiva la matrice ristretta e Sn ∈ Rn×n la matrice di iterazione del post-smoother. Supponiamo che esista α > 0 e indipendente da n tale che kSn xn k2An ≤ kxn k2An − α kxn k2An Dn−1 An , ∀ xn ∈ Cn (3.2.6) dove Dn ∈ Rn×n è la parte diagonale di An . Supponiamo anche che esista ξ > 0 e indipendente da n tale che kCGCn xn k2An ≤ ξ kxn k2An Dn−1 An , ∀ xn ∈ Cn (3.2.7) Allora ξ ≥ α e per il V-cycle con almeno un passo di post-smoothing si ha che r α (3.2.8) kM GMn (Sn , Ph )kAn ≤ 1 − ξ 3.2. MULTIGRID ALGEBRICO (AMG) 57 Si nota che anche se per ogni livello j di ricorsione, vengono determinati un αj e ξj che soddisfano le condizioni (3.2.6) e (3.2.7), si ottiene la convergenza ma non l’ottimalità del MGM. Questo perché il numero di livelli di ricorsione dipende dalla dimensione n del problema, quindi αj e ξj , dipendendo da j, transitivamente dipendono da n. Analogamente al TGM, le condizioni (3.2.6) e (3.2.7) sono chiamate rispettivamente “smoothing assumption” e “approximation assumpion”. Inoltre, utilizzando sempre l’Osservazione 3.2.6, è possibile generalizzare il Teorema 3.2.7 al caso in cui si abbia un pre-smoother invece di un post-smoother. Come si vedrà nei Capitoli 4 e 5, la “smoothing assumption” è solitamente soddisfatta da gran parte dei metodi iterativi classici, mentre la “approximation assumpion” richiede un’attenzione particolare portando anche alla definizione di una serie di vincoli sul proiettore Ph . Per le dimostrazioni dei Teoremi 3.2.5 e 3.2.7 si rimanda al libro di Ruge e Stuben [26]. Capitolo 4 MGM per algebra τ e matrici Toeplitz In questo capitolo sarà definito un metodo Multigrid per l’algebra τ e verrà inoltre illustrato come, sfruttando le relazioni introdotte nella Sezione 2.3, tale metodo possa essere esteso alle matrici Toeplitz. I risultati teorici sulla convergenza del TGM sono ripresi da [15, 16, 27] e quindi si rimanda a questi articoli per i dettagli delle dimostrazioni dei teoremi riportati. In particolare in [27] è mostrato come tali risultati possono essere derivati dal Teorema 3.2.5. Si propone una dimostrazione alternativa per la condizione sullo smoother (condizione (3.2.3)) che permette di motivare esplicitamente la scelta ottimale del parametro di rilassamento per il metodo iterativo utilizzato. Per il caso Toeplitz, prendendo spunto da [17], viene definito un MGM che permette di mantenere la struttura Toeplitz ad ogni livello. Non viene dimostrata la convergenza e l’ottimalità di tale metodo, ma, come si può osservare sperimentalmente dalla Tabella 7.8, tali proprietà sembra siano generalizzabili dall’algebra τ alla classe Toeplitz. Dato il notevole interesse che i problemi bidimensionali rivestono nelle applicazioni, sono riportate le estensioni al caso bidimensione sia per l’algebra τ che per la classe Toeplitz. 58 4.1. SCELTA DELLO SMOOTHER 4.1 59 Scelta dello smoother Come mostrato nella Sezione 3.2 la “smoothing assumption” opera invariata sia per il TGM che per il MGM, in quanto la condizione (3.2.3) è identica alla (3.2.6). Le viene quindi dedicata una sezione a parte, ma in particolare, quando si passerà a generalizzare la dimostrazione di convergenza per il MGM, sarà sufficiente concentrarsi solo sulla “approximation assumption”, poiché la “smoothing assumption” continuerà a valere sotto le stesse ipotese definite in questa sezione. In [15, 27] si dimostra che il metodo di Richarson pesato, con una particolare scelta del parametro di rilassamento, è convergente e soddisfa la condizione (3.2.3). In realtà il Teorema 3.2.5 non richiede a priori che lo smoother sia convergente, ma in questa sezione mostreremo che la condizione (3.2.3), per il metodo di Richardson pesato, è soddisfatta da tutti e soli i valori del parametro di rilassamento per cui si ha la convergennza. In particolare si andrà a determinare che il valore ottimale del parametro, quello che permette di ottenere la massima riduzione dell’errore, è proprio quello scelto da Fiorentino e Serra in [15]. Teorema 4.1.1. Sia An = τ Tn (f ) con f ≥ 0 polinomio di coseni e sia Sn = In −θAn la matrice di iterazione del metodo di Richardson rilassato (Sezione 1.4). Sia Mf = max(f ), allora ∀ θ ∈ [0, 2/Mf ] ∃α > 0 indipendente da n t.c. kSn xn k2An ≤ kxn k2An − α kxn k2An Dn−1 An , ∀ xn ∈ Cn , (4.1.1) dove Dn ∈ Rn×n è la parte diagonale di An (i.e. la “smoothing assumption” (3.2.3) è verificata). In tal caso si ha α ≤ âθ2 (2/θ − Mf ) ed il valore ottimo per θ è θopt = 1/Mf t.c. αopt = â/Mf , dove â = min([Dn ]ii ) > 0. Dim. La condizione sullo smoother (4.1.1) è equivalente a SnT An Sn ≤ An − αAn Dn−1 An , (4.1.2) 60 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ dove la disuguaglianza matriciale precedente è intesa nel senso della Definizione 1.1.3. Siano ai i coefficienti di Fourier di f per i = 1, . . . , n, poiché An é definita positiva â = mini=1,...,n (Dn )i,i = minj≥1 (a0 − a2j ) > 0. Quindi Dn ≥ âIn , ovvero −Dn−1 ≥ −In /â, inoltre SnT = Sn . Da queste semplici considerazioni segue che la (4.1.2) è implicata da Sn An Sn ≤ An − α 2 A . â n Poiché Sn è un polinomio di An commuta con quest’ultima, quindi moltiplicando la −1 disuguaglianza precedente a destra ed a sinistra per An 2 , dalla Proposizione 1.1.4 questa è equivalente a Sn2 ≤ In − α An . â Esplicitando Sn si ottiene In + θ2 A2n − 2θAn ≤ In − ovvero µ An ≤ 2 α − 2 θ âθ α An , â ¶ In Passando ad una relazione fra gli autovalori, la disuguaglianza precedente è equivalente a µ λi ≤ 2 α − 2 θ âθ ¶ , (4.1.3) dove λi è un generico autovalore di An , i = 1, . . . , n. Poiché i λi sono ottenuti campionando la funzione f , sono tutti minori di Mf = maxx∈[0,π] f (x). Quindi la (4.1.3) è implicata da µ Mf ≤ α 2 − 2 θ âθ ¶ . Da quest’ultima si ottiene una condizione sufficiente affinché sia soddisfatta la (4.1.1): µ α≤ 2 − Mf θ ¶ âθ2 . 4.1. SCELTA DELLO SMOOTHER 61 Poiché âθ2 > 0, la condizione precedente è non vuota solo se 0≤θ≤ 2 . Mf Dal Teorema 3.2.5 si vede che il TGM convergenze tanto più velocemente quanto maggiore è α. Si cerca quindi di determinare θopt che massimizza α: ½µ · ¶ ¸¾ 2 2 2 θopt = argmax − Mf âθ , θ ∈ 0, . θ Mf Studiando la funzione g(x) = (2/x − Mf )âx2 si vede facilmente che θopt = 1/Mf , in corrispondenza del quale si ottiene αopt = â/Mf . • Nel caso in cui il metodo di Richardson pesato sia utilizzato sia come presmoother che come post-smoother allora è bene scegliere per il pre-smoother il valore ottimo θ1 = 1/ max(f ) e per il post-smoother θ2 = 2/ max(f ), che non è ottimo ma annulla l’errore nelle medie frequenze dove né il pre-smoother né la coarse grid correction agiscono bene (metodi Multi-iterativi [29]). L’analisi esposta sopra per il metodo di Richardson pesato, può essere ripetuta per ogni metodo iterativo classico. In particolare, per il metodo di Jacobi pesato vale il seguente teorema. Teorema 4.1.2. Sia An = τ Tn (f ) con f ≥ 0 polinomio di coseni e sia Sn = In − ωDn−1 An la matrice di iterazione del metodo di Jacobi rilassato (Sezione 3.1.2), dove Dn ∈ Rn×n è la parte diagonale di An . Siano ã = max([Dn ]ii ) > 0 e Mf = max(f ), allora ∀ ω ∈ [0, 2ã/Mf ] ∃α > 0 indipendente da n t.c. kSn xn k2An ≤ kxn k2An − α kxn k2An Dn−1 An , ∀ xn ∈ Cn (i.e. la “smoothing assumption” è verificata). In tal caso si ha α ≤ ω(2 − Mf ω/ã) ed il valore ottimo per ω è ωopt = ã/Mf t.c. αopt = ã/Mf . La dimostrazione è del tutto analoga a quella del Teorema 4.1.1. 62 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ Dall’analisi fatta per i metodi di Richardson e di Jacobi pesati, si può osservare che soddisfano la “smoothing assumption” per ogni valore del parametro di rilassamento per cui sono convergenti. Si può quindi utilizzare come smoother qualsiasi metodo iterativo convergente, assumendo con una certa tranquillità che la condizione (3.2.3) sia soddisfatta. Nel caso bidimensionale i teoremi 4.1.1 e 4.1.2 continuano ad operare invariati. Nelle dimostrazioni di tali teoremi si è utilizzato soltanto il fatto di essere in un’algebra con precise relazioni fra la sua funzione generatrice ed i suoi autovalori, poiché nel caso bidimensionale tali proprietà vengono ereditate in modo naturale (Sezione 2.4.2), questi teoremi continuano a valere anche nel caso bidimensionale. 4.2 Definizione di un MGM per l’algebra τ In questa sezione viene definito un MGM per l’algebra τ prestando particolare attenzione alla scelta dell’operatore di proiezione in accordo a quanto sottolineato nella Sezione 3.2, come smoother può essere utilizzato uno dei due metodi presentati nella sezione precedente o qualunque altro metodo iterativo classico che soddisfa la condizione (3.2.3). Si definisce la matrice di taglio Tnk ∈ Rn×k t.c.: ½ 1 per i = 2j, j = 1, . . . , k, k (Tn )i,j = , 0 altrimenti ovvero 0 0 ... 0 .. 1 0 . .. 0 0 . .. . k . . . , Tn = . 1 . . ... .. 0 . 0 . . . .. .. . . 1 0 0 . . . 0 n×k (4.2.1) 4.2. DEFINIZIONE DI UN MGM PER L’ALGEBRA τ 63 dove k = (n − 1)/2. Utilizzando Tnk è possibile ottenere un proiettore da una generica matrice Pn ∈ τn . Infatti, sia Fn la base degli autovettori dell’algebra τn (Sezione 2.2), si ha Ik 1 Fn Tnk = √ 0Tk Fk , 2 −J k dove Ik ∈ Rk×k è la matrice identità, 0k ∈ Rk il vettore nullo e Jk ∈ Rk×k è la matrice di “flip” tale che (Jk )i,j = 1 se i + j = k + 1 e zero altrimenti, i, j = 1, . . . , k. Segue che, indicando con ∆n la matrice diagonale ottenuta dagli autovalori di An , si ha che Ik 1 [Ik | 0k | −Jk ]∆n 0Tk = ∆k 2 −Jk è una matrice diagonale e dunque (Tnk )T An Tnk = (Tnk )T Fn ∆n Fn Tnk Ik 1 = Fk [Ik | 0k | −Jk ]∆n 0Tk Fk 2 −Jk = Fk ∆ k Fk = Ak ∈ τk . A partire dalla matrice Tnk è cosı̀ possibile definire un generico proiettore pkn = Pn Tnk dove Pn ∈ τn . Infatti PnT An Pn ∈ τn e quindi Ak = (pkn )T An pkn ∈ τk . Si nota che, essendo k = (n − 1)/2, n deve essere dispari. Scegliendo n = 2α − 1, α ∈ N, si ottiene k = 2α−1 − 1 e poiché la dimensione del problema ad ogni livello continua ad essere dispari, è possibile applicare ricorsivamente il MGM. E’ cosı̀ soddisfatta la proprietà fondamentale di un qualsiasi MGM: 64 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ la matrice al livello inferiore deve avere le stesse caratterisctiche strutturali della matrice al livello superiore. In questo caso la matrice ristretta appartiene ancora all’algebra τ ovviamente di dimensione minore ed è quindi possibile applicare ricorsivamente il MGM. Rimane da determinare le condizioni che dovranno essere soddisfatte da Pn = τ Tn (p), o meglio dalla sua funzione generatrice p, al fine di ottenere un proiettore efficace in termini di convergenza. 4.3 Convergenza del TGM per l’algebra τ Si considera la matrice dei coefficienti del sistema An = τ Tn (f ) ed il proiettore pkn = τ Tn (p)Tnk . Poiché le matrici in questione sono tutte reali e simmetriche, la loro funzione generatrice è pari e periodica di periodo 2π. Quindi è possibile ridurre lo studio di tale funzione all’intervallo [0, π]. Segue che se f (x0 ) = 0 in [0, π] allora f si annulla anche per ±x0 + 2kπ, k ∈ Z. Quando si scrive che f ha un unico zero, ovviamente questo è unico solo in [0, π]. Dal Teorema 3.2.5 derivano le due condizioni seguenti su p necessarie per la convergenza del TGM. Teorema 4.3.1 (Condizioni proiettore TGM.[15]). Sia An = τ Tn (f ) con f polinomio di coseni non negativo a sia pkn = τ Tn (p)Tnk , con p polinomio di coseni tale che se f (x0 ) = 0 per x0 ∈ [0, π] soddisfa p2 (π − x) < +∞ x→x f (x) p2 (x) + p2 (π − x) > 0, (4.3.1) lim0 ∀x (4.3.2) allora la condizione (3.2.4) del Teorema 3.2.5 è verificata. Osservazione 4.3.2. Se la f si annulla in più punti, f (x0j ) = 0 per x0j ∈ [0, π] con j > 0, sia pj (x) il polinomio che soddisfa la condizione (4.3.1) per x0j , allora p(x) = Q j pj (x) purché la (4.3.2) valga globalmente. 4.3. CONVERGENZA DEL TGM PER L’ALGEBRA τ 65 Osservazione 4.3.3. La condizione (4.3.2) impone una restrizione sulla funzione f . Se f (x0 ) = 0 per x0 ∈ [0, π] deve valere f (π − x0 ) 6= 0, altrimenti tale condizione non può essere soddisfatta. Questo perché per la (4.3.1) deve valere p2 (π − x0 ) = 0 e se fosse f (π − x0 ) = 0 allora si otterrebbe anche p2 (π − (π − x0 )) = p2 (x0 ) = 0 e la (4.3.2) verrebbe violata. In generale per ogni x0j zero di f per j = 1, . . . , m deve valere x0j 6= π − x0k , k = 1, . . . , m. Nel caso in cui la f abbia un solo zero in x0 , deve valere x0 6= π/2. • Questo caso “patologico” può essere trattato in modo differente, in [8, 21] gli autori propongono di cambiare la struttura interna del proiettore in una struttura a blocchi. Sulla base di queste condizioni è possibile definire una classe di proiettori che garantisca l’ottimalità del TGM per sistemi con matrici dei coefficienti An ∈ τn,b . Proposizione 4.3.4. Sia f ≥ 0 un polinomio di coseni (τ Tn (f ) ∈ τn,b ) e f (x0 ) = 0 per x0 ∈ [0, π] con ordine r = 2q, q ∈ N. Allora p(x) = µt (cos(x0 ) + cos(x))t , con ½ t= dq/2e q per per µ∈R (4.3.3) x0 = 0, π x0 ∈ (0, π). soddisfa le condizioni (4.3.1) e (4.3.2). Dim. Dalla (4.3.3) si ha p(π−x) = µt (cos(x0 )+cos(π−x))t = µt (cos(x0 )−cos(x))t e p(π − x0 ) = 0. Per x0 = 0, π si ottiene cos(x0 ) = ±1 e poiché q ∈ N, si può dividere lo studio di dq/2e in due casi, per q pari e per q dispari. Caso q pari: d 2q e = lim0 x→x q 2 p2 (π − x0 ) (cos(x0 ) − cos(x))q = µq lim0 = µq c < +∞. x→x f (x) f (x) 66 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ Caso q dispari: d 2q e = lim0 x→x q+1 2 p2 (π − x0 ) (cos(x0 ) − cos(x))q+1 = µq+1 lim0 = 0 < +∞. x→x f (x) f (x) Per x0 ∈ (0, π) si ottiene lim0 x→x p2 (π − x0 ) (cos(x0 ) − cos(x))2q = µ2q lim0 = µ2q c < +∞. x→x f (x) f (x) La condizione (4.3.1) è cosı̀ verificata. Se la f è definita in accordo all’Osservazione 4.3.3 anche la (4.3.2) è banalmente soddisfatta. • In modo analogo a quanto fatto per le condizioni definite sul proiettore, la proposizione precedente può essere generalizzata al caso in cui la f si annulli in più punti all’interno dell’intervallo [0, π]. Partendo da An = τ Tn (f ) si ottiene cosı̀ Ak = (pkn )T An pkn = τ Tk (fˆ), ma questo non è sufficiente per definire un MGM efficace. Infatti il MGM è definito per funzioni generatrici non negative e per applicare ricorsivamente il metodo TGM proposto, è necessario che partendo da f ≥ 0 si ottenga fˆ ≥ 0. A tale scopo viene riportata la proposizione seguente, questa permette di verificare che se il polinomio p è scelto in modo tale da soddisfare le condizioni (4.3.1) e (4.3.2), allora fˆ eredita da f le proprietà fondamentali che permettono l’applicazione ricorsiva del multigrid. Proposizione 4.3.5 ([15]). Siano n = 2k + 1, pkn = τ Tn (p)Tnk e f funzione non negativa e pari, allora 1. la matrice Ak = (pkn )T τ Tn (f )pkn = τ Tn (fˆ) è t.c. ³x´ ³x´ ³ x´ 2 ³ x´ f p2 +f π− p π− 2 2 2 2 . fˆ(x) = 2 per x ∈ [−π, π], dove fˆ è non negativa e pari. Se f è un polinomio, allora fˆ è un polinomio il cui grado è limitato da una costante dipendente solo dal numero, dall’ordine degli zeri e dal grado di f . 4.4. MGM PER MATRICI TOEPLITZ 67 2. se x0 ∈ [0, π] è uno zero di f (x) allora fˆ ha un correspondente zero in y 0 ∈ [0, π] dove: 0 se x0 ∈ {0, π/2}, x 2x0 se x0 ∈ (0, π/2), y0 = 2(π − x0 ) se x0 ∈ (π/2, π]. 3. f e fˆ hanno lo stesso numero di zeri i.e. ∀ y 0 ∈ [0, π] t.c. fˆ(y 0 ) = 0 ∃! x0 ∈ [0, π] t.c. f (x0 ) = 0 e tale che le relazioni del punto precedente sono verificate. 4. l’ordine dello zero y 0 di fˆ è esattamente lo stesso del corrispondente zero x0 di f , cosı̀ che al livello inferiore il nuovo proiettore è definito nello stesso modo. Si sottolinea che questa proposizione permette di definire in modo esplicito la funzione generatrice al livello inferiore ³ ³x´ ³x´ x´ 2 ³ x´ p2 +f π− p π− f 2 2 2 2 . fˆ(x) = 2 E’ quindi possibile studiare le relazioni fra le matrici dei coefficienti ai vari livelli del MGM concentrandosi solo sulle loro funzioni generatrici e dedurre cosı̀ informazioni strutturali a partire da considerazioni analitiche sulle funzioni. In conclusione, si anticipa che la possibilità di applicare ricorsivamente il TGM e quindi di poter implementare correttamente un MGM, non è però sufficiente per definire un MGM ottimale. Infatti non è garantito che le condizioni (4.3.1) e (4.3.2) siano sufficienti per verificare la (3.2.7), anzi nel Capitolo 5 vedremo proprio che ciò non avviene. 4.4 MGM per matrici Toeplitz In questa sezione si generalizza il MGM proposto nelle sezioni precedenti per l’algebra τ alla classe delle matrici Toeplitz. A tale scopo si utilizza la relazione fra le 68 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ matrici τ e quelle Toeplitz introdotta nella Sezione 2.3: Tn (f ) = τ Tn (f ) + Hn (f ). Considerando An = Tn (f ) e pkn = Tn (p)Tnk dove p è definito in accordo alla Proposizione 4.3.4, si ottiene che An ha ampiezza di banda maggiore o uguale a quella di Tn (p), perché deg(f ) ≥ deg(p). Sia 2b + 1 l’ampiezza di banda di Tn (p), allora Tn (p)Tn (f )Tn (p) = Tn (f p2 ) + Gn (f, p), dove Gn (f, p) è una matrice di rango b nell’angolo in alto a sinistra ed un’altra dello stesso rango in basso a destra, in totale è una correzione di rango 2b. Se la matrice di taglio Tnk cancellasse completamente il contributo di Gn (f, p) si otterrebbe Ak = (Tnk )T Tn (p)Tn (f )Tn (p)Tnk = Tk (f p2 ). In realtà questo avviene soltanto per b = 1, in quanto Tnk ha solo la prima e l’ultima riga nulla, quindi è in grado di cancellare correzioni solo di rango 1 nella prima riga e colonna e sempre di rango 1 nell’ultima riga e colonna. Cosı̀ per p(x) = µ(cos(x0 ) + cos(x)) con µ ∈ R, x0 zero di ordine 2 se x0 = 0, π e di ordine 1 se x0 ∈ (0, π), il MGM definito per l’algebra τ può essere generalizzato anche al caso Toeplitz, Tn (p) ∈ τn . Nel caso in cui la f abbia uno zero di ordine maggiore di due, il grado di p e di conseguenza la sua ampiezza di banda, cresce in accordo alla Proposizione 4.3.4. In tal caso, in base alle considerazioni precedenti, la matrice Ak non è più Toeplitz e non è possibile applicare ricorsivamente l’algoritmo. Per ovviare a questo problema in [27] è stata proposta una matrice di taglio modificata T̃nk [t] ∈ Rn×k−2t che coincide con la sottomatrice di Tnk ottenuta cancellando le prime e le ultime t colonne. Si sceglie t = deg(p) − 1 = b − 1, in quanto se b è il grado di p allora Tn (p) ha ampiezza di banda 2b + 1 e viceversa. Indicando con 0sr ∈ R la matrice nulla k−2t 02t k k−2t . T̃n [t] = Tn−4t 0k−2t 2t n×(k−2t) 4.4. MGM PER MATRICI TOEPLITZ 69 Questa rappresentazione permette di evidenziare che quando Gn (f, p) ha rango 2b, la matrice T̃nk [t] ha la prime e le ultime 2t + 1 = 2b − 1 righe nulle ed è per questo in grado di cancellare una correzione di rango 4b − 2. Sicuramente Ak−2t = (T̃nk [t])T Tn (p)Tn (f )Tn (p)T̃nk [t] è Toeplitz, ma vengono “tagliate” anche informazioni aggiuntive che non era necessario rimuovere per ottenere una matrice Toeplitz al livello inferiore. Proprio allo scopo di non tagliare niente di più di quanto non sia strettamente necessario, viene proposta la matrice di taglio modificata nel modo seguente: 0tk−t k−t Tnk [t] = Tn−2t . k−t 0t n×(k−t) (4.4.1) Poiché t è scelto ancora come b − 1, Tnk [t] ha le prime e le ultime b righe nulle, è in grado di cancellare correzioni di rango non maggiore a 2b. Dato che Gn (f, p) ha proprio rango 2b, si ottiene che Ak−t = (Tnk [t])T Tn (p)Tn (f )Tn (p)Tnk [t] è Toeplitz e non è possibile ottenere una matrice Toeplitz di dimensione maggiore. Qualora si tagliasse anche una sola riga in meno ricomparirebbe la sporcatura Gn (f, p). Quindi Tnk [t] è la matrice di taglio minima che è possibile definire per ottenere una matrice Toeplitz anche al livello inferiore. Per matrici Toeplitz il proiettore viene quindi definito come pkn = Tn (p)Tnk [t], dove p è scelto in accordo al Teorema 4.3.1. Praticamente la tecnica definita per l’algebra τ viene estesa alla classe Toeplitz avendo però l’accortezza di modificare la matrice di taglio in modo tale che tutte le matrici dei coefficienti ai livelli inferiori siano ancora Toeplitz. Non viene dimostrata la convergenza e l’ottimalità del TGM, ne tanto meno del MGM, nel caso di matrici Toeplitz con proiettore pkn = Tn (p)Tnk [t]. Però dai risultati sperimentali riportati in Tabella 7.8 sembra che Tnk [t] permetta di mantenere 70 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ l’ottimalità del MGM, o al più una crescita logaritmica, che è molto più accentuata nel caso in cui si utilizzi T̃nk [t] invece di Tnk [t] (Tabella 7.10). Osservazione 4.4.1. Per poter applicare ricorsivamente il MGM la dimensione delle matrici ai vari livelli di ricorsione deve essere dispari. Utilizzando la matrice di taglio Tnk questo era garantito scegliendo n = 2α − 1, α ∈ N. Adesso per Tnk [t] è necessario scegliere n = 2α − ξ con ξ = 2t + 1, perchè la dimensione del problema al livello inferiore è k 0 = k − t = (n − 1 − 2t)/2 = 2α−1 − ξ. • Si può cosı̀ definire ricorsivamente un MGM, in quanto ad ogni livello si opera su matrici Toeplitz di dimensioni dispari e la ricorsione può essere applicata correttamente. Inoltre si ricorda che per quanto riguarda le condizioni di convergenza, data l’elevata correlazione spettrale fra Tn (p) e τ Tn (p) illustrata nel Capitolo 2, la scelta di p viene effettuata ancora in accordo alla Proposizione 4.3.4. 4.5 MGM per matrici τ bidimensionali Estendendo il MGM proposto per l’algebra τ monodimensionale a quella bidimensionale, come mostrato nella Sezione 4.1 le condizioni sugli smoother continuano a valere invariate. E’ necessario quindi concentrarsi soltanto sull’operatore di proiezione. Consideriamo un generico problema bidimensionale definito su un rettangolo N ×M , la sua discretizzazione porta alla risoluzione di un sistema lineare con matrice dei coefficienti AN,M a blocchi N × N di dimensione M × M ognuno. Nel caso in cui AN,M ∈ τN,M si definisce una tecnica di proiezione opportuna analogamente a quanto fatto nella Sezione 4.2 per problemi monodimensionali. E’ necessario definire preliminarmente la matrice di taglio bidimensionale n,m m TN,M = TNn ⊗ TM , m dove TNn e TM sono matrici di taglio monodimensionali del tipo (4.2.1), ⊗ è l’ope- 4.5. MGM PER MATRICI τ BIDIMENSIONALI 71 ratore di prodotto tensoriale o di Kronecker gia introdotto nella Sezione 2.4.2. La n,m matrice TN,M ha quindi la struttura seguente: 0 0 ... 0 .. T m 0 . M .. 0 0 . .. n,m . . m . . , TN,M = . TM . . ... .. 0 0 . . . . .. .. . . T m M 0 0 . . . 0 [M ×m]N ×n dove n = (N − 1)/2 e m = (M − 1)/2. Sia FN,M la matrice degli autovettori di τN,M , allora n,m m FN,M TN,M = (FN ⊗ FM )(TNn ⊗ TM ) m = (FN TNn ) ⊗ (FM TM ) In Im 1 1 = √ 0Tn Fn ⊗ √ 0Tm Fm 2 −J 2 −J n m I I 1 nT 1 m √ 0n 0Tm (Fn ⊗ Fm ) = ⊗√ 2 −J 2 −J n = m Qn,m N,M Fn,m . Similmente al caso monodimensionale, indicando con ∆N,M la matrice diagonale ottenuta dagli autovalori di AN,M , si ha n,m T n,m n,m T n,m (TN,M ) AN,M TN,M = (TN,M ) FN,M ∆N,M FN,M TN,M n,m T = Fn,m (Qn,m N,M ) ∆N,M QN,M Fn,m = Fn,m ∆n,m Fn,m = An,m ∈ τn,m . Si sottolinea che An,m ha dimensione nm × nm, dove nm = (N − 1)(M − 1)/4. Quindi il problema originale viene dimezzato rispetto ad entrambe le componenti, 72 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ ovvero il problema al livello successivo è un quarto di quello al livello superiore. Scegliendo N = 2α − 1 e M = 2β − 1, α, β ∈ N, è possibile applicare ricorsivamente il MGM, in quanto ad ogni livello ognuna delle due dimensioni è ancora dispari. n,m Utilizzando la matrice TN,M è possibile definire un generico proiettore n,m pn,m N,M = τ TN,M (p)TN,M . n,m T Infatti τ TN,M (p)AN,M τ TN,M (p) ∈ τN,M e quindi (pn,m N,M ) AN,M pN,M ∈ τn,m . Rimane da determinare le condizioni che devono essere soddisfatte dal polinomio p(x, y) affinché si possa avere l’ottimalità. 4.6 Convergenza del TGM per l’algebra τ bidimensionale Si considera la matrice dei coefficienti del sistema AN,M = τ TN,M (f ) ed il proiettore n,m pn,m N,M = τ TN,M (p)TN,M , dove le funzioni f e p sono polinomi di coseni in due variabili. Un generico punto è indicato con z = (x, y). Si definisce l’insieme dei “mirror point” che risulterà particolarmente utile per semplificare la notazione successiva. Definizione 4.6.1. Dato un punto z 0 = (x0 , y 0 ) l’insieme dei mirror point di z 0 è M(z 0 ) = {(π − x0 , y 0 ), (x0 , π − y 0 ), (π − x0 , π − y 0 )} • Si nota che nel monodimensionale il punto x0 ∈ [0, π] ha come “mirror point” π − x0 . Riportiamo l’analogo del Teorema 4.3.1 nel caso bidimensionale. Teorema 4.6.2 (Proiettore TGM bidimensionale.[16]). Siano AN,M = τ TN,M (f ) n,m e pn,m N,M = τ TN,M (p)TN,M , con f > 0 e p polinomi di coseni bivariati tali che se 4.6. CONVERGENZA DEL TGM PER L’ALGEBRA τ BIDIMENSIONALE 73 f (z 0 ) = 0 per z 0 ∈ [0, π] × [0, π], p soddisfa Y p2 (ẑ) lim0 z→z ẑ∈M(z 0 ) X f (z) < +∞ p2 (ẑ) > 0, (4.6.1) (4.6.2) ẑ∈M(z 0 ) ∪{z 0 } allora la condizione (3.2.4) del Teorema 3.2.5 è verificata. Se la f ha più di uno zero in [0, π] × [0, π], allora il corrispondente polinomio p sarà il prodotto dei polinomi base che soddisfano le condizioni (4.6.1) per ogni singolo zero e (4.6.2) globalmente. Osservazione 4.6.3. Le condizioni (4.6.1) e (4.6.2) impongono alcune restrizioni sugli zeri di f . Infatti per la (4.6.1) gli zeri di f devono avere ordine finito. Inoltre se f (z 0 ) = 0 allora deve valere f (ẑ) > 0 per ogni ẑ ∈ M(z 0 ), altrimenti la condizione (4.6.2) non può essere soddisfatta da nessun polinomio p. • Si riporta anche l’estensione della Proposizione 4.3.5 al caso bidimensionale. Questa proposizione è di fondamentale importanza per l’applicabilità del MGM, in quanto garantisce che la funzione generatrice al livello successivo mantiene le proprietà di quella al livello superiore, permettendo cosı̀ di applicare ricorsivamente il metodo muligrid proposto. n,m Proposizione 4.6.4 ([16]). Siano N = 2n+1, M = 2m+1, pn,m N,M = τ TN,M (p)TN,M e f funzione bivariata non negativa e pari, allora n,m T 1. la matrice τ TN,M (fˆ) = (pn,m N,M ) τ TN,M (f )pN,M è t.c. fˆ(z) = X ± f (z̃)p2 (z̃) 4 z̃∈M(z/2) ∪{z/2} per z ∈ [−π, π]2 , dove fˆ è non negativa e pari. Se f è un polinomio, allora fˆ è un polinomio il cui grado è limitato da una costante dipendente solo dal numero, dall’ordine degli zeri e dal grado di f . 74 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ 2. se z 0 = (x0 , y 0 ) ∈ [0, π]2 è uno zero di f (z) allora fˆ ha un correspondente zero in z 1 = (x1 , y 1 ) ∈ [0, π]2 dove: 0 se x0 ∈ {0, π/2} x 1 0 2x se x0 ∈ (0, π/2) , x = 2(π − x0 ) se x0 ∈ (π/2, π] 0 se y 0 ∈ {0, π/2} y 1 0 2y se y 0 ∈ (0, π/2) . y = 2(π − y 0 ) se y 0 ∈ (π/2, π] 3. f e fˆ hanno lo stesso numero di zeri i.e. ∀ z 1 ∈ [0, π]2 t.c. fˆ(z 1 ) = 0 ∃! z 0 ∈ [0, π]2 t.c. f (z 0 ) = 0 e tale che le relazioni del punto precedente sono verificate. 4. l’ordine dello zero z 1 di fˆ è esattamente lo stesso del corrispondente zero z 0 di f , cosı̀ che al livello inferiore il nuovo proiettore è definito nello stesso modo. Come si può vedere, una volta definito l’insieme dei “mirror point” (estensione bidimensionale del punto π − x0 ), i risultati del monodimensionale possono essere tutti estesi in modo naturale al caso bidimensionale. Particolarmente delicata è la scelta del proiettore. Possono essere definite varie classi di proiettori che soddisfano le condizioni (4.6.1) e (4.6.2), ma non sono tutte equivalenti, alcune permettono di ottenere una riduzione dell’errore maggiore di altre. Si riportano alcune possibili scelte nel caso di τ TN,M (f ) tale che f (x0 , y 0 ) = 0 con ordine 2 se x0 , y 0 = 0, π e con ordine 1 se x0 , y 0 ∈ (0, π). Per zeri di ordine superiore basta moltiplicare per se stesso il proiettore base fino ad ottenere l’ordine desiderato. Ad esempio in [16] gli autori propongono di utilizzare p1 (x, y) = [cos(2x)−cos(2x0 )+cos(y)−cos(π−y 0 )][cos(x)−cos(π−x0 )+cos(2y)−cos(2y 0 )]. Una scelta alternativa, proposta in [33], è il proiettore p2 (x, y) = [2 cos(x0 ) + 2 cos(y 0 ) + 2 cos(x) − 2 cos(y)] × [2 cos(x0 ) + 2 cos(y 0 ) − 2 cos(x) + 2 cos(y)] × [2 cos(x0 ) + 2 cos(y 0 ) + 2 cos(x) + 2 cos(y)] 4.7. MGM PER MATRICI TOEPLITZ BIDIMENSIONALI 75 che si annulla soltanto nei tre “mirror point”. Infine, il proiettore proposto nel lavoro presente, è l’estensione naturale al bidimensionale della classe di proiettori proposta nella Proposizione 4.3.4: p3 (x, y) = [2 cos(x0 ) + 2 cos(x)][2 cos(y 0 ) + 2 cos(y)]. (4.6.3) Si nota come quest’ultimo proiettore ha un’ampiezza di banda molto inferiore ai due precedenti, proprietà di particolare importanza quando si passa a generalizzare il MGM proposto al caso Toeplitz (Sezione 4.7). Inoltre, come riportato in Tabella 9.7, p3 permette di ottenere risultati migliori rispetto a p1 e p2 , quindi la sperimentazione numerica del presente lavoro, per il caso bidimensionale è statta effettuata utilizzando tale proiettore. Per un’analisi più approfondita su queste tre classi di proiettori si rimanda alla Sezione 9.5. 4.7 MGM per matrici Toeplitz bidimensionali Similmente al caso monodimensionale, è possibile generalizzare il MGM proposto nella sezione precedente per l’algebra τ bilivello alla classe Toeplitz bilivello. Bisogna sempre ricordarsi che per problemi bidimensionali si opera a blocchi, per il resto l’estensione è del tutto analoga a quella definita nella Sezione 4.4. Sia TN,M (f ) la matrice dei coefficienti del sistema, allora il proiettore TN,M (p) è tale che p soddisfa le condizioni (4.6.1) e (4.6.2) definite per l’algebra τ . Rimane da modificare la matrice di taglio in modo tale da ottenere una matrice Toeplitz anche al livello inferiore. Trattandosi di sistemi a blocchi con N × N blocchi ognuno di dimensione M × M , anche l’ampiezza di banda va definita in base al fatto che si consideri un singolo blocco (M × M ) o la matrice a blocchi (N × N ). L’ampiezza di banda a blocchi di TN,M (p) viene indicata con 2bN +1, mentre quella di ogni singolo blocco è 2bM +1 (se i blocchi hanno ampiezze di banda diverse si considera quella massima). Assumendo che entrambe le ampiezze di banda di TN,M (p) siano minori delle corrispondenti di 76 CAPITOLO 4. MGM PER ALGEBRA τ E MATRICI TOEPLITZ TN,M (f ), proprietà che è sempre verificata scegliendo ad esempio il proiettore della classe (4.6.3), allora TN,M (p)TN,M (f )TN,M (p) = TN,M (f p2 ) + GN,M (f, p) dove GN,M (f, p) è una matrice di rango 2bN a blocchi, ogni blocco ha una correzione di rango al 2bM ed esiste almeno una diagonale a blocchi per cui ogni blocco ha esattamente una correzione di rango 2bM . La matrice di taglio modificata può quindi essere definita come il prodotto tensoriale di due matrici di taglio modificate, dove una rimuove la correzione Hankel a blocchi e l’altra la correzione Hankel per ogni singolo blocco. Indicando con degx (p) il grado di p rispetto a x considerando y fissata (degy (p) è l’analogo nell’altra variabile), si fissa tN = degy (p) − 1 = bN − 1 e tM = degx (p) − 1 = bM − 1. La matrice di taglio modificata assume la forma n,m m [tN , tM ] = TNn [tN ] ⊗ TM [tM ], TN,M m dove TNn [tN ] e TM [tM ] sono del tipo (4.4.1), si ricorda che n = (N − 1)/2 e m = (M − 1)/2. Quindi il proiettore è definito come n,m m̂ pn̂, N,M = TN,M (p)TN,M [tN , tM ], m̂ N M ×n̂m̂ dove n̂ = n − tN , m̂ = m − tM e pn̂, . La matrice dei coefficienti al N,M ∈ R livello successiovo è m̂ T n̂,m̂ Tn̂,m̂ (fˆ) = (pn̂, N,M ) TN,M (f )pN,M con fˆ definita al punto 1 della Proposizione 4.6.4. Si sottolinea che aumentare tN di un’unità porta a cancellare due righe e due colonne a blocchi in più che corrispondono a 2m righe e colonne. Similmente aumentare tM di un’unità porta a cancellare 2 righe e colonne in più per ogni blocco, quindi 2n complessivamente. Cancellare righe e colonne porta ovviamente alla perdita di informazioni sul sistema, quindi nel caso Toeplitz è fondamentale scegliere un 4.7. MGM PER MATRICI TOEPLITZ BIDIMENSIONALI 77 proiettore che abbia ampiezza di banda (rispetto ad entrambe le direzioni) minore possibile. A tale proposito si fa notare che il proiettore p3 definito in 4.6.3 è quello che ha ampiezza di banda minima rispetto a tutti i proiettori che soddisfano le condizioni (4.6.1) e (4.6.2) per funzioni di ordine al più due. Per funzioni con ordine superiore a due le potenze di p3 continuano ovviamente a mantenere la stessa proprietà di minimalità. Di conseguenza per la sperimentazione numerica del presente lavoro, per matrici Toeplitz bidimensionali, si è sempre utilizzato proiettori della classe definita da p3 . Capitolo 5 Ottimalità del MGM per l’algebra τ In questo capitolo è riportata un’analisi di convergenza e ottimalità del MGM per l’algebra τ . In particolare, si dimostra che la successione di TGM, di cui una singola iterazione MGM si compone, ha tasso di convergenza minore di uno non dipendente né da n né dal livello di ricorsione. Tale proprietà nota in letteratura come “level independency” (si veda [8]) è condizione necessaria ma non sufficiente per l’ ottimalità del metodo MGM. Per rendersi conto di questo, si rimanda il lettore al capitolo sugli esperimenti numerici ed in particolare alla Tabella 7.3: nel caso in esame vi è “level independency”, ma non vi è ottimalità poiché il numero di iterazioni cresce (sia pure sublinearmente) nella dimensione. Tale esempio è di particolare importanza ed è uno dei contributi della tesi in quanto si mette in risalto la non equivalenza delle due condizioni (“level independency” e ottimalità del metodo MGM), in contrasto con quanto lasciato intendere in recenti lavori su riviste scientifiche di pregio (si veda ad esempio [8]). Tale risultato è ottenuto mostrando che le condizioni imposte sul proiettore per l’ottimalità del TGM risultano equivalenti alla “level independency”. Data la non sufficienza di quest’ultima, si è passati a studiare l’ottimalità del MGM ricorrendo al Teorema 3.2.7. In tal modo è stato definito un metodo che permette di calcolare in modo costruttivo il tasso di convergenza del MGM a partire dalla forma 78 5.1. “LEVEL INDEPENDENCY” 79 delle funzioni generatrici ai vari livelli di ricorsione. Si è potuto cosı̀ dimostrare che tale tasso di convergenza rimane costante ad ogni livello, ovvero l’ottimalità del MGM per l’algebra τ . Per il caso Toeplitz non è stata fornita una dimostrazione analoga, ma l’amplia sperimentazione numerica riportata nella seconda parte del presente lavoro sembra avallare l’ipotesi che tale proprietà di ottimalità continui a valere. Si sottolinea che questa è la prima dimostrazione di convergenza e ottimalità del MGM per funzioni generatrici con ordine maggiore di due. Inoltre la teoria qui proposta per l’algebra τ può essere estesa in modo del tutto analogo alle altre algebre di matrici [2], come ad esempio Circolanti ed Hartley. 5.1 “Level independency” In questa sezione viene mostrato come l’insieme dei proiettori definito nella Proposizione 4.3.4, per alcune classi di funzioni, permetta di ottenere la “level independency”. La “level independency” deriva dal considerare il MGM come un’applicazione ricorsiva del TGM [8], cosa che non è del tutto esatta. Vedremo in seguito che la “level independency” è solo una condizione necessaria ma non sufficiente per la convergenza del MGM. In quanto nella “level independency” si considera nullo l’errore della soluzione del sistema ad ogni livello di ricorsione, mentre per il MGM, ad eccezione dell’ultimo livello, si ha solo una soluzione approssimata affetta dagli errori di interpolazione della soluzione calcolata al livello inferiore. Proprietà 5.1.1. Dato un sistema di dimensione n, siano γj > αj definiti in accordo al Teorema 4.3.1 e sia r αj ρj = 1 − , γj j = 0, . . . , log2 (n), il tasso di convergenza del MGM al j-esimo livello di ricorsione. Se ρj ≤ c < 1 con c constante per ogni j, allora si ha “level independency”. • 80 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ Si prende in esame la classe delle funzioni che si annullano nell’origine. Teorema 5.1.2. Siano An = τ Tn (f ) e Pnj = τ Tnj (p), con j = 0, . . . , log2 (n) e f (x) = θ(1 − cos(x))q , q q ∈ N, q p(x) = µd 2 e (1 + cos(x))d 2 e , µ ∈ R. (5.1.1) (5.1.2) Se Pnj è il proiettore dove p è fissato per ogni livello di ricorsione del MGM, allora si ha “level independency”. Dim. In accordo alla Proprietà 5.1.1 è sufficiente dimostrare che per ogni livello ρj ≤ β < 1 con β costante. Si considera il MGM come l’applicazione ricorsiva del TGM ad ogni livello j di ricorsione per j = 1, . . . , log2 (n). Siano fj e pj le funzioni generatrici della matrice dei coefficienti e del proiettore al j-esimo livello. q α Sia ρj = 1 − γjj il tasso di convergenza del TGM applicato al generico livello j, ρj dipende solo da fj e pj . Il proiettore pj = p è fissato per ogni livello, rimane quindi da determinare il comportamento di ρj al variare solo di fj . Al primo livello f0 = f e p0 = p. Poiché f (0) = 0 e f (x) > 0 per x ∈ (0, π], p rientra nella classe dei proiettori (4.3.3) e per la Proposizione 4.3.4 il TGM al primo livello converge con tasso ρ0 . Per determinare fj si divide il caso q pari dal caso q dispari. Caso q pari: d 2q e = q 2 Dalla Proposizione 4.3.5 ³ x´ 2 ³ x´ +f π− p π− ³2 ³2x ´´q ³ 2 ³ x ´´q 2 = θ 1 − cos µq 1 + cos 2 2 ³ ³ ³ x ´´q x ´´q q ³ + θ 1 − cos π − µ 1 + cos π − 2 ³ ³ x ´´2q ³ ³ x ´´q q = 2θµ 1 − cos 1 + cos . 2 2 2f1 (x) = f ³x´ p2 ³x´ 5.1. “LEVEL INDEPENDENCY” 81 Ricordando che (1 − cos( x2 ))q (1 + cos( x2 ))q = (1 − cos(x))q /2q si ha µq f1 (x) = q θ(1 − cos(x))q 2 µq = q f0 (x). 2 Quindi f1 (x) = f0 (x) se e solo se (µ/2)q = 1. Tale condizione è verificata per µ = ±2 essendo q pari. Al secondo livello p1 (x) = p(x) soddisfa ancora le ipotesi della Proposizione 4.3.4 ed il TGM converge con tasso ρ1 (x) = ρ0 (x). Iterando il procedimento si ottiene fj (x) = f (x), pj (x) = p(x) e ρj = ρ0 per j = 1, . . . , log2 (n). In tal caso la costante β cercata è β = ρ0 . Caso q dispari: d 2q e = q+1 2 Come nel caso precedente dalla Proposizione 4.3.5 ³x´ x´ 2 ³ x´ p +f π− p π− 2f1 (x) = f 2 2 2 2 ³ ³ x ´´q ³ ³ x ´´q+1 = θ 1 − cos µq+1 1 + cos 2 2 ³ ³ x ´´q ³ ³ x ´´q+1 q+1 + θ 1 + cos µ 1 − cos 2³ ´´ ³ 2 ³ x ´´ ³ q x q q+1 1 + cos . = 2θµ 1 − cos 2 2 2 ³x´ ³ Similmente a prima si ottiene f1 (x) = µq+1 f0 (x) 2q e prendendo µ = ±2, essendo q dispari, vale f1 (x) = 2f0 (x). Poiché la scelta del proiettore dipende solo dalla posizione e dall’ordine dello zero, p1 (x) = p(x) soddisfa le ipotesi della Proposizione 4.3.4 ed il TGM converge con tasso ρ1 . Iterando il procedimento fj (x) = 2fj−1 (x) = · · · = 2j f0 (x) = 2j f (x), 82 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ pj (x) = p(x) ed il TGM converge con tasso ρj per ogni livello j = 1, . . . , log2 (n). Anche se la fj (x) cambia ai vari livelli, si dimostra che ρj = ρ0 come nel caso q α precedente. Esplicitando il calcolo di ρj = 1 − γjj , poiché αj = âj /Mfj e γj = 2ãj cj d, dove (j) (j) âj = min(a0 − a2k ) > 0 k≥1 Mj = max (fj (x)) x∈[0,π] (j) (j) ãj = max(a0 − a2k ) > 0 k≥1 ° 2 ° ° p (π − x) ° ° ° cj = ° fj (x) °∞ ° ° ° ° 1 ° d = ° ° p2 (x) + p2 (π − x) ° ∞ si ottiene s 1− ρj = âj . 2ãj Mj cj d (5.1.3) Determinando le costanti al livello j in funzione di quelle al livello iniziale max (fj (x)) = max (2j f0 (x)) = 2j max (f0 (x)) = 2j M0 x∈[0,π] x∈[0,π] ° 2 ° ° 2 ° ° p (π − x) ° ° ° 1 ° p (π − x) ° c0 ° = ° ° fj (x) ° = 2j ° f0 (x) ° = 2j ∞ ∞ Mj = cj x∈[0,π] e sostituendole in (5.1.3) si ottiene s ρj = 1− âj . 2ãj M0 c0 d (5.1.4) Essendo q ∈ N e la f un polinomio di coseni, quest’ultima ammette un’espansione in somma finita di coseni f (x) = b X k=−b ak cos(kx). 5.1. “LEVEL INDEPENDENCY” j Quindi fj (x) = 2 f0 (x) = b X 83 (0) (j) (0) 2j ak cos(kx) e ak = 2j ak . Segue che k=−b (j) (j) (j) (j) (j) (j) âj = min(a0 − a2k ) = min(2j a0 − 2j a2k ) = 2j min(a0 − a2k ) = 2j â0 k≥1 ãj = k≥1 (j) max(a0 k≥1 − (j) a2k ) k≥1 j = 2 ã0 e sostituendo tali valori in (5.1.4) si conclude che r â0 ρj = 1 − = ρ0 . 2ã0 M0 c0 d Da quanto visto si può rilasciare la restrizione µ = ±2. Infatti in tal caso si ottiene fj (x) = ξ j f0 (x) ed il fattore ξ j si semplifica nel calcolo di ρj come avviene per la quantità 2j . • Osservazione 5.1.3. Le funzioni generatrici relative a matrici discretizzate di tipo ellittico (PDE), sono tutte della forma (5.1.1) con θ = 2q . Dal teorema precedente si ottiene che in tal caso il MGM presenta la proprietà di “level independency”. Con una leggera restrizione nel Capitolo 9 mostreremo che il metodo MGM applicato a τ Tn (f ) converge in un numero costante di iterazioni. • Il risultato di “level independency” può essere generalizzato a tutte le funzioni che si annullano nell’origine e non solo a quelle del tipo f (x) = θ(1−cos(x))q , q ∈ N. Teorema 5.1.4. Siano An = τ Tn (f ) e Pnj = τ Tnj (p), con j = 0, . . . , log2 (n) e f (x) ∼ (1 − cos(x))q , q q p(x) = µd 2 e (1 + cos(x))d 2 e , q ∈ N, µ ∈ R. Se Pnj è il proiettore dove p è fissato per ogni livello di ricorsione del MGM, allora quest’ultimo verifica la “level independency”. Dim. L’ipotesi f (x) ∼ (1 − cos(x))q è equivalente a m1 (1 − cos(x))q ≤ f (x) ≤ m2 (1 − cos(x))q per qualche m2 ≥ m1 > 0 ∈ N. Ponendo g(x) = m1 (1 − cos(x))q h(x) = m2 (1 − cos(x))q 84 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ Dalla linerità e dalla positività delle funzioni f (x), p(x), g(x), h(x) e dalla Proposizione 4.3.5, al j-esimo livello di ricorsione si ottiene 0 ≤ gj ≤ fj ≤ hj . Si dimostra che s ρfj = 1− âfj ≤w<1 2ãfj Mfj cfj d (5.1.5) (5.1.6) con w costante. Dalla (5.1.5) si ottiene Mfj ≤ Mhj c f j ≤ c gj . (5.1.7) Si fissa i coefficienti di Fourier delle funzioni fj , gj e hj come Z π 1 αk = fj (x)e−ikx dx 2π −π Z π 1 βk = gj (x)e−ikx dx 2π −π Z π 1 γk = hj (x)e−ikx dx 2π −π Grazie a f ≥ g si ha che τ Tn (f − g) è semidefinita positiva e quindi vale α0 − α2k ≥ β0 − β2k per ogni k ≥ 1, in modo analogo α0 − α2k ≤ γ0 − γ2k . Da ciò segue che âfj = min(α0 − α2k ) ≥ min(β0 − β2k ) = âgj k≥1 k≥1 ãfj = max(α0 − α2k ) ≤ max(γ0 − γ2k ) = ãhj . k≥1 k≥1 Sostituendo (5.1.8) e (5.1.7) in (5.1.6) si ottiene s âgj ρfj ≤ 1 − . 2ãhj Mhj cgj d (5.1.8) (5.1.9) Ponendo θ = m1 per la g e θ = m2 per la h, queste soddisfano le ipotesi del Teorema 5.1.2. Ponendo z(x) = (1 − cos(x))q , dalla dimostrazione di tale teorema e da (5.1.9) si deduce s s ρfj ≤ âg = 1− 2ãh Mh cg d 1− m21 âz = w. 2m22 ãz Mz cz d 5.2. CONVERGENZA DEL MGM 85 Per il Teorema 3.2.5 âz /Mz < 2ãz cz d ed essendo m2 > m1 , si conclude che ρfj ≤ w < 1 con w costante per ogni j = 1, . . . , log2 (n). • Si è dimostrato che il proiettore τ Tnj (p) dove q q p(x) = µd 2 e (1 + cos(x))d 2 e , µ∈R (5.1.10) è fissato per ogni livello di ricorsione, permette di ottenere la “level independency” per tutte le funzioni che si annullano nell’origine. Si sottolinea che il proiettore 5.1.10 è del tipo definito nella Proposizione 4.3.4 e quindi non deve soddisfare nessuna condizione ulteriore rispetto al TGM. In Tabella 7.3 si verifica sperimentalmente che tale condizione non è sufficiente per ottenere l’ottimalità. Inoltre, sempre dalla stessa tabella, si può vedere come l’ottimalità può essere recuperata rafforzando leggermente il grado del proiettore. In pratica se f (x0 ) = 0 per x0 ∈ [0, π] con ordine r = 2q, q ∈ N, allora p(x) = µt (cos(x0 ) + cos(x))t , con ½ t= d(q + 1)/2e q+1 per per µ∈R (5.1.11) x0 = 0, π x0 ∈ (0, π). permette di ottenere l’ottimalità anche per il MGM. Per il proiettore non è sufficiente avere uno zero in π − x0 di ordine 2dq/2e, ma è necessario che questo sia di ordine 2d(q+1)/2e. Scegliere il proiettore come in (5.1.11) equivale a sostituire la condizione (4.3.1) con lim0 x→x 5.2 p2 (π − x) = 0. f (x) Convergenza del MGM Poiché la “level independency” non è sufficiente a concludere la convergenza e l’ottimalità del MGM, per raggiungere tale risultato si ricorre al Teorema 3.2.7. La 86 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ condizione sullo smoother è la stessa del TGM, quindi il Teorema 4.1.1 è ancora verificato scegliendo opportunamente α per ogni livello di ricorsione. Per il proiettore invece è necessario imporre delle condizioni più stringenti rispetto a quanto fatto per il TGM e la “level independency”. Si riporta tali condizioni che verrano dimostrate nel Teorema 5.2.3. Condizioni proiettore Per ogni livello j di ricorsione, se fj (x0 ) = 0 per x0 ∈ [0, π] e se si sceglie un polinomio di coseni pj (x) tale che pj (π − x) < +∞ x→x fj (x) p2j (x) p2j (π − x) + > 0, fj (π − x) fj (x) lim0 (5.2.1) (5.2.2) allora pj (x) soddisfa la condizione (3.2.7) (“approximation assumption”) e quindi il MGM è convergente. • Se la fj si annulla in più punti, fj (x0k ) = 0 per x0k ∈ [0, π] con k > 0, sia pk (x) il Q polinomio che soddisfa le condizioni (5.2.1) e (5.2.2) per x0k , allora pj (x) = k pk (x). Osservazione 5.2.1. La condizione (5.2.2) è equivalente alla (4.3.2), in quanto fj (x) > 0 ∀ x ∈ [0, π]/x0 e per x = x0 si ha p2j (π − x)/fj (x) = 0 in virtù della condizione (5.2.1). Rimane quindi la necessità che pj non si annulli contemporaneamente in π − x0 e x0 . La (5.2.1) impone, invece, che il grado di p sia praticamente doppio rispetto a quello necessario per il TGM e per la “level independency”. • Osservazione 5.2.2. Come per il TGM, la condizione (5.2.2) impone una restrizione sulla funzione fj . Se fj (x0 ) = 0 per x0 ∈ [0, π] deve valere fj (π − x0 ) 6= 0, altrimenti tale condizione non può essere soddisfatta. Se la fj ha un solo zero in x0 questo deve essere diverso da π/2 per ogni j. In accordo alla Proposizione 4.3.5 questa condizione può essere tradotta in una condizione sulla funzione f0 = f al primo livello, sia f (x0 ) = 0 deve valere x0 6= π/2j per j = 1, . . . , log2 (n) − 1. • 5.2. CONVERGENZA DEL MGM 87 Teorema 5.2.3. Per ogni livello j di ricorsione del MGM, siano n = nj , An = τ Tn (fj ) con fj ≥ 0 polinomio di coseni e Pn = τ Tn (pj ) con pj definito in accordo alle condizioni (5.2.1) e (5.2.2). Allora esiste un ξj > 0 tale che la condizione (3.2.7) è soddisfatta. Dim. La condizione (3.2.7) di cui bisogna dimostrare la validità sotto le ipotesi fatte è kGn xn k2An ≤ ξj kxn k2An Dn−1 An , ∀ xn ∈ Cn (5.2.3) dove Dn ∈ Rn×n è la parte diagonale di An e Gn ∈ Rn×n è l’operatore di “coarse grid correction” definito come ¡ ¢−1 k T Gn = In − pkn (pkn )T An pkn (pn ) An . (5.2.4) Con In ∈ Rn×n si è indicato l’identità e con pkn ∈ Rn×k il proiettore che, come per il TGM, è definito da pkn = Pn Tnk dove Tnk ∈ Rn×k è la matrice di taglio. Esplicitando le norme vettoriali in (5.2.3) si ha T H −1 xH n Gn An Gn xn ≤ ξj xn An Dn An xn , ovvero GTn An Gn ≤ ξj An Dn−1 An , (5.2.5) dove la disuguaglianza precedente è intesa nel senso della Definizione 1.1.3. Gli elementi diagonali di An e quindi di Dn , sono dati da a0 −a2i per i = 1, . . . , (n−1)/2. Per la positività di An si ha che ã = maxi≥1 (a0 −a2i ) > 0 e indipendente da n. Poiché Dn ≤ ãIn , si ha che ξj GTn An Gn ≤ A2n (5.2.6) ã ¢−1 k T ¡ (pn ) , si verifica facilmente implica la (5.2.5) . Definendo Zn = pkn (pkn )T An pkn che Zn = ZnT e Gn = In − Zn An . Svolgendo il prodotto al primo membro in (5.2.6) si ha (In − Zn An )T An (In − Zn An ) = An − 2An Zn An + An Zn An Zn An . (5.2.7) 88 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ −1 Sostituendo la (5.2.7) nella (5.2.6) e moltiplicando a destra ed a sinistra per An 2 , ³ 1 ´T − −1 la disuguaglianza continua a valere perché An 2 = An 2 . Quindi si ottiene 1 1 1 1 In − 2An2 Zn An2 + An2 Zn An Zn An2 ≤ ovvero ³ 1 1 In − An2 Zn An2 1 1 1 ´2 ≤ ξj An , ã ξj An . ã (5.2.8) 1 − Poiché G˜n = In − An2 Zn An2 = An2 Gn An 2 , si ha G̃n ∼ Gn . Segue che G̃n è un proiettore come Gn e G̃2n = G̃n . Quindi la (5.2.8) è equivalente a G̃n ≤ ξj An . ã (5.2.9) Procediamo come in [15] per ridurre lo studio di (5.2.9) a quello di un singolo blocco di dimensioni 2 × 2. Sia Fn la matrice ortogonale e simmetrica avente per colonne gli autovettori dell’algebra τn . Per quanto visto nella Sezione 2.2, è possibile fattorizzare An come An = FnT diagi=1,...,n (fi,n )Fn dove fi,n = f (iπ/(n + 1)) sono gli autovalori di An per i = 1, . . . , n. Sia Wn la matrice di permutazione corrispondente allo schema 1, n, 2, n − 1, . . . , k, si definisce F̃n = Fn Wn e Ân = F̃nT An F̃n . La matrice Ân è una matrice diagonale a blocchi con blocchi di dimensione 2 × 2, ad eccezione dell’ultimo elemento fk+1,n che rimane isolato. Il µ-esimo blocco di Ân è · Â(µ) n f 0 = µ,n 0 fµ0 ,n ¸ dove µ ∈ {1, . . . , k} e µ0 = n + 1 − µ. Grazie a questa fattorizzazione la (5.2.9) è equivalente a F̃nT G̃n F̃n ≤ ξj Ân . ã (5.2.10) 5.2. CONVERGENZA DEL MGM 89 Cerchiamo una fattorizzazione a blocchi anche per il termine F̃nT G̃n F̃n . In [15] è dimostrato che (pkn )T = Fk p̂n F̃nT dove p1,n −pn,n p1,n −pn,n 1 p̂n = √ ... 2 (5.2.11) 0 come per An , i pi,n sono gli autovalori di Pn . Da (5.2.11) segue che (pkn )T An pkn = Fk p̂n F̃nT An F̃n p̂Tn FkT = Fk p̂n Ân p̂Tn FkT (5.2.12) Sia B̂k = p̂n Ân p̂Tn ∈ Rk×k , allora B̂k è una matrice diagonale il cui µ-esimo elemento è dato da (µ) B̂k £ = pµ,n · ¸· ¸ ¤ fµ,n 0 pµ,n −pµ0 ,n = p2µ,n fµ,n + p2µ0 ,n fµ0 ,n . 0 fµ0 ,n −pµ0 ,n Quindi da (5.2.12) si ha (pkn )T An pkn = Fk B̂kT FkT ed esplicitando F̃nT G̃n F̃n si ottiene Ĝn = F̃nT G̃n F̃n h 1 ¡ ¢−1 k T 21 i (pn ) An F̃n = F̃nT In − An2 pkn (pkn )T An pkn h 1i 1 = F̃nT In − An2 pkn (Fk B̂kT FkT )−1 (pkn )T An2 F̃n h 1i 1 = F̃nT In − An2 F˜n p̂Tn B̂k−1 p̂n F̃nT An2 F̃n 1 1 = In − Ân2 p̂Tn B̂k−1 p̂n Ân2 Ovviamente anche Ĝn è una matrice diagonale a blocchi con blocchi 2 × 2, ad 90 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ eccezione dell’ultimo elemento che è uno. Il µ-esimo blocco di Ĝn è " 1 #· " 1 # ¸ 2 2 £ ¤ f 0 f 0 p µ,n µ,n µ,n Ĝ(µ) = I2 − B̂k−1 pµ,n −pµ0 ,n 1 1 n 0 2 −p µ ,n 0 fµ0 ,n 0 fµ20 ,n " 1 # h 1 i 2 1 fµ,n pµ,n −1 2 2 = I2 − B̂k fµ,n pµ,n −fµ0 ,n pµ0 ,n 1 −fµ20 ,n pµ0 ,n # " 1 1 2 2 2 0 f p p −f f p µ,n µ0 ,n µ,n µ ,n µ,n µ,n = I2 − B̂k−1 1 1 2 2 −fµ,n fµ0 ,n pµ,n pµ0 ,n fµ0 ,n p2µ0 ,n " # 1 1 2 1 fµ0 ,n p2µ0 ,n fµ,n fµ20 ,n pµ,n pµ0 ,n = 1 1 2 B̂k fµ,n fµ20 ,n pµ,n pµ0 ,n fµ,n p2µ,n La disequazione (5.2.10) adesso può essere studiata separatamente per ogni blocco. Deve esistere un ξj indipendente da n tale che, per ogni blocco indicizzato da µ, valga · ξj " # 1 1 ¸ 2 ã fµ20 ,n pµ,n pµ0 ,n fµ0 ,n p2µ0 ,n fµ,n fµ,n 0 ≥ , 1 1 0 fµ0 ,n 2 B̂k fµ,n fµ20 ,n pµ,n pµ0 ,n fµ,n p2µ,n dove, ponendo β = ã/B̂k , l’ultima disuguaglianza è equivalente a " # 1 1 2 ξj fµ,n − βfµ0 ,n p2µ0 ,n −βfµ,n fµ20 ,n pµ,n pµ0 ,n ≥ 0. 1 1 2 fµ20 ,n pµ,n pµ0 ,n ξj fµ0 ,n − βfµ,n p2µ,n −βfµ,n (5.2.13) Dalla continuità di p e f , il precedente insieme di disuguaglianze può essere ridotto ad un’unica disuguaglianza su una matrice Hermitiana 2 × 2 di funzioni. Sia · ¸ 1 1 ξj f (x) − βf (π − x)p2 (π − x) −βf 2 (x)f 2 (π − x)p(x)p(π − x) M= , 1 1 −βf 2 (x)f 2 (π − x)p(x)p(π − x) ξj f (π − x) − βf (x)p2 (x) la (5.2.13) per ogni µ = 1, . . . , k è implicata da M ≥0 (5.2.14) al variare di x ∈ [0, π]. Inoltre, sempre per ξj indipendente da n, deve valere la disuguaglianza scalare ξj fk+1,n ≥ ã 5.2. CONVERGENZA DEL MGM 91 ed essendo fk+1,n = f (π/2) corrisponde a ξj ≥ ã/f ³π ´ 2 . Si ricorda che f (π/2) > 0 dalla condizione (5.2.2) e dall’Osservazione 5.2.2. La (5.2.14) è soddisfatta se i minori principali di M sono non negativi. Devono quindi valere le due condizioni (1) M1,1 ≥ 0, (2) det(M ) ≥ 0. Per la (1) si ottiene f (π − x)p2 (π − x) ã p2 (x)f (x) + p2 (π − x)f (π − x) f (x) 2 p (π − x) ã = . (5.2.15) 2 2 p (x) p (π − x) f 2 (x) + f (π − x) f (x) ³ 2 ´−1 2 p (x) p2 (π−x) Dalle condizioni (5.2.1) e (5.2.1) le funzioni p f(π−x) e + sono 2 (x) f (π−x) f (x) ξj ≥ limitate. Per questo, ponendo ° ° 2 ° p (π − x) ° ° c = ° ° f 2 (x) ° ∞ °µ ¶−1 ° ° ° 2 p (x) p2 (π − x) ° ° d = ° + ° , ° f (π − x) ° f (x) ∞ la (1) è soddisfatta se ξj ≥ ãcd . Dalla (2) si ottiene (ξj f (x) − βf (π − x)p2 (π − x))(ξj f (π − x) − βf (x)p2 (x)) −β 2 f (x)f (π − x)p2 (x)p2 (π − x) ≥ 0 2 2 2 2 2 ξj f (x)f (π − x) − ξj βf (x)p (x) − ξj βf (π − x)p (π − x) ≥ 0 f 2 (x)p2 (x) + f 2 (π − x)p2 (π − x) f (x)f (π − x) ¶ µ p2 (π − x) ã p2 (x) + , p2 (π − x)2 f 2 (π − x) p(x)2 f 2 (x) + f (π − x) f (x) ξj ≥ β = 92 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ che, come per la (5.2.15), è verificata se ξj ≥ 2ãcd. Concludendo, una condizione sufficiente affinché la (3.2.7) sia soddisfatta è ξj ≥ ã max{2cd, 1/f (π/2)}. Poiché ° 2 ° ° p (π − x) ° ° ° 2cd = 2 ° f 2 (x) ° ∞ ° ° ° ° f (x)f (π − x) ° ° ° p2 (x)f (x) + p2 (π − x)f (π − x) ° ∞ p2 (π/2) f 2 (π/2) ≥ 2 2 f (π/2) 2p2 (π/2)f (π/2) 1 = , f (π/2) la tesi segue direttamente da ξj ≥ 2ãcd. • Il teorema precedente ed il Teorema 4.1.1, permettono, grazie al Teorema 3.2.7, di concludere la convergenza del MGM ma non la sua ottimalità, poiché αj e ξj dipendono dal livello di ricorsione e quindi indirettamente dalla dimensione n del problema. Di conseguenza tali quantità possono crescere, ovvero il raggio spettrale della matrice di iterazione può tendere ad uno al crescere di n, portando cosı̀ ad un metodo asintoticamente lento come i classici metodi iterativi. 5.3 Ottimalità del MGM In questa sezione si dimostra che per le matrici dell’algebra τ il MGM oltre che convergente è anche ottimale. Definiamo preliminarmente un proiettore che soddisfa le condizioni (5.2.1) e (5.2.2) e che verrà largamente utilizzato nelle trattazioni teoriche seguenti. Proposizione 5.3.1. Sia f ≥ 0 un polinomio di coseni (τ Tn (f ) ∈ τn,b ) e f (x0 ) = 0 per x0 ∈ [0, π] con ordine r = 2q, q ∈ N. Allora p(x) = µt (cos(x0 ) + cos(x))t , µ ∈ R, (5.3.1) 5.3. OTTIMALITÀ DEL MGM 93 soddisfa le condizioni (5.2.1) e (5.2.2) se ½ t= Dim. q 2q per per x0 = 0, π x0 ∈ (0, π). La dimostrazione segue da una verifica diretta delle condizioni (5.2.1) e (5.2.2). • Proprietà 5.3.2. Dato un sistema di dimensione n, siano ξj > αj definiti in accordo al Teorema 5.2.3 e sia r ρj = 1− αj ξj j = 0, . . . , log2 (n) il tasso di convergenza del MGM al j-esimo livello di ricorsione. Se ρj ≤ c < 1 con c constante per ogni j, allora il MGM è convergente e ottimale. 5.3.1 Risultati intermedi In questa sezione sono riportati alcuni risultati utili per l’applicabilità del MGM e per semplificare la verifica della condizione di ottimalità dello stesso. Si determina preliminarmente il risultato di ottimalità solo per le funzioni del tipo f (x) = (1 − cos(x))q , q ∈ N, enstendendolo successivamente (Sottosezione 5.3.3) a tutte le funzioni che si annullano in 0 o π. Osservazione 5.3.3. Particolarmente utile per lo studio della convergenza del MGM applicato ad una specifica τ Tn (f ) t.c. f (x0 ) = 0 e f (x) > 0 altrove, è la fattorizzazione f (x) = (cos(x0 ) − cos(x))t ψ(x) dove ψ > 0. Questa formulazione permette di scindere il fattore (cos(x0 )−cos(x))t che genera il malcondizionamento dal polinomio ψ(x) ben condizionato. Evidenzia inoltre che f (x) ∼ (cos(x0 ) − cos(x))t . • 94 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ Il teorema seguente, utilizzando l’osservazione precedente, nel caso di x0 = 0 permette di ridurre lo studio dell’ottimalità del MGM alla sola condizione max(ψj ) < +∞. j→∞ min(ψj ) lim Teorema 5.3.4. Siano Anj = τ Tnj (fj ) con fj (x) = (1 − cos(x))q ψj (x), ψj > 0, polinomio di coseni per ogni livello j = 0, . . . , log2 (n). Il proiettore sia Pnj = τ Tnj (p), dove p(x) = µq (1 + cos(x))q , è fissato per ogni livello. Rπ Si definisce z(x) = (1 − cos(x))q e bk = −π µ ∈ R, z(x)e−ikx dx per k = 1, . . . , n. Siano mj = min(ψj ) e Mj = max(ψj ), se Mj = c < +∞ j→∞ mj lim allora, indicando con b̂ = min(b0 − b2k ) > 0, wz = min (z(π − x) + z(x)) > 0, e k≥1 Mz = max(z) si ha s ρj ≤ 1− b̂wz , 2c3 Mz2 i.e. per la Proprietà 5.3.2 il MGM è ottimale. Dim. Il proiettore Pnj , grazie alla Proposizione 5.3.1, soddisfa le ipotesi del Teorma 5.2.3. Da tale teorema si ha che il tasso di convergenza al generico livello j = 1, . . . , log2 (n) è definito come r ρj = 1− αj ξj (5.3.2) 5.3. OTTIMALITÀ DEL MGM 95 dove, scegliendo i valori ottimali, si ha αj = ξj âj Mfj (5.3.3) 2ãj ° = ° 2 ° pj (x) p2j (π − x) ° ° ° ° fj (π − x) + fj (x) ° ∞ (j) (j) ° 2 ° ° pj (π − x0 ) ° ° ° ° f 2 (x) ° , j ∞ (j) (5.3.4) (j) con i soliti ãj = maxk≥1 (a0 − a2k ), âj = mink≥1 (a0 − a2k ) e Mfj = max(fj ). Per dimostrare che ρj tende a diventare costante al crescere di j, è sufficiente dimostrare separatamente che le due quantità αj e ξj rimangono limitate da costanti (αj dal basso e ξj dall’alto). Si determina preliminarmente una stima inferiore per αj e successivamente una stima superiore per ξj . Si mostra infine che queste stime sono costanti assolute positive se Mj /mj rimane limitato per j sufficientemente elevato. Si sottolinea che il polinomio trigonometrico z(x) = (1 − cos(x))q è fissato per ogni livello. Al livello j si ha fj = zψj e di conseguenza fj ≥ mj z. Segue che τ Tn (fj −mj z) è definita positiva e quindi gli elementi diagonali di τ Tn (fj ) sono maggiori o uguali a quelli di τ Tn (mj z), ovvero âj ≥ mj b̂. Vale inoltre Mfj ≤ Mj Mz , quindi da (5.3.3) si ottiene αj ≥ mj b̂ . Mj Mz Si determina adesso una stima superiore per ξj . ξj (x) = = = p2 (π − x) p2 (x) p2 (π − x) fj2 (x) + fj (π − x) fj (x) 2ãj p2 (π − x) p2 (π − x) z 2 (x)ψj2 (x) p2 (x) + z(π − x)ψj (π − x) z(x)ψj (x) 2ãj 1 2 z(π − x) z(x) ψj (x) + ψj (π − x) ψj (x) 2ãj (5.3.5) 96 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ essendo p(x) = z(π − x). Maggiorando ξj (x) con gli estremi di ψj 2ãj 1 z(π − x) z(x) m2j + Mj Mj 2ãj Mj 1 = . 2 mj z(π − x) + z(x) ξj (x) ≤ (5.3.6) Dall’Osservazione (5.2.2) fj (x), e quindi z(x), non può annullarsi contemporaneamente in x0 e π − x0 , quindi wz = min (z(π − x) + z(x)) > 0. Da (5.3.6) si ottiene ξj (x) ≤ 2ãj Mj . m2j wz (5.3.7) Infine τ Tn (Mfj − fj ) ≥ 0, quindi ãj ≤ Mfj ≤ Mz Mj e da (5.3.7) si ottiene ξj ≤ 2Mz Mj2 . wz m2j (5.3.8) Sostituendo (5.3.8) e (5.3.5) in (5.3.2) si ha s µ ¶3 mj b̂wz ρj ≤ 1 − . Mj 2Mz2 Si conclude che se il rapporto Mj /mj rimane fissato da un certo j in poi, i.e. Mj = c < +∞, j→∞ mj lim allora il tasso di convergenza è s ρj ≤ 1− b̂wz 2c3 Mz2 j = 1, . . . , log2 (n). Poiché ρj è limitata da una costante indipendente da j, il MGM è ottimale. • Per la stima del rapporto Mj /mj in alcuni casi può essere utile la proposizione seguente, che determina il grado di fj , e quindi di ψj , per j sufficientemente elevato. Con la notazione deg(f ) si indica il grado della funzione f . 5.3. OTTIMALITÀ DEL MGM 97 Proposizione 5.3.5. Sia Pnj = τ Tnj (p) con p di grado q fissato per ogni livello, per consistenza nj ≥ 2q + 1. Per j sufficientemente elevato (i) deg(f0 ) < 2q ⇒ deg(fj ) = 2q − 1 (ii) deg(f0 ) ≥ 2q ⇒ deg(fj ) = 2q Dim. (j) La funzione fj (x) = a0 + 2 Pbj k=1 (j) ak cos(kx), ha grado bj se e solo se τ Tnj (fj ) ha ampiezza di banda 2bj + 1. Se A e B sono due matrici di banda rispettivamente r e s, la matrice C = AB ha ampiezza di banda t = r + s − 1. Per semplificare la notazione si fissa n = nj e k = nj+1 per un generico livello j. La matrice Pn τ Tn (fj )Pn ha quindi ampiezza di banda 2(2q + bj ) + 1. Per come è stato definito inizialmente il proiettore, utilizzando la matrice di taglio Tnk , la matrice dei coefficienti al livello successivo è definita come τ Tk (fj+1 ) = Tnk Pn τ Tn (fj )Pn (Tnk )T . Poiché le matrici di taglio selezionano solo una riga e una colonna ogni due a partire dalla seconda, se la matrice A ha ampiezza di banda 2d + 1, allora Tnk A(Tnk )T ha ampiezza di banda d se d è dispari e d + 1 se d è pari. Quindi per calcolare la banda di τ Tk (fj+1 ) bisogna dividere il caso in cui 2q + bj è pari da quello in cui è dispari. Se 2q + bj è pari anche bj è pari, in tal caso la banda di τ Tk (fj+1 ) è 2bj+1 + 1 = 2q + bj + 1 e bj+1 = bj /2 + q. Si nota che essendo bj pari il rapporto bj /2 è ancora un numero intero. Se 2q + bj è dispari anche bj è dispari, in tal caso 2bj+1 + 1 = 2q + bj e bj+1 = (bj − 1)/2 + q. Essendo bj dispari il rapporto (bj − 1)/2 è ancora un numero intero. E’ adesso possibile definire la successione {bj } come bj + q se bj = 2k, 2 bj+1 = b −1 j +q se bj = 2k + 1, 2 k ∈ N. (5.3.9) 98 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ Questa è la combinazione di due equazioni alle differenze lineari del primo ordine. In entrambi i casi l’equazione omogenea associata ha una sola radice uguale a 1/2, conseguentemente il punto d’equilibrio b̄ è asintoticamente stabile (si veda ad esempio [22]). Si determina b̄ separatamente per le due equazioni alle differenze in (5.3.9). Per bj pari si ha che b̄ = 2q, mentre per bj dispari b̄ = 2q − 1. Poiché la successione {bj } è crescente per bj ≤ 2q − 1 e decrescente per bj ≥ 2q, se b0 ≤ 2q − 1 allora bj cresce fino a raggiungere il punto d’equilibrio 2q − 1, se invece b0 ≥ 2q allora bj decresce fino a raggiungere il punto d’equilibrio 2q. Si nota che da (5.3.9) se bj ≤ 2q − 1 allora bj+1 ≤ 2q − 1 e quindi non può “saltare” oltre 2q − 1, similmente se bj ≥ 2q allora bj+1 ≥ 2q. Si conclude la dimostrazione ricordando che bj è proprio il grado di fj . • Dalla proposizione precedente si ottiene che la banda di τ Tn (fj ) tende ad un punto d’equilibrio stabile pari a circa il doppio (poco meno) della banda del proiettore. Questo fatto è di particolare importanza non solo per il grado di fj ma anche per l’applicabilità stessa del MGM. Ad ogni livello di ricorsione la dimensione del problema viene dimezzata e se l’ampiezza di banda rimanesse costante o crescesse, ben presto supererebbe la dimensione della matrice ristretta. In realtà dall’equazione (5.3.9) si vede che anche se la matrice τ Tn (f0 ) ha banda ampia, tralasciando la banda del proiettore, la banda di τ Tn (f1 ) sarà circa la metà della precedente e cosı̀ via. Questo permette di continuare a dimezzare il problema fino a raggiungere una dimensione pari a circa due volte l’ampiezza di banda del proiettore (il punto d’equilibrio). Si ricorda che la banda del proiettore non può essere molto elevata, in quanto è legata all’ordine dello zero della funzione ed inoltre, il fattore di condizione della matrice τ Tn (f ) è almeno dell’ordine di nα dove α è l’ordine massimo degli zeri di f . Ad esempio, il proiettore definito nella Proposizione 5.3.1 ha lo stesso ordine α della f e Pn = τ Tn (p) ha ampiezza di banda pari a α + 1 essendo α = 2q dove q è il grado di p. 5.3. OTTIMALITÀ DEL MGM 99 Osservazione 5.3.6. L’equazione (5.3.9) dà anche delle informazioni su quanto velocemente il grado di fj tende a 2q o 2q − 1. Se deg(f0 ) À 2q allora ad ogni passo deg(fj ) viene circa dimezzato e quindi tende al valore 2q con decadimento esponenziale. Se deg(f0 ) < 2q − 1, considerando q non molto elevato per quanto riportato sopra sul condizionamento, il numero di passi necessari a raggiungere il punto d’equilibrio 2q − 1 è di poche unità, solitamente non più di tre o quattro. • Osservazione 5.3.7. Poiché grazie alla Proposizione 4.3.5 la posizione e l’ordine dello zero di f essendo nell’origine non cambia ai vari livelli, utilizzando la fattorizzazione definita nell’Osservazione 5.3.3, al generico livello j si ha fj (x) = (1 − cos(x))q ψj (x). Utilizzando il proiettore definito nella Proposizione 5.3.1 è possibile definire il grado di ψj per j sufficientemente elevato. Essendo fj il prodotto di due funzioni deg(fj ) = q +deg(ψj ). In accordo alla Proposizione 5.3.5, poiché deg(p) = q, si ha deg(fj ) = 2q se deg(f0 ) ≥ 2q oppure deg(fj ) = 2q − 1 se deg(f0 ) < 2q. Si conclude che ½ q−1 se deg(ψ0 ) < q, deg(ψj ) = q se deg(ψ0 ) ≥ q. • 5.3.2 Dimostrazione di ottimalità. Raccogliendo insieme i risultati intermedi ottenuti nella sottosezione precedente, è possibile finalmente dare una dimostrazione dell’ottimalità del MGM per funzioni generatrici del tipo f (x) = (1 − cos(x))q , q ∈ N. Come risultato preliminare è necessario ricordare un risultato noto in letteratura come Teorema di Perron-Frobenius. Definizione 5.3.8. Sia A ∈ Rn×n , si definisce: (i) A > 0 se ai,j > 0 per i, j = 1, . . . , n, 100 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ (ii ) A ≥ 0 se ai,j ≥ 0 per i, j = 1, . . . , n ed esiste almeno un ai,j > 0. Teorema 5.3.9 (Perron-Frobenius[24]). Sia A ≥ 0 ed esista un m ∈ N tale che Am > 0. Allora ∃ λ0 > 0 e x0 > 0 tali che: (i) Ax0 = λ0 x0 (ii) ∀ λ 6= λ0 autovalore di A vale λ0 > |λ| (iii) λ0 è semplice (molteplicità geometrica e algebrica pari a 1). Teorema 5.3.10 (Ottimalità MGM). Siano An = τ Tn (f ) e Pnj = τ Tnj (p), con j = 0, . . . , log2 (n) e f (x) = (1 − cos(x))q , p(x) = µq (1 + cos(x))q , q ∈ N, µ ∈ R, Se Pnj è il proiettore dove p è fissato per ogni livello di ricorsione, allora il MGM è convergente e ottimale. Dim. Come riportato nell’Osservazione 5.3.3 per ogni livello j è possibile esprimere la relativa funzione generatrice come fj (x) = (1 − cos(x)q ψj (x), ψj > 0. Grazie alla Proposizione 5.3.1 si ha la convergenza del MGM, per dimostrare l’ottimalità si ricorre al Teorema 5.3.4, cioé si dimostra che max(ψj ) =c<∞ j→∞ min(ψj ) lim (5.3.10) con c costante e indipendente da n. Per definizione f0 = f e quindi ψ0 ≡ 1. Questo implica che dall’Osservazione 5.3.7 la ψj ha grado al più q − 1 e quindi può essere espressa come ψj (x) = q−1 X i=0 (j) αi cos(ix). 5.3. OTTIMALITÀ DEL MGM (j) 101 (j) Indicando con α(j) = (α0 , . . . , αq−1 )T il vettore dei coefficienti di ψj , si ottiene che α(0) = e1 , il primo vettore della base canonica nello spazio Rq . Per semplicità si fissa p(x) = √ 2(1 + cos(x))q , è però possibile generalizzare i risultati seguenti anche a µq 6= √ 2 in quanto, grazie al Teorema 5.3.4, non è necessario ottenere una funzione limite per le fj , ma è sufficiente che max(ψj )/ min(ψj ) rimanga limitato da una costante fissata per j sufficientemente elevato. Utilizzando la Proposizione 4.3.5 si ottiene ³x´ ³x´ ³ x´ 2 ³ x´ 2fj+1 (x) = fj p2 + fj π − p π− 2 2³ ´´ ³ 2 ³ ´´ 2 √ ³ x q x q = 2 1 − cos 1 + cos h√ ³ ³2 x ´´q ³ x ´ 2√ ³ ³ x ´´q ³ x ´i 2 1 + cos ψj + 2 1 − cos ψj π − 2 2 2 2 √ ³ 2(1 − cos(x))q h ³ x ´ ³ x ´ x´ ³ x ´i = p ψj +p π− ψj π − . 2q 2 2 2 2 Quindi la relazione di trasformazione fra le fj può essere definita a partire da una relazione di ricorrenza sulle ψj : ³ 1 h ³x´ ³x´ x´ ³ x ´i p ψ + p π − ψ π − . (5.3.11) j j 1 2 2 2 2 2q+ 2 √ Il polinomio p(x) = 2(1 + cos(x))q può essere espresso nella forma equivalente ψj+1 (x) = p(x) = q X βi cos(ix). i=0 Queste due diverse formulazioni di p(x) permettono di definire due proprietà sui coefficienti βi : 1) p(0) =⇒ q X βi i=0 bq/2c 2) p(π) =⇒ X i=0 1 = 2q+ 2 , bq/2c β2i = X i=0 β2i+1 . 102 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ Da queste deriva che bq/2c bq/2c X β2i = i=0 X 1 β2i+1 = 2q− 2 (5.3.12) i=0 che risulterà particolarmente utile in seguito. Esplicitando p(x) e ψj (x) secondo il loro sviluppo trigonometrico, la (5.3.11) può essere riscritta come " q µ ¶X µ ¶ q−1 X 1 ix kx (j) ψj+1 (x) = q+ 1 βi cos αk cos 2 k=0 2 2 2 i=0 # q q−1 ³ ³ ³ ³ X x ´´ X (j) x ´´ + βi cos i π − αk cos k π − 2 2 i=0 k=0 µ ¶ µ ¶ q q−1 ¢ ix kx ¡ 1 XX (j) βi αk cos = q+ 1 cos 1 + (−1)i+k 2 2 2 2 i=0 k=0 µ µ ¶ µ ¶¶ q q−1 (i + k)x (i − k)x 1 + (−1)i+k 1 XX (j) βi αk cos = q+ 1 + cos . 2 2 2 2 2 i=0 k=0 Nell’ultima equazione si annullano tutti gli addendi per cui i + k è dispari. Fissando Pq−1 (j+1) cos(mx), si ottiene la allora i + k = 2m e considerando ψj+1 (x) = m=0 αm relazione di ricorrenza per {α(j) } definita da X X 1 (j) (j) (j+1) αm = q+ 1 βi αk . βi αk + 2 2 i+k=2m |i−k|=2m Esplicitando le sommatorie è possibile determinare la matrice di trasformazione A ∈ Rq×q che permette di passare da α(j) a α(j+1) : α(j+1) = Aα(j) = Aj+1 α(0) . (5.3.13) Per esplicitare A fissiamo q pari per semplicità, ma una forma del tutto analoga si ottiene anche nel caso di q dispari. Per facilitare i calcoli si esprime A= 1 1 2q+ 2 (B + C + D), (5.3.14) 5.3. OTTIMALITÀ DEL MGM 103 dove le matrici B, C e D sono ottenute dalle seguenti sommatorie X (j) =⇒ B (5.3.15) (j) =⇒ C (5.3.16) (j) =⇒ D. (5.3.17) βi αk i+k=2m X βi αk i−k=2m X βi αk k−i=2m k6=i Da queste ultime segue direttamente b0 b2 b1 b0 . . ... ... . .. . B = bq bq−1 . . . . . . . . . b1 , bq . . . . . . b3 .. .. .. . . . bq bq−1 0 ... ... b0 b1 . . . . . . bq−1 0 0 b0 b1 . . . b2 b3 . . . bq b0 .. . . .. C= , D = bq ... 0 . . . bq−3 . . . bq−5 .. , .. . . b0 b1 si nota che queste matrici non hanno una struttura esattamente a banda o triangolare, ma hanno uno scalino di un elemento al crescere di ogni colonna. Esplicitando il calcolo di A mediante la (5.3.14) si ottiene 2b0 b1 b2 2b2 b1 + b3 2b0 + b4 . .. .. . . . . 1 .. A = q+ 1 2b bq−1 . q 2 2 bq . . . . . . bq−1 . .. .. . .. . .. . . . .. . . . .. .. .. . . . bq bq−1 Si riporta alcune delle proprietà di A necessarie ai fini della dimostrazione: 104 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ 1. Sia ai la i-esima colonna di A, allora bq/2c q X X 1 aik = 2 q+ 1 β2i+1 = 1 2 2 i=0 k=1 bq/2c q X X 1 aik = 2 q+ 1 β2i = 1 2 2 i=0 k=1 se i = 2r, se i = 2r + 1, per r = 1, . . . , bq/2c. 2. A ≥ 0. Si può dimostrare facilmente che βi > 0 per i = 0, . . . , q, infatti questi √ ultimi sono legati ai coefficienti di Fourier della funzione 2(1 + cos(x))q . 3. ∃ m ∈ N t.c. Am > 0. Segue dal fatto che A può essere espressa come una matrice in forma di Hessemberg superiore più un’altra matrice avente alcuni elementi positivi nella parte strettamente triangolare inferiore. Dalla Proprietà 1 segue che kAk1 = 1. Poiché ρ(A) ≤ kAk per ogni norma indotta su A, si ottiene ρ(A) ≤ 1. Inoltre, sempre per la Proprietà 1 prendendo x = (1, . . . , 1)T ∈ Rq , AT x = x e quindi, essendo σ(A) = σ(AT ), si ha ρ(A) = 1. Per le Proprietà 2 e 3, la matrice A rientra nelle ipotesi del Teorema 5.3.9 di PerronFrobenius. Da tale teorema segue che ρ(A) = 1 è semplice ed il corrispondente autovettore u ha componenti tutte strettamente positive (u > 0). Essendo α(0) = e1 , non può essere ortogonale ad u perchè in tal caso si dovrebbe avere u0 = 0, ma per Perron-Frobenius si è visto che u0 > 0. Quindi esprimendo α(0) nella base degli autovettori di A, la componente relativa alla direzione u è non nulla. E’ cosı̀ possibile applicare il metodo delle potenze e ricordando la (5.3.13) si ottiene: lim α(j) = lim Aj α(0) = u. j→∞ j→∞ 5.3. OTTIMALITÀ DEL MGM 105 Segue che lim ψj = ψ̄ j→∞ t.c. i coefficienti di ψ̄ sono ᾱ = u > 0. Poiché ψ̄ è il limite di polinomi di grado fissato è a sua volta un polinomio dello stesso grado, quindi maxx∈[0,π] (ψ̄(x)) è un valore costante. Affinché sia verificata la (5.3.10) rimane da dimostrare che ψ̄ > 0, ovvero che @ x0 ∈ [0, π] t.c. ψ̄(x0 ) = 0. Essendo ψ̄ il limite delle ψj è un punto fisso per tale successione. Quindi in base alla ricorrenza definita da (5.3.11) si ottiene ³ 1 h ³x´ ³x´ x´ ³ x ´i ψ̄(x) = q+ 1 p ψ̄ +p π− ψ̄ π − . 2 2 2 2 2 2 Se per assurdo ∃ x0 ∈ (0, π] t.c. ψ̄(x0 ) = 0, allora ³ 1 h ³ x0 ´ ³ x0 ´ x0 ´ ³ x0 ´i ψ̄(x0 ) = q+ 1 p ψ̄ +p π− ψ̄ π − = 0. 2 2 2 2 2 2 (5.3.18) Poiché p(x) = 0 ⇐⇒ x = π ed inoltre p(π − x) = 0 ⇐⇒ x = 0, la (5.3.18) è verificata solo se valgono contemporaneamente ³x ´ ψ̄ 0 = 0 ³2 x ´ ψ̄ π − 0 = 0. 2 Iterando il procedimento e considerando sempre la prima delle due condizioni precedenti, si ottiene ψ̄(x0 /2k ) ∀ k ∈ N e dunque ³x ´ 0 lim ψ̄ k = ψ̄(0) = 0. k→∞ 2 la relazione (5.3.19) contiene un assurdo in quanto ψ̄(0) = (5.3.19) Pq−1 i=0 ᾱi > 0 essendo ᾱ > 0. Avendo dimostrato che ψ̄ > 0 si ha che la (5.3.10) è verificata e quindi grazie al Teorema 5.3.4 si può concludere l’ottimalità. • Osservazione 5.3.11. Dalla dimostrazione precedente si ottiene che essendo ψ̄(0) = maxx∈[0,π] (ψ̄(x)) se per assurdo si avesse ψ̄(0) = 0, allora ψ̄ ≡ 0. 106 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ 5.3.3 Estensione al caso di uno zero nell’origine o in π. Si estende il risultato di ottimalità dimostrato nella sottosezione precedente per funzioni del tipo f (x) = (1 − cos(x))q , q ∈ N, prima a tutte le funzioni che sia annullano nell’origine ed infine a quelle che si annullano π. Osservazione 5.3.12. Il Teorema 5.3.10 può essere banalmente esteso al caso di funzioni generatrici del tipo f (x) = θ(1 − cos(x))q , θ ∈ R. Il fattore costante θ si propaga invariato per ogni funzione fj , quindi non altera il rapporto max(ψj )/ min(ψj ) ed il MGM è ottimale sotto le stesse ipotesi del Teorema 5.3.10. • Il teorema seguente permette di estendere il risultato di ottimalità a tutte le funzioni f (x) ∼ (1 − cos(x))q , q ∈ N. Teorema 5.3.13. Siano An = τ Tn (f ) e Pnj = τ Tn (p), con j = 0, . . . , log2 (n) e f (x) ∼ (1 − cos(x))q , p(x) = µq (1 + cos(x))q , q ∈ N, µ ∈ R, Se Pnj è il proiettore dove p è fissato per ogni livello di ricorsione, allora il MGM è convergente e ottimale. Dim. Ponendo z(x) = (1 − cos(x))q , f (x) ∼ (1 − cos(x))q è equivalente a m1 z(x) ≤ f (x) ≤ m2 z(x) per qualche m2 ≥ m1 > 0. La dimostrazione è del tutto analoga a quella del Teorema 5.1.4. Quindi si evidenziano soltanto i passaggi che operano in modo distinto nei due casi, rimandando a tale dimostrazione per i dettagli relativi alla valutazione delle altre quantità presenti nella stima di ρfj . Passando da 5.3. OTTIMALITÀ DEL MGM 107 γj a ξj cambiano solo i valori cfj e d, che diventano rispettivamente ° 2 ° ° p (π − x0 ) ° ° ° c̃fj = ° fj2 (x) °∞ °µ ¶−1 ° ° ° 2 2 p (x) p (π − x) ° ° ˜ dfj = ° + ° . ° fj (π − x) ° fj (x) ∞ Nella dimostrazione del Teorema 5.1.4 si è concluso che cfj d = cz d/m1 e s µ ¶2 m1 âz ρfj ≤ 1 − = ω < 1. m2 2ãz Mz cz d (5.3.20) Fissiamo c̃z d˜z ° 2 ° ° p (π − x0 ) ° ° = ° ° z 2 (x) ° ∞ ° ° ° ° z(π − x)z(x) ° = ° ° p2 (x)z(x) + p2 (π − x)z(π − x) ° . ∞ Poiché vale che c̃fj d˜fj ° 2 ° ° p (π − x0 ) ° ° ° = c̃z ≤ ° 2 (m1 z(x)) °∞ m21 ° ° ° ° f (π − x)f (x) j j ° = ° ° p2 (x)fj (x) + p2 (π − x)fj (π − x) ° analogamente a (5.3.20) si ottiene s µ ρfj ≤ 1− m1 m2 ¶4 ≤ ∞ m22 d˜z , m1 âz = ω̃ < 1 2ãz Mz c̃z d˜z con ω̃ diverso da ω ma pur sempre costante. Si osserva che non necessariamente ω̃ < ω (anzi è più logico attendersi il contrario), in quanto la quantità cz d 6= c̃z d˜z . • Osservazione 5.3.14. I sistemi lineari derivanti dalla discretizzazione di PDE ellittiche hanno funzioni generatrici del tipo f (x) = (2 − 2 cos(x))q , q∈N (5.3.21) (si veda il Capitolo 7). Queste funzioni si annullano tutte nell’origine, quindi per τ Tn (f ) il MGM proposto è ottimale e converge con un costo O(n). • 108 CAPITOLO 5. OTTIMALITÀ DEL MGM PER L’ALGEBRA τ In [13] viene mostrato che τ Tn (f ) con f definita in 5.3.21, è un precondizionatore ottimale per PCG con matrice dei coefficienti Tn (f ). Si sottolinea che il MGM proposto è il primo metodo iterativo che permette di risolvere il sistema precondizionato con un costo O(n), mentre i metodi classici basati su trasformate discrete di seni hanno un costo O(n log(n)). Si evidenzia che il MGM può essere applicato direttamente al sistema con matrice dei coefficienti Tn (f ) utilizzando la tecnica descritta nella Sezione 4.4, in quanto, anche se non ne è stata dimostrata l’ottimalità di tale metodo, dalla Tabella 7.8 si può vedere come il numero di iterazioni rimanga comunque costante all’aumentare della dimensione n. Questo avviene anche nel caso bidimensionale, dove la matrice dei coefficienti è BTTB (Tabella 7.9). Si estende il risultato di ottimalità anche alle funzioni che si annullano in π. Osservazione 5.3.15. Nel caso che τ Tn (f ) sia tale che f (π) = 0, in base al punto 2 della Proposizione 4.3.5 la funzione fˆ al livello successivo si annulla in 0. Poichè abbiamo dimostrato l’ottimalità del MGM per funzioni che si annullano nell’origine, se si considera τ Tk (fˆ) si ha che in tal caso il tasso di convergenza del MGM, da questo primo livello in poi, è minore di una certa costante ω indipendente dalla dimensione n del problema. Quindi anche aumentando n, il tasso di convergenza del MGM per τ Tn (f ) sarà uguale a max{ρ0 , ω}, che è comunque costante e indipendente da n, i.e. il MGM è ottimale. • Si sottolinea l’importanza del caso di funzioni che si annullano in π, visto che tutti i sistemi lineari provenienti da applicazioni integrali rientrano in questa categoria. Ad esempio, per problemi di ricostruzione di un segnale si ha f (π) = 0, mentre per il problemi di super-resolution e di ricostruzione di immagini si ha f (π, π) = 0 (si veda ad esempio [9]). 5.3. OTTIMALITÀ DEL MGM 109 Come sopra evidenziato, nel caso di sistemi lineari provenienti da applicazioni integrali, la funzione generatrice ha uno zero in π, mentre per applicazioni provenienti da PDE ellittiche la funzione generatrice si annulla nell’origine. Quindi, in base all’Osservazione 5.3.15, si verifica che alla prima discesa di livello un problema integrale viene trasformato in uno che spettralmente e strutturalmente è interpretabile come la discretizzazione di una PDE ellittica. Parte II Applicazioni Numeriche 110 Capitolo 6 Come implementare un’applicazione MGM Si definisce le linee guida da seguire per implementare un MGM che sia efficiente, riutilizzabile ed estendibile, tutte caratteristiche essenziali per qualsiasi tipo di applicazione. La trattazione è fatta ad un elevato livello di astrazione, non si scenderà mai nei dettagli implementativi di qualche specifico linguaggio, ricorrendo eventualmente ad uno pseudo linguaggio dove risulti particolarmente rilevante per descrivere le tecniche utilizzabili per l’implementazione con un comune linguaggio imperativo. L’applicazione MGM utilizzata per la sperimentaziontazione numerica del presente lavoro è stata realizzata in Fortran 90, probabilmente il linguaggio più utilizzato per il calcolo scientifico. Anche se la trattazione di questo capitolo è volta a definire la progettazione e non l’implementazione effettiva di uno specifico MGM, se per semplificare la trattazione sarà necessario, in alcuni frangenti si farà rifermento occasionalmente all’implementazione specifica prima citata. Si descrive inizialmente la struttura che necessariamente qualsiasi applicazione Multigrid deve possedere. Riportando due esempi pratici di MGM per matrici Toeplitz ed algebra τ , oltre ad evidenziare la possibilità di riutilizzare gran parte dell’applicazione proposta per implementare un MGM per altre classi di matrici, come ad esempio l’algebra delle Circolanti, si evidenzia la facilità di estensione dell’applicazione al caso bidimen111 112 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM sionale (matrici bilivello), dove le operazioni sui singoli blocchi sono delegate alle procedure già sviluppate per il caso monodimensionale. Si sottolinea che il MGM proposto è per matrici a banda e quindi per mantenere l’ottimalità del metodo ogni parte dell’applicazione deve avere un costo al più lineare. Viene pertanto riportata anche un’analisi del costo computazionale dell’intera applicazione. 6.1 Struttura di un’applicazione Multigrid Un’applicazione Multigrid è pur sempre un metodo iterativo, quindi si fonda su un ciclo iterativo che termina in base ad una qualche condizione di arresto. Una delle classiche condizioni di arresto, che è anche quella utilizzata dalle implementazioni proposte, è krk k2 ≤ ε kbk2 , (6.1.1) dove rk è il residuo al k-esimo passo, b il termine noto e ε una tolleranza fissata. Per ogni iterazione viene poi eseguita la procedura ricorsiva MGM(ul , f l , l) descritta a pagina 50. Un MGM generico può richiedere in input delle informazioni aggiuntive oltre alla matrice dei coefficienti ed il vettore dei termini noti. Poichè il MGM è una composizione di almeno due metodi iterativi è conveniente avere a disposizione una libreria di metodi iterativi classici fra cui l’utente possa scegliere quali utilizzare come smoother. Sarà inoltre necessario sapere quanti passi devono essere eseguiti dal pre-smoother e dal post-smoother, oltre all’eventuale incremento del numero di iterazioni ad ogni livello. Nella Sezione 6.5 sarà mostrato come incrementando il numero di iterazioni dello smoother di un valore costante nello scendere di livello delle chiamate ricorsive del MGM, il costo computazionale del metodo resta di tipo lineare perché la dimensione del problema viene comunque dimezzata. Il punto fondamentale che distingue il MGM dai classici metodi iterativi è il mec- 6.1. STRUTTURA DI UN’APPLICAZIONE MULTIGRID 113 canismo di ricorsione. Ad ogni livello di ricorsione deve essere calcolata la matrice dei coefficienti al livello successivo utilizzando il proiettore del livello corrente. In generale in un MGM il proiettore ad ogni livello viene calcolato in base ad informazioni che dipendono dal particolare livello e quindi può cambiare rispetto a quello precedente. Ad esempio, nel MGM definito nel Capitolo 4, il proiettore al livello j viene calcolato a partire dalle informazioni sulla funzione generatrice fj della matrice dei coefficienti a quel livello e, ad eccezione del caso in cui fj si annulla in zero per qualche j, la funzione generatrice associata al il proiettore si modifica ad ogni livello. E’ quindi necessario un meccanismo che permetta di calcolare e memorizzare una volta per tutte la sequenza dei proiettori e delle matrici dei coefficienti, ovviamente non è conveniente ripetere il calcolo di queste informazioni per ogni iterazione del MGM. Viene quindi predisposta una particolare procedura di setup da eseguire prima di cominciare il ciclo iterativo. Nella procedura di setup sono calcolate le matrici dei proiettori e dei coefficienti (o meglio loro rappresentazioni compatte) per ogni livello e sono create due liste, una per i proiettori e una per le matrici dei coefficienti, di lunghezza pari al numero di chiamate ricorsive, dove il i-esimo elemento è la matrice relativa al i-esimo livello di ricorsione. Generalizzando questa tecnica, è possibile definire anche una lista in cui memorizzare le informazioni sugli smoother in modo tale da rendere più flessibile la sperimentazione. Per ogni livello si può memorizzare il tipo di smoother ed il numero di iterazioni che deve effettuare, cosı̀ eventualmente è anche possibile cambiare lo smoother nello scendere delle chiamate ricorsive. Condisiderando il generico livello j di ricorsione, se nj è la dimensione del problema n j (n0 = n), Anj la matrice dei coefficienti e Pnj+1 la matrice di proiezione, la procedura di setup può essere schematizzata nel modo seguente: 114 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM Setup 1) Definizione di tre liste vuote, una per le matrici dei coefficienti M, una per i proiettori P e una per le informazioni sugli smoother S 2) Inserire An0 in M 3) for j = 1 to log2 (n) − 1 nj 3.1) Definizione ed inserimento in P di Pnj+1 nj nj 3.2) Inserimento in M di Anj+1 = (Pnj+1 )T Anj Pnj+1 3.3) Inserimento in S di un elemento con le relative informazioni end for 6.2 Un approccio modulare Si presenta il disegno di un’architettura MGM avvalendosi dell’applicazione implementata per realizzare la sperimentazione numerica dei Capitoli 7, 8, 9. Il caso pratico permette di seguire meglio la trattazione che altrimenti sarebbe troppo astratta e permette di evidenziare come realizzare alcune delle principali proprietà che deve possedere una qualsiasi applicazione, come la correttezza, l’estendibilità e la riusabilità. Poiché per il calcolo scientifico i linguaggi object-oriented non sono ancora diventati uno standard come negli altri settori dell’informatica, la trattazione seguente si baserà su un linguaggio imperativo che comunque dispone di almeno due caratteristiche essenziali e necessarie per poter ottenere le proprietà di cui sopra: 1. moduli, 2. tipi derivati. 6.2. UN APPROCCIO MODULARE 115 Il Fortran 90, il linguaggio probabilmente al momento più utilizzato per il calcolo scientifico, rientra in questa categoria. Un modulo è un insieme di procedure e dati relativi ad un particolare sottoinsieme della realtà da rappresentare. Un’applicazione è quindi formata da un insieme di moduli che comunicano fra loro richiamando procedure e scambiandosi dati. Un modulo è formato da una parte di informazioni (procedure e dati) che devono essere conosciute dagli altri moduli per poter comunicare (parte pubblica) e da una parte di informazioni che devono rimanere nascoste agli altri moduli in quanto necessarie solo al funzionamento interno del modulo (parte privata). La parte pubblica è l’interfaccia del modulo. Poiché la parte privata non interessa gli altri moduli è bene che questi non possano neppure accedervi, in modo tale da evitare errori indesiderati. Un tipo derivato è un tipo di dati definito dall’utente come l’aggregazione di più tipi predefiniti (interi, reali, stringhe, . . . ). E’ particolarmente utile quando un particolare oggetto ha più proprietà che lo descrivono, in tal modo vengono raggruppate tutte insieme. L’estensione ai linguaggi object-oriented è praticamente immediata, infatti una classe è un tipo di dato astratto più la sua implementazione, ovvero un tipo derivato più le procedure contenute nel relativo modulo. Ovviamente con un linguaggio object-oriented è possibile sfruttare caratteristiche aggiuntive come l’eridatirietà ed il polimorfismo, comunque l’architettura disegnata mediante i moduli può essere direttamente estesa ai linguaggi object-oriented sostituendo ai moduli proposti le corrispondenti classi. Esempio 6.2.1. Gli smoother possono essere un ottimo esempio per mostrare le caratteristiche dei tipi derivati e dei moduli. Il MGM utilizza un pre-smoother ed un post-smoother che sono un metodo iterativo classico. Gli smoother risultano essere 116 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM una parte indipendente ed omogea dell’intera applicazione, quindi possono essere raccolti all’interno di un modulo dedicato a questo scopo. Il modulo conterrà le procedure relative ai metodi iterativi classici, come ad esempio Richardson, Jacobi, Gauss-Seidel e Gradienti Coniugati senza precondizionamento. Può essere utile aggiungere anche una procedura che calcola il parametro di rilassamento ottimale per i vari metodi iterativi in base a quanto dimostrato nella Sezione 4.1. Inoltre le informazioni da conoscere per applicare un particolare smoother sono il metodo iterativo richiesto, il numero di iterazioni da effettuare e l’eventuale parametro di rilassamento. Si definisce quindi un tipo derivato type dati smoother metodo iterativo : integer numero iterazioni : integer parametro rilassamento: real end type dove metodo iterativo è un numero che identifica il metodo iterativo da applicare. Il tipo derivato dati smoother viene inserito all’interno del modulo e reso pubblico, in modo tale che anche gli altri moduli possano definire variabili di tipo dati smoother. Viene poi inserita una procedura Smoother che, prendendo in input una variabile di tipo dati smoother ed i dati relativi al sistema da risolvere, applica il metodo iterativo specificato. Quindi non è necessario rendere pubbliche le procedure dei vari metodi iterativi, sarà sufficiente inserire la procedura Smoother nell’interfaccia. Si ottiene cosı̀ il modulo seguente: Modulo Smoothers Interfaccia dati smoother Smoother Parametro ottimo Parte Privata Richardson Jacobi Gauss-Seidel Gradienti Coniugati dove Parametro ottimo è la procedura che determina il valore ottimo per un parti- 6.2. UN APPROCCIO MODULARE 117 colare metodo iterativo pesato ed ogni metodo è implementato con una procedura omonima. Se si avesse a disposizione un linguaggio object-oriented, il nostro modulo diventerebbe una classe avente sempre i metodi iterativi nella parte privata e l’interfaccia definita come Classe Smoothers Proprietà metodo iterativo numero iterazioni parametro rilassamento Metodi Smoother Parametro ottimo • Seguendo l’esempio proposto è possibile disegnare le altre parti dell’applicazione come ad esempio un modulo per le operazioni di proiezione, uno per le operazioni sulle funzioni generatrici delle matrici, un tipo derivato per memorizzare i coefficienti di Fourier delle matrici ed altri moduli e tipi derivati necessari all’applicazione stessa. A titolo di esempio viene proposto il disegno dell’architettura del MGM per matrici Toeplitz implementato per la sperimentazione di questa tesi. Lo schema di Figura 6.1 evidenzia i moduli di cui si compone l’applicazione, le relazioni più significative fra gli stessi sono definite mediante frecce. Come ultimo esempio si evidenzia come è possibile utilizzare i tipi derivati per memorizzare in modo efficiente e corretto la matrice dei coefficienti del sistema. Esempio 6.2.2. Per quanto visto nella Sezione 2.1, una matrice Tn (f ) è identificata univocamente dai coefficienti di Fourier della funzione f . Quindi, se f (x) = b X k=−c ak eikx , 118 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM Figura 6.1: Schema dei moduli del MGM per matrici Toeplitz 6.2. UN APPROCCIO MODULARE 119 è sufficiente memorizzare soltanto i coefficienti ak , k = −c, . . . , b, in un vettore di reali, magari con indici che variano proprio da −c a b. E’ utile anche memorizzare i due indici estremi c e b, in modo tale da semplificare e rendere più efficienti le operazioni che richiedono l’accesso a tutti i coefficienti (ad esempio i cicli). Solitamente il vettore dei coefficienti di Fourier della funzione generatrice viene chiamato maschera dei coefficienti, in quanto non sempre i coefficienti della funzione corrispondono con quelli della matrice. Ad esempio nel caso dell’algebra τ , come si è visto nella Sezione 2.2, la matrice τ Tn (f ) è definita indifferentemente sia dalla sua prima riga che dai coefficienti di Fourier di f , ma sono questi ultimi l’informazione che si preferisce memorizzare, in quanto per definire il proiettore e lo smoother si effettuano stime sulla funzione generatrice (Capitolo 4) e non sui coefficienti della matrice, inoltre anche il prodotto matrice-matrice è ottenuto mediante una convoluzione. Poichè la dimensione delle matrici cambia nello scendere di livello ed il vettore dei coefficienti rimane comunque fissato indipendentemente dalle dimensione di quest’ultima, è bene memorizzare anche la dimensione della matrice, in questo modo è possibile avere un maggiore controllo sulla correttezza delle procedure che la riguardano. In base alle considerazioni fatte è quindi possibile definire il tipo derivato type maschera dim : lb : ub : coefficienti: end type integer integer integer array(-lb:ub) of real dove dim è la dimensione della matrice quadrata (dim × dim), lb è l’indice inferiore (c nel nostro esempio), ub è l’indice superiore (b) e coefficienti è un vettore di reali con indici che variano da -lb a ub, coefficienti(i) = ai per i = −lb, . . . , ub. Nel caso di matrici a banda simmetriche e reali di interesse, per il MGM proposto si ha c = b e a−i = ai , i = 1, . . . , b. Quindi è sufficiente memorizzare soltanto metà 120 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM coefficienti ed un solo indice estremo: type maschera simmetrica dim : integer ub : integer coefficienti: array(0:ub) of real end type. Ovviamente le procedure implementare dovranno tenere conto che in realtà i coefficienti variano da -ub a ub e non sono soltanto nell’intervallo 0:ub. 6.3 • Riusabilità dell’applicazione Se un’applicazione è altamente modulare, ovvero è stata disegnata come un insieme di moduli sufficientemente indipendenti l’uno dall’altro, allora è possibile riutilizzarne alcune parti o estenderla per problemi più generali. Vediamo come è possibile riutilizzare l’applicazione illustrata nella sezione precedente (Figura 6.1) per definire un MGM per un’altra classe di matrici, l’algebra τ . La struttura dell’applicazione rimane fondamentalmente immutata, quindi si può riutilizzare quasi tutta l’applicazione ad eccezione dei moduli PROIEZIONI e MAT TOEP1D, vedremo in seguito come è possibile riutilizzare anche quest’ultimo modulo. Il modulo PROIEZIONI necessita solo di una piccola modifica, in quanto in accordo a quanto definito nella Sezione 4.4, la matrice di taglio cambia leggermente fra l’algebra τ e la classe Toeplitz. Il modulo MAT TOEP1D dovrà essere sostituito con un modulo MAT TAU1D che effettui le operazioni base sulle matrici τ e non sulle Toeplitz. Poiché (Sezione 2.3) una matrice τ Tn (f ) può essere espressa come τ Tn (f ) = Tn (f ) − Hn (f ), si può definire le operazioni su Tn (f ) e Hn (f ) e poi ottenere le corrispondenti per τ Tn (f ) semplicemente come differenza delle due precedenti. Questo non solo ci per- 6.3. RIUSABILITÀ DELL’APPLICAZIONE 121 mette di semplificare l’algoritmo, le matrici Toplitz a Hankel hanno una struttura più semplice delle τ , ma anche di riutilizzare interamente il modulo MAT TOEP1D. Quindi rimangono da definire soltanto i moduli MAT HANK1D e MAT TAU1D, dove le procedure di quest’ultimo non fanno altro che richiamare le corrispondenti in MAT TOEP1D e MAT HANK1D per poi effettuarne la differenza. Rispetto a definire tutte le operazioni nativamente nel modulo MAT TAU1D, la tecnica utilizzata in alcuni casi ha un leggero costo aggiuntivo (solitamente un fattore 2), compensato però da una maggiore semplicità algoritmica (che permette una maggiore garanzia di correttezza e stabilità dell’applicazione) e da una maggiore modularità. Si può notare che questa modularità, al momento appartentemente non giustificata, diventa sostanzialmente necessaria quando si passa al caso bidimensionale, in quanto è quasi proibitivo definire direttamente procedure a blocchi per matrici τ , mentre tale compito diventa meno gravoso nel caso di matrici Toeplitz e Hankel. Il modulo SMOOTHER rimane praticamente invariato perché ai vari metodi iterativi, per operare su matrici τ invece che su matrici Toeplitz, è sufficiente richiamare l’operazione di prodotto matrice-vettore definita in MAT TAU1D invece che in MAT TOEP1D. Questa è l’unica eventuale modifica da apportare al modulo SMOOTHER. Si fa però notare come, utilizzando un linguaggio object-oriented e la tecnica del polimorfismo, anche tale modifica non sarebbe più necessaria, avendo quindi la certezza di mantenere la correttezza del modulo (adesso classe) in questione. Similmente per il modulo MGM1D, l’unica accortezza è sempre quella di richiamare il prodotto matrice-vettore definita MAT TAU1D invece che in MAT TOEP1D. Per il modulo FUNZ GEN1D, poiché opera solo sulle funzioni generatrici disinteressandosi completamente della matrice associata, nessuna modifica risulta necessaria. L’applicazione cosı̀ ottenuta per l’algebra τ è riportata in Figura 6.2. Per definire un’applicazione MGM per altre classi di matrici, come ad esempio 122 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM Figura 6.2: Schema dei moduli del MGM per matrici τ 6.4. MGM PER PROBLEMI BIDIMENSIONALI 123 l’algebra delle Circolanti, la tecnica sarà del tutto analoga a quella presentata in questa sezione. Quindi una volta definito un modulo da sostituire a MAT TOEP1D per effettuare le operazioni base sulle matrici, negli altri moduli sarà sufficiente modificare la dichiarazione del modulo invocato per tali operazioni. Ovviamente possono esserci anche caratteristiche diverse nella tecnica di proiezione o di definizione del proiettore stesso, in tal caso risulterebbe necessaria qualche piccola modifica anche ai moduli PROIEZIONI e FUNZ GEN1D, ma niente di più. 6.4 MGM per problemi bidimensionali Mostriamo come l’architettura proposta nella Sezione 6.2 può essere estesa al caso di sistemi lineari derivanti dalla discretizzazione di problemi bidimensionali. Come visto nel Capitolo 4, nella trattazione teorica le proprietà definite per il caso monodimensionale vengono solitamente estese a quello bidimensionale ricorrendo al prodotto tensoriale, operatore che porta la matrice risultante ad assumere la caratteristica struttura a blocchi. E’ proprio questa particolare forma della matrice che deve essere sfruttata per riutilizzare gran parte degli algoritmi definiti per il caso monodimensionale. L’esempio tipico è il prodotto matrice-vettore. Esempio 6.4.1. Si ricorda che la matrice TN,M (f ) ∈ RN M ×N M è una matrice Toeplitz a blocchi N × N , con blocchi Toeplitz di dimensione M × M . Vediamo come calcolare y = TN,M (f )x, (6.4.1) dove y, x ∈ RN M . Suddividendo y e x in N blocchi di dimensione M ognuno, si ottiene che la (6.4.1) è equivalente a T0 (f ) T−1 (f ) . . . T1−N (f ) x0 y0 .. ... ... x1 y . 1 T1 (f ) .. , .. = .. .. .. . . . . . T−1 (f ) xn−1 yn−1 TN −1 (f ) ... T1 (f ) T0 (f ) (6.4.2) 124 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM dove yi , xi ∈ RM per i = 1, . . . , N e Ti (f ) ∈ RM ×M è una matrice di Toeplitz come definito nella Sezione 2.4.1. In base alla struttura a blocchi riportata in (6.4.2) un generico blocco yi può essere calcolato come yi = NX −i−1 T−k (f )xk , (6.4.3) k=−i per i = 0, . . . , N − 1. Questa formulazione permette di riutilizzare l’algoritmo implementato per il prodotto matrice-vettore monodimonensionale in due modi: 1. il prodotto T−k (f )xk viene calcolato utilizzando la procedura monodimensionale, 2. l’algoritmo utilizzato nella (6.4.3) è identico a quello monodimensionale dove i singoli elementi invece di essere scalari sono matrici o vettori a blocchi. La riusabilità è quindi di due tipi, dei moduli già implementati per il caso monodimensionale per il punto 1 e degli algoritmi già definiti nel monodimensionale per il punto 2. • La tecnica di riutilizzo nel bidimensionale del codice e degli algoritmi del monodimensionale presentata nell’esempio precedente, può essere applicata a gran parte di altre procedure, come ad esempio la convoluzione bidimensionale o la costruzione di una matrice bilivello. Per estendere l’applicazione proposta al caso bilivello è di fondamentale importanza la modalità di organizzazione dei dati, ovvero, nel nostro caso, come si decide di memorizzare la maschera dei coefficienti di Fourier che rappresenta la matrice. Per matrici di Toeplitz bilivello simmetriche a blocchi con ogni blocco a sua volta simmetrico, la funzione generatrice è f (x, y) = a0,0 + 2 bx X j=1 aj,0 cos(jx) + 2 by X k=1 a0,k cos(ky) + 4 by bx X X j=1 k=1 aj,k cos(jx) cos(ky). 6.4. MGM PER PROBLEMI BIDIMENSIONALI 125 La prima tecnia proposta, che è anche la più semplice e naturale, è di memorizzare i coefficienti di Fourier in una matrice aby ,0 .. C= . a1,0 a0,0 C aby ,1 . . . aby ,bx .. .. . ... . . a1,1 . . . a1,bx a0,1 . . . a0,bx Può essere cosı̀ definito un tipo derivato in cui memorizzare le informazioni relative alla maschera dei coefficienti similmente al caso monodimensionale: type maschera bilivello : integer dim x dim y : integer ub x : integer ub y : integer coefficienti: real array(0:ub y, 0:ub x) end type dove dim x e dim y memorizzano le dimensioni della matrice rispettivamente a blocchi e di ogni blocco, quindi ub x =bx e ub y =by . Osservazione 6.4.1. Considerando la matrice C a righe, ogni riga è la maschera di una matrice Toeplitz monodimensionale. Più precisamente, considerando una “riga a regime” a blocchi, la i-esima riga di C corrisponde al blocco che si trova i posizioni a destra, e per simmetria i posizioni a sinistra, rispetto al blocco diagonale. A seguito dell’osservazione precedente la matrice C può anche essere vista come un vettore colonna di vettori riga: C by .. . 1 0 £ ¤ −→ aby ,0 aby ,1 . . . aby ,,bx £ ¤ −→ £a1,0 a1,1 . . . a1,bx ¤ −→ a0,0 a0,1 . . . a0,bx , dove C(i) rappresenta un singolo blocco (una matrice monodimensionale) e [C(i)]j = ai,j . 126 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM Questa struttura può essere estesa al tipo derivato maschera bilivello che si può definire come type maschera bilivello dim x : integer ub x : integer coefficienti: array(0:ub x) of maschera simmetrica end type dove maschera simmetrica è il tipo derivato per le matrici monodimensionali definito a pagina 120. Si evidenzia che la struttura di maschera bilivello è del tutto analoga a quella di maschera simmetrica dove però coefficienti è un vettore di elementi maschera simmetrica, ottenendo cosı̀ la struttura a blocchi, infatti coefficienti(i) = C(i). Questa struttura può essere più semplice da utilizzare con il meccanismo di “delega” ai moduli monodimensionali delle operazioni da eseguire sui singoli blocchi (punto 1). D’altra parte essa richiede un ulteriore livello di annidamento che può risultare un po’ più complesso se bisogna accedere ai singoli coefficienti, o più in generale alle informazioni contenute in un singolo elemento di tipo maschera simmetrica. Per evitare il doppio annidamento, per accedere alle informazioni relative alla dimensione e alla banda di ogni singolo blocco, visto che comunque tali informazioni sono uguali per tutti i blocchi, è possibile eventualmente mantenere i due campi dim y e ub y all’interno della struttura maschera bilivello. Quest’ultima tecnica proposta può essere particolarmente utile nel caso in cui si ricorra ad un linguaggio object-oriented per implementare l’applicazione, in quanto il vettore coefficienti diventa un vettore di oggetti della classe che implementa la maschera monodimensionale, si ha cosı̀ un meccanismo di “delega” completo in accordo alla filosofia object-oriented, con un riutilizzo delle classi già implementate per il monodimensionale e la relativa garanzia di correttezza che ne consegue. In Figura 6.3 è riportata l’architettura dell’applicazione MGM per matrici Toeplitz bilivello proposta. Si evidenzia come i moduli sopra la parte tratteggiata siano 6.4. MGM PER PROBLEMI BIDIMENSIONALI Figura 6.3: Schema dei moduli del MGM per matrici Toeplitz bilivello. 127 128 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM gli stessi del caso monodimensionale, in quanto continuano ad operare immodificati a meno delle solite dichiarazioni dei moduli utilizzati. Per quanto riguarda i moduli sotto la linea tratteggiata si vede come quelli che agiscono su strutture bidimensionali utilizzano i corrispondenti moduli monodimensionali per effettuare le operazioni sui singoli blocchi. In ultima analisi la comunicazione fra i moduli MASCHERA2D e MASCHERA1D è tratteggiata perchè dipende da come si decide di definire il tipo derivato maschera bilivello. Se si utilizza l’ultima formulazione proposta allora il modulo MASCHERA2D utilizza direttamente MASCHERA1D, altrimenti se si utilizza la prima formulazione proposta (con la maschera a matrice), non vi è più una comunicazione diretta fra i due moduli, ma sono entrambi richiamati dagli altri per riutilizzare le procedure monodimensionali secondo la tecnica illustrata in questa sezione. 6.5 Complessità computazionale In questa sezione viene abbandonata la trattazione di un MGM generico scendendo nello specifico del MGM proposto per studiarne la complessità computazionale e verificare l’ottimalità complessiva dell’applicazione. Si ricorda che il MGM proposto è per matrici Toeplitz o τ a banda, quindi il prodotto matrice-vettore ha un costo O(n) dove n è la dimensione del problema. Di conseguenza, in base alla definizione di ottimalità 1.3.1, affinché il metodo sia ottimale l’intera applicazione deve avere complessivamente un costo O(n). Per ogni livello di ricorsione è necessario calcolare il proiettore e la matrice dei coefficienti per il livello successivo. Come illustrato nella Sezione 6.1, queste operazioni sono fatte in una procedura di “setup” apposita eseguita prima di iniziare il ciclo iterativo classico per il calcolo della soluzione. Per costruire il proiettore è necessario conoscere la posizione e l’ordine dello 6.5. COMPLESSITÀ COMPUTAZIONALE 129 zero. Si fa riferimento a funzioni con un solo zero, ma grazie all’Osservazione 4.3.2 il tutto può essere generalizzato in modo analogo al caso di più zeri. Grazie alla Proposizione 4.3.5 l’ordine dello zero rimane invariato mentre la sua posizione varia in accordo al punto 2 della proposizione citata. E’ quindi necessario calcolare lo zero ed il suo ordine solo per la funzione generatrice al livello iniziale. Solitamente i sistemi da risolvere derivano dalla discretizzazione di problemi continui per i quali tali informazioni sono conosciute a priori e non necessitano di essere calcolate. In caso contrario, per determinare lo zero è sufficiente campionare in un numero fissato di punti e quindi con un costo O(1) la funzione, perché trattandosi di polinomi di coseni ha un comportamento molto regolare. Sia f (x) = a0 + 2 b X ak cos(kx) k=1 se f (0) = 0 allora l’ordine dello zero, qualora non fosse conosciuto a priori, può essere calcolato facilmente in quanto le derivate dispari si annullano e la derivata 2j-esima è f (2j) j (x) = (−1) 2 b X ak k 2j cos(kx), k=1 quindi f (2j) (x) = 0 ⇐⇒ b X ak k 2j = 0. k=1 Se f (x0 ) = 0 con x0 6= 0 è sempre possibile fare il cambio di variabile y = x + x0 ed applicare la tecnica precedente a f (y). Quindi per determinare l’ordine dello zero è P sufficiente calcolare il minimo j per cui bk=1 ak k 2j 6= 0, procedura che ha un costo O(1). Rimane da determinare la matrice dei coefficienti al livello successivo. Sia j il livello corrente, nel caso dell’algebra τ τ Tnj+1 (fj+1 ) = (Tnnjj+1 )T τ Tnj (fj p2j )Tnnjj+1 , 130 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM n dove Tnjj+1 è la matrice di taglio. Quindi fj+1 è ottenuta da gj = fj p2j ponendo 0 k fj+1 = gj0 e fj+1 = gj2k per k > 0, dove fjk è il k-esimo coefficiente di Fourier di n fj . Per le matrici Toeplitz la matrice di taglio Tnjj+1 [t] è definita in modo tale che i coefficienti di Tnj+1 (fj+1 ) sono ottenuti come nel caso τ , in quanto tagliando le sporcature agli angoli si lavora soltanto sulle righe a regime che operano come in algebra. Quindi il costo per costruire la matrice dei coefficienti al livello inferiore è dato da due convoluzioni (il prodotto di funzioni fj p2j ) più le operazioni di taglio. Il costo delle convoluzioni dipende solo dal grado di fj e di pj e non dalla dimensione del problema, similmente le operazioni di taglio, quindi il costo complessivo è O(1). Bisogna considerare che il numero di matrici di proiezione e dei coefficienti da calcolare corrisponde al numero di livelli di ricorsione e, poichè ad ogni livello il problema viene almeno dimezzato, il numero di livelli di ricorsione O(log(n)) perché la ricorsione viene bloccata quando si raggiunge una dimensione sufficientemente piccola e indipendente da n. La procedura di “setup” ha quindi un costo O(log(n)) ed anche memorizzando informazioni aggiuntive per gli smoother tale costo non aumenta. Per completare l’analisi del costo computazionale dell’applicazione rimane da determinare solo il costo della procedura iterativa che deve essere ancora al più O(n). Il calcolo del residuo e la norma vettoriale hanno un costo O(n), quindi utilizzando il criterio d’arresto (6.1.1) la complessità di un passo di iterazione è definita essenzialmente da quella del tipo di ciclo ricorsivo scelto per il MGM (Sezione 3.1.5). La complessità dei diversi cicli del MGM può essere calcolate agevolmente con i metodi classici delle successioni o delle funzioni generatrici, ma per semplicità e brevità viene riportato un teorema che permette di agevolare lo studio della complessità di gran parte delle procedure ricorsive definite con la tecnica del “divide et impera”. Teorema 6.5.1. Sia C(n) il costo computazionale di un algoritmo applicato ad un 6.5. COMPLESSITÀ COMPUTAZIONALE 131 problema di dimensione n che effettua α chiamate ricorsive ognuna su problemi di dimensione n/β secondo uno schema ricorrente del tipo µ ¶ n C(n) = αC + O(nγ ) β C(1) = O(1). Allora, ponendo ξ = logβ (α), si ottiene se ξ > γ O(nξ ) O(nγ ) se ξ < γ C(n) = ξ O(n log(n)) se ξ = γ. Grazie a questo teorema è possibile dimostrare agevolmente la complessità dei diversi tipi di ciclo introdotti nella Sezione 3.1.5. Per come è stata definita la matrice di taglio monodimensionale, ad ogni livello di ricorsione si ha un dimezzamento della dimensione del problema, inoltre ad ogni livello il costo computazionale è dato essenzialmente dagli smoother, che effettuando un numero costante di iterazioni hanno un costo O(n), ovviamente come smoother è necessario utilizzare metodi il cui costo per iterazione è dello stesso ordine del prodotto matrice-vettore. Quindi i vari cicli si differenziano soltanto per il numero di chiamate ricorsive effettuate e lo schema ricorsivo generale per il MGM proposto è C(n) = αC ³n´ 2 + O(n) (6.5.1) C(1) = O(1), dove V -cycle =⇒ α = 1 W -cycle =⇒ α = 2 Utilizzando il Teorema 6.5.1 si ha che il costo del V -cycle è O(n) mentre quello del W -cycle è O(n log(n)). Se ne conclude che 132 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM il W-cycle non può essere utilizzato per sistemi monodimensionali con matrice dei coefficienti a banda, altrimenti si perde l’ottimalità del metodo. Il costo del VW -cycle, poiché ha uno schema di chiamate ricorsive del tipo 1, 2, 1, . . ., può essere studiato più facilmente a partire dalla ricorrenza ³n´ + O(n) ³2n ´ B(n) = 2C + O(n) 2 C(1) = B(1) = O(1), C(n) = B che riscrivendola come C(n) = 2C ³n´ 4 C(1) = O(1), + O(n) sempre per il Teorema 6.5.1, ha un costo O(n). Similmente avviene per il WV -cycle. Per problemi bidimensionali la matrice di taglio permette di passare da un problema di dimensione n ad uno di dimensione n/4 al livello successivo. Quindi in tal caso anche il W -cycle ha un costo O(n) e può essere utilizzato senza alterare l’ottimalità del MGM. Si sottolinea che cicli più complicati rispetto al V -cycle portano un’accelerazione della convergenza proporzionale al loro costo computazionale aggiuntivo, soprattutto nel caso Toeplitz (si veda Tabella 9.4). Proprio per questo, il fatto di non poter utilizzare il W -cycle nel caso di matrici monodimensionali a banda non è comunque particolarmente rilevante, in quanto risultati analoghi possono essere ottenuti con cicli più “leggeri” come ad esempio il WV -cycle. Ovviamente le dimostrazioni di ottimalità del MGM fornite nel Capitolo 5 per il V -cycle possono essere estese anche a cicli più complicati, in quanto aumentando il numero di chiamate ricorsive la convergenza del metodo non può certo peggiorare. 6.5. COMPLESSITÀ COMPUTAZIONALE 133 Si è ottenuto che il costo di una singola iterazione ha un costo O(n), quindi, poichè il numero di iterazioni effettuate è indipendente dalla dimensione del problema, il MGM proposto per matrici a banda ha un costo complessivo O(n). In conclusione si analizza un’estensione proposta in [33], mantenendo la complessità del metodo O(n) permette di ottenere la convergenza con un numero di iterazioni sostanzialmente inferiore (Tabella 9.6). Essenzialmente l’idea consiste nell’incrementare il numero di iterazioni degli smoother ad ogni livello di ricorsione in modo tale che la complessità del metodo rimanga sempre O(n). Per vedere quanto ed in che forma è possibile incrementare il numero di iterazioni è necessario esplicitare con più precisione la ricorrenza (6.5.1): C(nj ) = αC ³n ´ j 2 + O(s(j)nj ), (6.5.2) dove s(j) è la funzione del numero di passi di smoother al livello j = 1, . . . , log2 (n). Ad esempio, indipendentemente che si tratti di pre-smoother o di post-smoother, se al secondo livello vengo fatti tre passi di smoother, allora s(2) = 3. Per una dimostrazione rigorosa si rimanda a [33], ma intuitivamente è facile vedere che il fattore s(j) deve avere una crescita inferiore ad αj . Poiché s(0) = O(1), se s(j) = s(j − 1) + ν con ν costante allora si ha ancora C(n) = O(n) e questo continua a valere anche per s(j) = θs(j − 1) + ν, θ ∈ [0, 2). Se si sceglie θ = 2 allora sviluppando la ricorrenza (6.5.2) il termine s(j)n porterebbe un contributo O(n log(n)) e quindi C(n) = O(n log(n)). Sarebbe possibile anche raddoppiare il numero di iterazioni dello smoother una volta ogni due livelli, similmente a quanto avviene per il numero di chiamate ricorsive con il WV -cycle ed 134 CAPITOLO 6. COME IMPLEMENTARE UN’APPLICAZIONE MGM il VW -cycle, ma come si vede dalla sperimentazione numerica effetuata nella Sezione 9.4 questa scelta non porta sostanziali miglioramenti, mentre i risultati migliori si hanno scegliendo θ = 1 e ν = 1, valori superiori di ν e scelte particolari di θ solitamente non portano il metodo a convergere più velocemente. Capitolo 7 Equazioni Differenziali Ellittiche (PDE) In questo capitolo si applica il MGM proposto a sistemi lineari derivanti dalla discretizzazione di equazioni differenziali ellittiche (PDE) a coefficienti costanti. Dato il notevole interesse che le PDE rivestono nella modellizzazione di numerosi problemi fisici ed ingegneristici, sarà riportata una dettagliata sperimentazione numerica, sia nel caso monodimensionale che bidimensionale, al fine di confermare il risultato di ottimalità dimostrato nel Capitolo 5. Anche se in tale capitolo è stata dimostrata l’ottimalità del nostro MGM soltanto nel caso monodimensionale, la sperimentazione per il bidimensionale riportata in questo capitolo ha dato agli stessi risultati, auspicando la possibilità di estensione di tale risultato; comunque in [2] è riportato un cenno di come sia possibile fare ciò anche da un punto di vista teorico. In particolare si evidenzia come la “level independency” non permetta di ottenere l’ottimalità (Tabella 7.3) e come sia possibile rillassare un po’ la condizione sul grado del proiettore ottenendo ugualmente un MGM ottimale (Tabella 7.4). Quest’ultimo risultato sperimentale spinge a cercare condizioni meno stringenti ed in particolare a migliorare la teoria di Ruge-Stuben, che a questo punto sembra imporre vincoli troppo forti almeno per le classi di matrici strutturate da noi analizzate. In ultima analisi si mostra come l’ottimalità ottenuta per l’algebra τ possa essere estesa 135 136 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) alla classe Toeplitz utilizzando la tecnica proposta nel Capitolo 4. L’estensione delle dimostrazioni teoriche di ottimalità per il caso Toeplitz sarà oggetto di ricerche future. 7.1 Discretizzazione di equazioni differenziali Si mostra come passare dal modello continuo rappresentato mediante equazioni alle differenze ellittiche al sistema lineare associato. 7.1.1 Caso monodimensionale Un generico problema differenziale monodimensionale assume la forma ³ ´ ( dk dk (−1)k dx a(x) u(x) = f (x), x ∈ Ω = (0, 1), k dxk j d condizioni omogenee su dx j u(x), x ∈ ∂Ω, j = 0, . . . , k − 1. Se a(x) > 0 allora tale problema è chiamato ellittico. Lo si discretizza con la tecnica delle differenze finite su una griglia uniforme xi = ih con passo h = 1/(n + 1). Utilizzando l’espansione in serie di Taylor per approssimare le derivate, si perviene al sistema lineare Au = f , dove u, f ∈ Rn e A ∈ Rn×n ha ampiezza di banda 2k + 1. La soluzione cosı̀ ottenuta è una buona approssimazione della funzione u(x) calcolata nei punti di campionamento xi , ui ≈ u(xi ). La matrice A non è Toeplitz a meno che a(x) non sia costante. Nel caso in cui a(x) non è costante, è possibile ottenere precondizionatori Toeplitz o τ a banda ottimali [13, 14] e superlineari [30, 31], il cui corrispondente sistema precondizionato può essere risolto con il MGM proposto. Nel caso in cui a(x) = 1, la matrice A assume la forma (1) A = Tn (fk ), 7.1. DISCRETIZZAZIONE DI EQUAZIONI DIFFERENZIALI 137 dove (1) fk = (2 − 2 cos(x))k . Per k = 1, se a(x) = 1 si ottiene il problema di Poisson monodimensionale presentato nella Sezione 3.1.1, se a(x) non è costante allora si perviene ad un sistema lineare con matrice dei coefficienti a1 + a3 −a 3 2 2 2 −a 3 3 + a5 a −a 3 2 2 2 2 . .. . . . A= .. . .. . .. . an− 1 2 7.1.2 an− 1 2 an− 1 + an+ 1 2 . 2 Caso bidimensionale Sia Ω = (0, 1) × (0, 1), un generico problema differenziale bidimensionale può essere scritto come h ´i ( ¢ ∂r ³ ¡ ∂r ∂r r ∂r (−1) ∂xr a(x, y) ∂xr u(x, y) + ∂yr a(x, y) ∂yr u(x, y) = f (x, y), (x, y) ∈ Ω, condizioni omogenee al contorno. se a(x, y) > 0 allora tale problema è chiamato ellittico. Discretizzando con la tecnica delle differenze finite e passo costante h = 1/(n+1) in entrambe le direzioni, si ottiene un sistema lineare con matrice dei coefficienti a blocchi con banda 2r + 1 dove ogni blocco è a sua volta a banda con ampiezza 2r + 1. Nel caso di a(x, y) costante, la matrice dei coefficienti associata è una matrice Toeplitz bilivello. Si riporta il problema di Poisson bidimensionale, dove a(x, y) = 1, come esempio pratico per illustrare in che modo, utilizzando la tecnica delle differenze finite, si può ottenere il sistema lineare a partire dal problema differenziale. Esempio 7.1.1 (Poisson bidimensionale). Il problema di Poisson bidimensionale è modellizzato da ∂ 2 u(x, y) ∂ 2 u(x, y) − − = f (x, y), ∂x2 ∂y 2 u(x, y) = 0 (x, y) ∈ Ω (x, y) ∈ ∂Ω . 138 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) Si discretizza questo problema su una griglia di punti (xi , yi ) tale che xi = ih, yi = ih, i, j = 0, . . . , n + 1. dove h = 1/(n + 1) è il passo di discretizzazione uguale in entrambe le direzioni. Utilizzando la formula di Taylor, si ottiene che la somma delle due derivate seconde parziali in un punto (xi , yi ) può essere approssimata dallo schema a croce −ui−1,j −ui,j+1 + 4 ui,j −ui+1,j −ui,j−1 a meno di termini O(h2 ), dove u(xi , yj ) = ui,j + O(h2 ). In questo modo si ottiene il sistema lineare ½ −ui,j−1 − ui−1,j + 4ui,j − ui+1,j − ui,j+1 = h2 f (xi , yj ), i, j = 1, . . . , n, ui,j = g(xi , yj ), i = 0, n + 1, j = 1, . . . , n, e j = 0, n + 1, i = 1, . . . , n, che permette di calcolare le approssimazioni ui,j della funzione u(x, y) nei punti (xi , yi ) per i, j = 1, . . . , n. La matrice dei coefficienti di questo sistema è una matrice Toeplitz a blocchi con blocchi Toeplitz An,n = In ⊗ (4In − Hn ) − Hn ⊗ In , dove In , Hn ∈ Rn,n , In è la matrice identità e Hn è la generatrice dell’algebra τ . Si (2) evidenzia che An,n = Tn,n (f ) = τ Tn,n (f1 ) tale che (2) f1 (x, y) = (2 − 2 cos(x)) + (2 − 2 cos(y)). • La tecnica utilizzata nell’esempio precedente può essere utilizzata anche per le derivate successive alla seconda. In generale la derivata 2q-esima bidimensionale (2) porta alla risoluzione di un sistema lineare con matrice dei coefficienti Tn,n (fq ) tale che fq(2) (x, y) = (2 − 2 cos(x))q + (2 − 2 cos(y))q , q ∈ N. 7.2. OTTIMALITÀ 7.2 139 Ottimalità Si mostra sperimentalmente l’ottimalità del MGM proposto per l’algebra τ , tra l’altro già dimostrata teoricamente nel Capitolo 5. risolvendo il sistema lineare τ Tn (fq )xn = bn dove fq(1) (x) = (2 − 2 cos(x))q , q ∈ N, è la funzione generatrice relativa alla discretizzazione della derivata 2q-esima. Più precisamente τ Tn (fq ) è il precondizionatore naturale di Tn (fq ), dove Tn (fq ) è la matrice dei coefficienti del sistema ottenuto discretizzando la derivata 2q con la tecnica presentata nella sezione precedente. In particolare • q = 1 =⇒ derivata seconda • q = 2 =⇒ derivata quarta .. . Il proiettore viene scelto in accordo alla Proposizione 5.3.1 in modo tale da soddisfare le condizioni per l’ottimalità del MGM imposte nel Capitolo 5. Si sceglie µ = 2, (1) ottenendo cosı̀ per fq (1) il corrispondente proiettore pq tale che q p(1) q (x) = (2 + 2 cos(x)) , Si fa notare che q ∈ N. 1 2 1 1 2 (1) k k , pn (1) = τ Tn (p1 )Tn = ... 1 .. . 1 2 1 n×k (7.2.1) 140 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) n 128 − 1 256 − 1 512 − 1 1024 − 1 # iterazioni (1) (1) f2 f3 14 17 33 14 17 33 14 17 33 15 17 33 (1) f1 Tabella 7.1: Derivate Monodimensionali: numero di iterazioni al variare della dimensione del problema. a meno di un fattore di scala, è identico all’operatore di interpolazione lineare Ph definito a pagina 47. Questo proiettore può essere utilizzato per tutte le funzioni (1) che si annullano nell’origine con ordine al più due, inoltre pkn (q) = τ Tn (pq )Tnk per q > 1 corrisponde ad una tecnica di interpolazione più accurata, dove il punto da aggiungere è scelto coinvolgento tre punti vicini ed effettuando due interpolazioni lineari successive. La sperimentazione riportata in Tabella 7.1 conferma il risultato di ottimalità dimostrato, in quanto al variare della dimensione il numero di iterazioni richieste dal MGM per raggiungere la tolleranza fissata rimane costante. Si è scelto q = 1, 2, 3 (1) perché fq si annulla nell’origine con ordine 2q, quindi il fattore di condizione di (1) τ Tn (fq ) = O(n2q ) ed un valore di q > 3 porterebbe ad un sistema fortemente malcondizionato. Come smoother è stato utilizzato Richardson pesato con parametro θ = 1/ max(fq ) per il pre-smoother (Sezione 4.1) ed il gradiente coniugato senza precondizionamento come post-smoother. Come soluzione iniziale è stata scelta x0 = 0 ed il termine noto b è stato calcolato a partire dalla soluzione esatta x̄ tale che x̄i = i/n per i = 1, . . . , n. Il criterio di arresto utilizzato è krk k2 ≤ 10−11 kbk2 , dove rk è il residuo calcolato alla k-esima iterazione. Per le sperimentazioni successive, se non specificato diversamente, i parametri utilizzati saranno sempre quelli qui definiti. 7.2. OTTIMALITÀ 141 Quanto presentato nel monodimensionale può essere generalizzato al caso bidimensionale. Anche se nel Capitolo 5 non è stata riportata una dimostrazione di ottimalità per l’algebra τ bilivello, la sperimentazione effettuata sembra confermare che tale proprietà continui a valere sotto le stesse ipotesi del caso monodimensionale. Si ricorda che in [15, 27] l’ottimalità per il caso bilivello è stata dimostrata relativamente al solo TGM. La funzione generatrice relativa alla derivata 2q-esima è fq(2) (x, y) = (2 − 2 cos(x))q + (2 − 2 cos(y))q , q ∈ N. Il proiettore corrispondente viene scelto estendendo quello definito in (7.2.1) al caso bidimensionale q q p(2) q (x, y) = (2 + 2 cos(x)) (2 + 2 cos(y)) , q ∈ N. Si fa notare che pq (x, y) si annulla nei “mirror point” di (0, 0) come richiesto dal(2) (2) la teoria sul TGM riportata in Sezione 4.5. Inoltre τ TN,M (p1 ) = TN,M (p1 ) e (2) n,m τ TN,M (p1 )TN,M corrisponde ancora all’operatore di interpolazione lineare per pro(2) blemi bidimensionali, mentre τ TN,M (pq ) per q > 1 corrisponde ad interpolazioni più complesse similmente a quanto accade nel monodimensionale. Per la sperimentazione numerica la tollerenza della condizione di arresto è fissata a 10−7 invece che a 10−11 , in quanto il mal-condizionamento del sistema è molto più elevato e non si può pretendere di ottenere soluzioni con molte cifre significative al crescere della dimensione del problema. In Tabella 7.2 è riportata la sperimentazione con gli stessi parametri utilizzati per il monodimensionale, si considera lo stesso numero di punti di discretizzazione in entrambe le direzioni (N = M ). Il numero di iterazioni costanti all’aumentare della dimensione mostra sperimentalmente l’ottimalità del MGM proposto anche per problemi bidimensionali. 142 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) NM (64 − 1)2 (128 − 1)2 (256 − 1)2 (512 − 1)2 # iterazioni (2) (2) f2 f3 11 20 37 11 20 37 10 20 37 10 20 36 (2) f1 Tabella 7.2: Derivate Bidimensionali: numero di iterazioni al variare delle dimensioni del problema. 7.3 Grado del proiettore In questa sezione si definisce il grado minimo che deve avere il proiettore affinchè il (1) MGM sia ottimale. Per semplicità si considera il caso monodimensionale τ Tn (fq ) con q ∈ N, comunque alla fine il tutto viene generalizzato anche al caso bidimensionale con gli stessi risultati. Si mostra che la “level independency” non è sufficiente per ottenere l’ottimalità e che la condizione sul grado del proiettore può comunque essere in parte rilassata. Si definisce un proiettore generico per le funzioni che si annullano nell’origine: α p(1) α (x) = (2 + 2 cos(x)) , α ∈ N. La sperimentazione viene eseguita con i seguenti valori di α • α = dq/2e =⇒ • α=q =⇒ • α = d(q + 1)/2e =⇒ “level independency” e ottimalità teorica del TGM, ottimalità teorica del MGM dimostrata nel Capitolo 5, minimo grado superiore alla “level independency”. Per q = 1 si ha dq/2e = q = d(q + 1)/2e e quindi non è significativo per distinguere le tre diverse scelte. Per q = 2 si ha dq/2e = 1 e q = d(q + 1)/2e = 2, dalla Tabella 7.3 si vede come la “level independency” non sia sufficiente per ottenere l’ottimalità e sia necessario ricorrere ad un grado maggiore per il proiettore. 7.3. GRADO DEL PROIETTORE 143 # iterazioni dq/2e = 1 q = d(q + 1)/2e = 2 135 17 244 17 427 17 719 17 n 128 − 1 256 − 1 512 − 1 1024 − 1 (1) Tabella 7.3: f2 : derivata quarta monodimensionale. n 128 − 1 256 − 1 512 − 1 1024 − 1 # iterazioni d(q + 1)/2e = 2 q = 3 30 17 32 17 33 17 35 17 (1) Tabella 7.4: f3 : derivata sesta monodimensionale. Per q = 3 si ha che d(q + 1)/2e = 2 è già sufficiente per ottenere l’ottimalità, proprietà che comunque continua a valere anche scegliendo α = q (Tabella 7.4). Sperimentalmente si può quindi concludere che α = d(q + 1)/2e è il minimo grado del proiettore sufficiente per ottenere l’ottimalità. Questo è un chiaro invito a migliorare la teoria di Ruge-Stuben al fine di ottenere condizioni meno stringenti per l’ottimalità del MGM. Si ricorda comunque che, a causa dell’elevato malcondizionamento, difficilmente si avrà funzioni con uno zero di ordine maggiore di 8 e per q = 1, . . . , 4 si ha q 1 2 3 4 d(q + 1)/2e q − d(q + 1)/2e 1 0 . 2 0 2 1 3 1 Quindi anche utilizzando il proiettore ottenuto dalla teoria del Capitolo 5, il costo computazionale del metodo non aumenta considerevolmente, in quanto si tratta soltanto di lavorare con un proiettore che ha due sottodiagonali non nulle in più. 144 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) # iterazioni NM 2 (64 − 1) (128 − 1)2 (256 − 1)2 (512 − 1)2 dq/2e = 1 71 114 167 210 (2) f2 (2) q = d(q + 1)/2e = 2 20 20 20 20 (2) Tabella 7.5: f2 f3 d(q + 1)/2e = 2 36 36 35 35 q=3 37 37 37 36 (2) e f3 : caso bidimensionale. Per il caso bidimensionale, utilizzando il proiettore α α p(2) α (x, y) = (2 + 2 cos(x)) (2 + 2 cos(y)) , α ∈ N. con α definito come per il monodimensionale, si perviene agli stessi risultati come evidenziato dalla Tabella 7.5. Quindi ancora una volta le considerazioni fatte per il caso monodimensionale possono essere generalizzate a quello bidimensionale in modo lineare. Per un cenno su come sia possibile estendere la dimostrazione di ottimalità al caso bilivello si rimanda a [2]. Per la sperimentazione numerica successiva, dove non specificato diversamente, il grado del proiettore sarà α = d(q + 1)/2e proprio per la sua proprietà di essere il minimo grado che continua a mantenere l’ottimalità. 7.4 Indipendenza dalla soluzione Per la sperimentazione finora proposta si è definito il termine noto a partire dalla soluzione esatta x̄ t.c. x̄i = i/n per i = 1, . . . , n. Vediamo adesso che l’ottimalità del MGM proposto non è una prerogativa della particolare soluzione scelta, ma vale indipendentemente dal comportamento e dal tipo di soluzione. A tale proposito si riporta la sperimentazione relativa alla derivata quarta al variare delle seguenti soluzioni x̄ t.c.: 7.5. MATRICI TOEPLITZ 145 n 128 − 1 256 − 1 512 − 1 1024 − 1 # iterazioni A B C D 17 15 17 17 17 14 17 17 17 14 17 17 17 14 17 17 Tabella 7.6: Deriva quarta monodimensionale: diversi tipi di soluzioni. NM (64 − 1)2 (128 − 1)2 (256 − 1)2 (512 − 1)2 # iterazioni A B C D 20 19 19 19 20 19 19 19 20 19 19 19 20 19 19 19 Tabella 7.7: Deriva quarta bidimensionale: diversi tipi di soluzioni. i , n A −→ x̄i = B −→ (−1)i , µ C −→ cos D −→ 1. 2iπ n ¶ , per i = 1, . . . , n. (1) La sperimentazione è fatta considerando rispettivamente le matrici τ Tn (f2 ) e (2) τ TN,M (f2 ). Indipendentemente dalla soluzione del sistema il MGM proposto per l’algebra τ mantiene la proprietà di ottimalità sia per il caso monodimensionale (Tabella 7.6 ) che per quello bidimensionale (Tabella 7.7). 7.5 Matrici Toeplitz Si passa a mostrare che i risultati di ottimalità verificati per l’algebra τ nella sezione precedente, estendendo il MGM alla classe Toeplitz con la tecnica proposta nel 146 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) Capitolo 4 continuano a valere sia per il caso monolivello che per quello bilivello. Si sottolinea ancora la particolare importanza del caso bilivello, in quanto il metodo proposto è il primo metodo che permette di ottenere l’ottimalità per questo tipo di sistemi. Per la definizione teorica del metodo si rimanda alla Sezione 4.4, si ricorda soltanto che il meccanismo utilizzato per estendere il MGM definito per l’algebra τ alla classe Toeplitz è la matrice di taglio modificata Tnk [t], questa è in grado di rimuovere la matrice G di correzione introdotta nel calcolo della matrice dei coefficienti al livello inferiore. Il parametro t = deg(p) − 1 corrisponde al numero di righe nulle da imporre all’inizio e alla fine della matrice di taglio per cancellare il contributo di G: q t = d(q + 1)/2e − 1 1 0 . 2 1 3 1 Per la sperimentazione numerica si ripete il test di ottimalità effettuato nella Sezione 7.2, dove adesso, ovviamente, la matrici dei coefficienti è Toeplitz invece che τ . Inoltre come grado del proiettore si utilizza d(q + 1)/2e che, per quanto visto nella Sezione 7.3, garantisce ugualmente l’ottimalità ma con un’ampiezza di banda minore rispetto a q. Per zeri di ordine al più 2 si ha Tn (p1 )Tnk [0] = τ Tn (p1 )Tnk e quindi il proiettore è identico a quello dell’algebra τ , permettendo cosı̀ di ottenere risultati del tutto analoghi a quelli presentati nelle sezioni precedenti. Per zeri di ordine superiore la matrice di taglio modificata rimuove una parte maggiore di informazione, si cerca quindi di agevolare il compito della coarse grid correction aumentando leggermente il numero di passi di smoother. Invece di un solo passo di pre-smoother e di postsmoother, se ne effettuano due con un incrementento di un passo nello scendere di livello. La dimensione del sistema è stata fissata in base all’Osservazione 4.4.1 in modo tale da permettere l’applicazione ricorsiva del MGM definito nella Sezione 4.4. In Tabella 7.8 è riportato il numero di iterazioni richieste dal MGM nel caso di 7.5. MATRICI TOEPLITZ n 128 − ξ 256 − ξ 512 − ξ 1024 − ξ 147 # iterazioni (1) (1) f2 f3 9 41 53 9 44 54 10 47 54 9 48 55 (1) f1 ( (1) 1 per f1 (1) (1) 3 per f2 , f3 ξ= Tabella 7.8: Caso Toeplitz: derivate monodimensionali. NM (64 − ξ)2 (128 − ξ)2 (256 − ξ)2 (512 − ξ)2 # iterazioni (2) (2) f2 f3 6 24 33 6 26 33 6 27 33 6 29 33 (2) f1 ( ξ= (2) 1 per f1 (2) (2) 3 per f2 , f3 Tabella 7.9: Caso Toeplitz: derivate bidimensionali. (1) matrici Tn (fq ) per q = 1, 2, 3, poiché rimane praticamente costante al variare della dimensione del problema mostra sperimentalmente l’ottimalità del metodo. Si sottolinea che anche dove apparentemente potrebbe sembrare esserci una crescita (1) logaritmica (come ad esempio per f2 ), questa in realtà tende a stabilizzarsi per dimensini superiori rispetto a quelle riportate e comunque può essere completamente rimossa utilizzando cicli più complessi (Sezione 9.3). Una dimostrazione teorica dell’ottimalità del MGM proposto per la classe Toeplitz sarà oggetto di ricerche future. Ancora una volta per il caso bidimensionale possono essere fatte considerazioni del tutto analoghe al monodimensionale. I risultati sperimentali ottenuti sono riportati in Tabella 7.9 e confermano l’ottimalità del MGM anche in tale caso. In ultima analisi viene proposto un confronto con la matrice di taglio modificata proposta in [27]. Per la trattazione teorica si rimanda sempre alla Sezione 4.4, 148 CAPITOLO 7. EQUAZIONI DIFFERENZIALI ELLITTICHE (PDE) n 128 − 3 256 − 3 512 − 3 1024 − 3 # iterazioni Tnk [1] T̃nk [1] 41 217 44 241 47 267 48 288 (1) Tabella 7.10: Confronto fra matrici di taglio per Tn (f2 ). ma si ricorda che la matrice di taglio utilizzata in [27] è T̃nk [t] = Tnk [2t]. Questo taglio ulteriore rimuove informazioni aggiuntive, portando il metodo a convergere più lentamente. In Tabella 7.10 è riportato il numero di iterazioni del MGM applicato (1) alla matrice Tn (f2 ) dove la matrice di taglio è scelta uguale a Tnk [1] o a T̃nk [1]. Capitolo 8 Ricostruzione di immagini In questo capitolo viene tratto il problema della ricorstruzione di immagini sfuocate con o senza aggiunta di rumore. Quando la point spread function (PSF) è “space invariant” e le condizioni a contorno sono di Dirichlet, il sistema derivante dalla discretizzazione dell’equazione integrale è Toeplitz a blocchi con blocchi Toeplitz e quindi può essere risolto con il MGM proposto nella Sezione 4.4. Si introduce i problemi inversi e la loro modellizzazione fisica richiamando la loro proprietà di essere “mal-posti” [20]. Si passa poi a trattare il problema specifico della ricostruzione di immagini sfuocate. Inizialmente vengono trattate immagini non affette da rumore per mostrare il buon funzionamento (ottimalità) del nostro MGM. Si passa poi a trattare, più realisticamente, immagini sfuocate affette da rumore, in quanto nei problemi reali i dati sperimentali raccolti sono sempre affetti da errore. Il contributo del rumore porta ad una soluzione molto diversa rispetto all’immagine originale, per sopperire a tale problema in letteratura sono state proposte varie tecniche di regolarizzazione, quella che viene qui utilizzata fu proposta da Tykhonov in [35]. In pratica la regolarizzazione si prende cura di ridurre il contributo dell’errore, mentre il MGM si preoccupa di risolvere il sistema con un costo lineare. Proprio per questo anche il caso di immagini non affette da rumore rimane significativo, in quanto il contributo del rumore si può assumere che venga rimosso da una qualche tecnica di 149 150 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI regolarizzazione. La tecnica di regolarizzazione di Tykhonov che viene effettivamente utilizzata in questo capitolo, è stata personalizzata con due diversi ed indipendenti accorgimenti pratici a causa del particolare tipo di sistemi lineari che vengono trattati (matrice dei coefficienti BST bilivello). Sperimentalmente entrambi hanno datto ottimi risultati e dunque non è facile decidere quale funzioni meglio. Per il primo, poiché la tecnica di Tykhonov porta alla risoluzione di equazioni normali, 2 si definisce un metodo per approssimare la matrice dei coefficienti TN,M (f ) + µIN M con TN,M (f 2 + µ). Per il secondo, poiché le matrici dei coefficienti sono definite positive, si evita di passare dalle equazioni normali utilizzando una formulazione leggermente diversa rispetto a quella fornita da Tykhonov (Riley [25]). Lo sviluppo di una tecnica di regolarizzazione propria per il MGM può essere compito di ricerche future. 8.1 Problemi inversi Per la trattazione dei problemi inversi presentata in questa sezione si fa riferimento a [20]. Un problema diretto consiste nel determinare l’unico effetto dato da una causa utilizzando un’appropriata legge di evoluzione. Il problema inverso quindi consiste nel determinare una delle possibili cause per un qualche effetto. Una causa sarà una funzione f = f (s) e l’effetto g = g(x) di questa causa è percepito mediante un processo deterministico K tale che g = Kf . Si fa notare che un fenomeno osservato può avere molteplici cause oppure non averne nessuna. In Figura 8.1 è rappresentata schematicamente la relazione di causa-effetto. Un sistema fisico di causa effetto monodimensionale, come ad esempio la ricostruzione di un segnale, può essere modellizzato dall’ equazione integrale di Fredholm del primo tipo seguente: Z b g(x) = k(x, s)f (s)ds, a (8.1.1) 8.1. PROBLEMI INVERSI 151 input f Modello - K output - g Figura 8.1: Relazione di causa-effetto dove la funzione k(x, s) è chiamata kernel e rappresenta il processo di trasformazione (es. di degradazione del segnale). In alcuni casi il kernel ha particolari proprietà di invarianza per traslazione perché dipende solo dalla differenza dei sui argomenti: k(x, s) = k(x − s). In questo caso il kernel è chiamato “space invariant” in quanto l’effetto di K è indipendente dalla posizione e l’equazione (8.1.1) diventa una convoluzione Z b g(x) = k(x − s)f (s)ds. (8.1.2) a Poiché discretizzando una convoluzione si ottiene un sistema lineare con matrice dei coefficienti Toeplitz, in questo capitolo verrano utilizzati solo kernel “space invariant”. Nell’osservazione di un fenomeno fisico ci sono sempre delle componenti di errore casuali dovute ad errori di misurazione e/o di rappresentazione, questo fenomeno di ulteriore disturbo è chiamato rumore. Nel caso in cui sia presente anche il rumore, l’equazione (8.1.2) assume la forma Z b g(x) = k(x − s)f (s)ds + n(x), a dove n(x) rappresenta il rumore. Problemi bidimensionali, come ad esempio la ricostruzione di immagini, dove il kernel è invariante per traslazione, similmente al caso monodimensionale possono 152 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI essere modelizzati dalla convoluzione bidimensionale Z bZ b g(x, y) = k(x − s, y − t)f (s, t) dsdt + n(x, y), a (8.1.3) a dove n(x, y) è l’eventuale rumore. Nel caso della ricostruzione di immagini la funzione g(x, y) è l’immagine osservata mentre f (s, t) è l’immagine originale. Inoltre solitamente il modello continuo del tipo (8.1.3) non è conosciuto e per l’analisi non è disponibile k(x − s, y − t) ma solo un’osservazione discreta riferita ad un singolo punto. La funzione di sfuocamento per l’osservazione di un punto è chiamata point-spread function (PSF) e, ad esempio, assume la forma di una gaussiana nel caso di osservazioni astronomiche. Se le condizioni al contorno sono di Dirichlet allora la discretizzazione di convoluzioni bidimensionali del tipo (8.1.3) porta alla risoluzione di sistemi lineari con matrice dei coefficienti Toeplitz a blocchi con blocchi Toeplitz g = Kf + n. La matrice K di sfuocamento può essere costruita a partire dalla PSF, inoltre se la PSF è a supporto compatto (trattandosi di una gaussiana ha comunque un decadimento esponenziale a zero) K ha una struttura a banda a blocchi con blocchi a banda. Si sottolinea che i problemi di ricostruzione di immagini hanno dimensioni molto elevate, un’immagine 512 × 512 porta alla risoluzione di un sistema lineare 218 × 218 . E’ quindi auspicabile l’impiego di metodi iterativi per risolvere questo tipo di sistemi. In molte applicazioni sia g che K sono affette da rumore e proprio quest’ultimo rende più difficile la ricostruzione dell’immagine originale f . In quanto i problemi del tipo (8.1.1) e (8.1.3) sono etichettati come problemi mal-posti. La seguente definizione fu enunciata da Hadamard agli inizi del secolo. Definizione 8.1.1. Un problema è detto ben-posto se la sua soluzione possiede le proprietà seguenti: 8.1. PROBLEMI INVERSI 153 (i) esistenza, (ii ) unicità, (iii) stabilità (o dipendenza continua dai dati). Se un problema non è ben-posto allora è mal-posto. • Si può verificare che la (8.1.1) può avere più soluzioni come può non averne nessuna al variare delle proprietà del nucleo K. Ponendo l’attenzione sulla instabilità della soluzione di (8.1.1) si può osservare come questa derivi dal seguente Lemma di Riemann-Lebesgue. Lemma 8.1.2 (Riemann-Lebesgue). Sia k(·, t) una funzione a quadrato integrabile, allora Z 1 k(·, s) sin(nπs)ds → 0 quando n → ∞, 0 dove la convergenza è nel senso della media della norma quadrata. • Quindi una significativa perturbazione della forma sin(nπs) alla soluzione f (s) porta, per n elevato (alte frequenze), ad un’insignificante perturbazione di g(x). D’altra parte, osservando il fenomeno nel verso opposto, cambiamenti molto piccoli in g(x) possono portare a cambiamenti molto elevati nella soluzione f (s). Proprio per questo motivo, quando il fenomeno osservato è affetto da rumore, è necessario ricorrere a tecniche di regolarizzazione come quella di Tykhonov (si veda Sezione 8.4). Nel caso in cui non si utilizzi nessuna tecnica di regolarizzazione, il fenomeno originale a partire da quello osservato è ottenuto risolvendo un problema ai minimi quadrati del tipo min kKf − gk2 , (8.1.4) f dove il minimo può essere determinato risolvendo il sistema lineare Kf = g. 154 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI Figura 8.2: Immagine del satellite (dim: 256 × 256) 8.2 Immagini sfuocate senza rumore In tutto il capitolo l’immagine utilizzata per la sperimentazione sarà sempre il “satellite” adoperato ampliamente in letteratura, come ad esempio in [9] (Figura 8.2). Poiché anche nelle applicazioni reali il contributo del rumore viene attenuato dalle tecniche di regolarizzazione, il MGM si deve preoccupare soltanto di risolvere il sistema lineare in modo ottimale. Proprio per concentrarsi sulla tecnica di risoluzione dei problemi di ricostruzione di immagini, in questa sezione si considera solo immagini sfuocate non affette da rumore. Come introdotto nella sezione precedente, per ricostruire l’immagine originale f da un’immagine osservata g non affetta da rumore, occorre risolvere il sistema g = Tn,m (z)f , dove si assume che la matrice di sfuocamento Tn,m (z) sia creata a partire da una PSF invariante per traslazione. Si ricorda che se la PSF è a supporto compatto allora la funzione z(x, y) è un polinomio trigonometrico pari di grado finito e Tn,m (z) è a banda a blocchi con blocchi a banda. Solitamente le immagini considerate sono quadrate e quindi n = m. Si fa notare che utilizzando per z la rappresentazione a 8.2. IMMAGINI SFUOCATE SENZA RUMORE 155 maschera dei coefficienti di Fourier introdotta nella Sezione 6.4, questa corrisponde esattamente alla PSF. Nei problemi di ricostruzione di immagini sfuocate la PSF è solitamente una gaussiana simmetrica, con decadimento esponenziale e quindi con valori trascurabili nelle vicinanze di (π, π). Definendo la funzione generatrice dell’operatore di sfuocamento Tn,n (z) a partire dal “nucleo” Nq (x, y) = (2 + cos(x) + cos(y))q , q = 1, 2, 3, è possibile ottenere una buona approssimazione a supporto compatto della gaussiana di cui sopra. Non si considera valori di q > 3 per quanto più volte ripetuto sul condizionamento del problema, che in tal caso è O(n2q ) per immagini n × n. Si nota che Nq (x, y), oltre ad annullarsi in (π, π) ed essere positiva altrove, è anche la matrice con banda minore possibile che possiede tale proprietà. Per aumentare l’effetto di sfuocamento della PSF è quindi possibile moltiplicare Nq (x, y) per una opportuna ψ(x, y) > 0, ottenendo cosı̀ 1 zq (x, y) = Nq (x, y)ψ(x, y), c q = 1, 2, 3, che ha un supporto più amplio di Nq (x, y). Il valore c è una costante di scala che viene scelta uguale alla somma dei coefficienti di Fourier di Nq (x, y)ψ(x, y), in questo modo kTn,n (z)k∞ = 1 e quindi la PSF effettua una media pesata dei contributi dei pixel vicini. Con questa tecnica è possibile definire una PSF che sia una buona approssimazione della classica gaussiana e che abbia un supporto compatto [9]. In accordo alla teoria definita per il nostro MGM (Capitolo 4), poiché la funzione generatrice al primo livello si annulla in (π, π), quella al secondo livello si annulla in (0, 0) rispettivamente e tale proprietà sarà mantenuta per ogni livello successivo. Quindi, quello che al primo livello è un problema integrale, al secondo livello diventa spettralmente equivalente ad un problema differenziale. Proprio da questa considerazione e dalla sperimentazione effettuata nel Capitolo 7 si può dedurre che il 156 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI comportamento del MGM continui ad essere ottimale anche per la discretizzazione di problemi integrali. Un’immagine viene rappresentata mediante una matrice A di pixel, dove Ai,j ∈ [0, 1] rappresenta la tonalità di grigio del (i, j)-esimo pixel, nero corrisponde a 0 e bianco a 1. Nel caso della ricostruzione di immagini, imporre delle condizioni al contorno di Dirichlet equivale ad estendere l’immagine X con valori nulli al contorno 0 0 0 0 X 0 , 0 0 0 ovvero aggiungere una bordatura nera all’immagine. Si schematizza il processo di ricostruzione di un’immagine sfuocata al fine di renderlo più algoritmico. Viene quindi riportata discorsivamente la procedura da seguire al fine di ottenere l’immagine originale F a partire dall’immagine sfuocata G. 1) G ∈ Rn×n con n = 2j per j ∈ N, solitamente n = 256, 512, 1024. 2) Definire la PSF ovvero la matrice dei coefficienti di Fourier della funzione generatrice z(x, y) e di conseguenza l’ordine r = 2q di (π, π). 3) Tagliare G in base a r e a quanto esposto nella Sezione 4.7 ottendo Ĝ. La matrice Ĝ ∈ Rm×m con m = n − α, α = (2d(q + 1)/2e − 1), corrisponde alla sottomatrice di G ottenuta da questa rimuovendo le prime bα/2c righe e colonne e le utlime bα/2c + 1 righe e colonne. 2 4) “Allungare” la matrice Ĝ ottenendo il vettore g ∈ Rm formato da m blocchi ognuno di dimensione m, il i-esimo blocco di g corrisponde alla i-esima colonna di Ĝ. 5) Risolvere il sistema Tm2 ,m2 (z)f = g con il MGM. 8.2. IMMAGINI SFUOCATE SENZA RUMORE 157 Figura 8.3: PSF = z3 (x, y) (dim: 31 × 31) 6) “Accorciare” il vettore f ottenendo la matrice F ∈ Rm×m , dove la i-esima colonna di F corrisponde al i-esimo blocco di f . Esempio 8.2.1. La PSF viene creata in base alla tecnica definita precedentemente, prendendo q = 3 e ψ(x, y) = (4 + 2 cos(x) + 2 cos(y))3 + 1. In questo modo z3 (x, y) è non negativa ed ha un unico zero in (π, π) di ordine 6 (Figura 8.3), quindi Tn,n (z) è fortemente malcondizionata. Nonostante il pessimo comportamento spettrale il MGM continua ad essere ottimale, come anche enfatizzato dalla convergenza lineare riportata in Figura (8.4). I valori riportati sono stati ottenuti effettuando una iterazione di pre-smoother con Jacobi pesato, il parametro di rilassamento è stato scelto in accordo al Teorema 4.1.2, e una iterazione di post-smoother con il Gradiente Coniugato senza precondizionamento. In Figura 8.5 sono riportate in sequenza l’immagine vera, quella sfuocata e quella ricostruita con il nostro algoritmo dopo 70 iterazioni che é praticamente identica a quella vera. • 158 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI #(Iter.) 1 10 20 30 40 50 60 70 kerrorek2 1.510589E-01 2.052838E-02 3.963274E-03 8.399055E-04 1.847647E-04 4.152001E-05 9.458020E-06 2.174760E-06 Figura 8.4: Comportamento dell’errore in k · k2 . Immagine vera (dim: 253 × 253). Immagine sfuocata. Immagine ricostruita. Figura 8.5: Sequenza immagini satellite. 8.3 Immagini sfuocate affette da rumore Vediamo sperimentalmente cosa accade quando si aggiunge del rumore all’immagine sfuocata. Il punto 5 dello schema di ricostruzione dell’immagine presentato nella sezione precedente viene adesso modificato in • Risolvere il sistema Tm2 ,m2 (z)f = g + n con il MGM, dove n è il vettore che rappresenta il rumore. Se l’immagine osservata è affetta da rumore allora il contributo di quest’ultimo viene amplificato e l’immagine ricostruita risulta essere molto diversa dall’immagine origi- 8.3. IMMAGINI SFUOCATE AFFETTE DA RUMORE 159 nale. Vediamo un po’ più in dettaglio qual’è la causa di tale fenomeno. Utilizzando la forma normale di Schur si può esprimere 2 T Tm2 ,m2 (z) = U ∆U = m X λ i ui ui T , i=1 2 ×m2 dove ∆ ∈ Rm è la matrice diagonale i cui elementi sono gli autovalori λ1 ≥ 2 ×m2 λ2 ≥ ...λm2 , mentre U ∈ Rm ha per colonne gli autovettori ui di Tm2 ,m2 (z) per i = 1, . . . , m2 . In base alla teoria per le matrici Toeplitz riportata nella Sezione 2.1, per i elevato gli autovalori λi tendono a zero e, poichè z(π, π) = 0, si ha che ad autovalori piccoli sono associati autovettori altamente oscillanti (alte frequenze). Se si tenta di ricostruire f da una g affetta da rumore si ottiene 2 −1 f = Tm2 ,m2 (z) g = m X ui ui T λi i=1 g. (8.3.1) Esprimendo f e n nella base {ui } si ha 2 f= m X 2 β i ui , n= i=1 m X ηi ui . i=1 Poiché g è affetta da rumore 2 g = Tm2 ,m2 (z)f + n = m X (λi βi + ηi )ui , (8.3.2) i=1 sostituendo (8.3.2) in (8.3.1) si ottiene m µ X 2 f= i=1 ηi βi + λi ¶ ui . Si vede chiaramente che i λi piccoli amplificano le componenti ηi del rumore e la soluzione calcolata sarà corrotta dal rumore. Dato che il rumore è altamente oscillante, ovvero “vive” nelle alte frequenze, tentando di risolvere il sistema direttamente (senza nessun accorgimento) gli autovalori piccoli tendono ad amplificarlo in modo disastroso. Anche piccole percentuali di errore portano l’immagine ricostruita ad 160 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI Immagine vera (dim: 253 × 253). Immagine sfuocata con 5% di rumore. Immagine ricostruita dopo 80 iterazioni. Figura 8.6: Ricostruzione satellite sfuocato con rumore. “esplodere”, nel senso che la norma 2 dell’immagine ricostruita risulta particolarmente elevata. Le tecniche di regolarizzazione cercano quindi di filtrare in qualche modo il contributo degli autovalori piccoli, come avviene ad esempio con la decomposizione ai valori singolari troncati, dove tutti i valori singolari più piccoli di un certo valore soglia vengono sostituiti con quest’ultimo. Il vettore n viene usualmente calcolato in base alla percentuale di rumore che si vuole aggiungere. Per aggiungere una percentuale α di rumore si può calcolare 1. n = rand(m2 ), dove la funzione rand(l) crea un vettore di l elementi casuali, kgk 2. n = α knk2 n. 2 Esempio 8.3.1. Utilizzando la tecnica descritta, si aggiunge un rumore del 5% all’immagine sfuocata dell’Esempio 8.2.1. Dalla Figura 8.6 si vede come anche una piccola percentuale di errore porta l’immagine ricostruita ad essere addirittura peggiore dell’immagine sfuocata, in accordo all’effetto di “esplosione” del rumore illustrata teoricamente all’inizio di questa sezione. Dalla Figura 8.7 si vede come la norma dell’errore cresca ad ogni iterazione tendendo verso un valore limite. Questo grafico esplicita il fatto che il MGM non possiede di per se proprietà regolarizzanti 8.3. IMMAGINI SFUOCATE AFFETTE DA RUMORE 161 Figura 8.7: Andamento dell’errore in k · k2 . come invece hanno altri metodi. Ad esempio per i Gradienti Coniugati senza precondizionamento l’errore prima decresce, poi quando arriva a calcolare la soluzione nello spazio delle alte frequenze (quelle generate da autovettori relativi ad autovalori piccoli), poiché il rumore si trova proprio in tale sottospazio, l’errore comincia ad aumentare. • Nell’esempio precedente si è visto come il MGM proposto non possieda nessuna caratteristica regolarizzante, proprio la sua proprietà di ottimalità gli impedisce di essere un buon regolarizzatore, in quanto approssima l’errore in tutto lo spazio e non solo nella basse frequenze, venendo cosı̀ disturbato dal rumore ad ogni iterazione. Infatti per un problema integrale, in accordo alla teoria definita nel Capitolo 4, la coarse grid correction proietta il problema proprio nello spazio delle alte frequenze, andando cosı̀ a risolverlo anche nelle componenti corrotte dal rumore. Per ovviare a questo problema sono state proposte varie tecniche di regolarizzazione alcune delle quali anche indipendenti dal metodo utilizzato. Quella forse più classica di tutte è la tecnica di regolarizzazione di Tykhonov [35] ed è proprio questa che si andrà ad utilizzare nella prossima sezione. 162 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI 8.4 Regolarizzazione alla Tykhonov La tecnica di regolarizzazione proposta da Tikhonv in [35], nasce dall’idea di ricostruire un’immagine il più fedele possibile all’originale tenendo contemporaneamente sotto controllo l’effetto di “esplosione” del rumore. Il problema di minimizzazione (8.1.4), assume la forma min {kKf − gk22 + µ kf k22 }. f (8.4.1) Se µ = 0 allora, sia f̄ la soluzione del problema di minimo precedente, questa è soluzione anche del problema (8.1.4), ma risente fortemente degli effetti del rumore. Aumentando il valore di µ si aumenta il peso del termine che tiene sotto controllo il contributo del rumore (kf k22 ), ma la soluzione f̄ calcolata non è più esattamente quella che minimizza (8.1.4), ovvero si modifica leggermente l’immagine ricostruita per ridurre gli effetti del rumore. Il parametro µ è quindi un peso che permette di aumentare o diminuire il contributo del rumore e la bontà dell’immagine ricostruita. Da quanto esposto, si deduce che la scelta di µ è di fondamentale importanza per ottenere una ricostruzione il più fedele possibile dell’immagine originale. Sono state proposte varie tecniche per definire il parametro µ a priori (prima di innescare un qualsiasi procedimento di risoluzione di (8.1.4)), ma nessuna, fra quelle finora proposte, sembra essere migliore delle altre per tutti i casi possibili. Inoltre, tutte le tecniche proposte hanno un costo più che lineare e quindi non possono essere applicate con il nostro algoritmo, altrimenti si perderebbe l’ottimalità complessiva dello stesso. La tecnica qui utilizzata per scegliere µ, è quindi una tecnica sperimentale a posteriori, valutando visivamente la bontà dell’immagine ricostruita ed eventualmente modificando il valore di µ. Lo sviluppo di una tecnica di regolarizzazione propria per il Multigrid può essere oggetto di ricerche future. Il problema di minimizzazione (8.4.1) può essere riformulato utilizzando le equa- 8.4. REGOLARIZZAZIONE ALLA TYKHONOV 163 zioni normali come (K T K + µI)f = K T g, (8.4.2) dove I è la matrice identità delle stesse dimensioni di K. La soluzione (numerica) del sistema (8.4.2) ha due incovenienti: 1. Passando alle equazioni normali il fattore di condizione, cosı̀ come l’ordine degli zeri della funzione generatrice, raddoppia. 2. La matrice K T K non è una matrice di Toeplitz bilivello. Si propone una tecnica che permette di appossimare bene la soluzione f̄ del sistema (8.4.2) risolvendo un sistema con matrice dei coefficienti Toeplitz bilivello. Per semplicità la trattazione seguente viene presentata per il caso monodimensionale (matrice Toeplitz), ma può essere semplicemente estesa al caso bilivello utilizzando il prodotto tensoriale come già visto altre volte. Sia (Tn (z)T Tn (z) + µIn )f n = Tn (z)gn . (8.4.3) il sistema da risolvere. Poiché Tn (z) è simmetrica Tn (z)T Tn (z) = Tn (z)2 , dove Tn (z)2 non è Toeplitz a meno che Tn (z) non sia diagonale. Se Tn (z) ha ampiezza di banda 2b + 1, allora Tn (z)2 = Tn (z 2 ) + Hn (z 2 ), dove Hn (z 2 ) è la correzione di rango 2b. Per rendere Toeplitz la matrice dei coefficienti del sistema (8.4.3), lo si aumenta immergendolo in uno di dimensioni maggiori e poi gli si applica una matrice di proiezione che taglia la sporcatura Hn (z 2 ), in modo tale da riottenere un sistema n × n con matrice dei coefficienti Toeplitz. Questa particolare matrice di proiezione è definita come n 0b Um,n = In 0nb m×n 164 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI dove m = n + 2b, 0nb ∈ Rb×n è la matrice nulla. In questo modo si ha che n T n (Um ) Tn (z)2 Um = Tn (z 2 ). n T n n n T Si nota che (Um ) Um = In , invece Um (Um ) ha le prime e le ultime b righe e colonne nulle mentre la parte centrale è In . Se invece di risolvere il sistema (8.4.3) si risolve il sistema n T n n T (Um ) f̃ m ) (Tm (z)2 + µIm )Um (Um ∗b n T = (Um ) Tn (z)gn , ∗b quest’ultimo è uguale a Tn (z 2 + µIn )f̃ n = Tn (z)gn (8.4.4) n T n n T dove f̃ n = (Um ) f̃ m . Se fosse Um (Um ) = Im allora f̃ m = f m e f̃ n = f n , ovvero la soluzione del sistema (8.4.4) sarebbe soluzione anche del sistema originale (8.4.3). n n T In realtà per b > 0 si ha Um (Um ) 6= Im , ma è tanto più “vicina” a Im quanto più b è piccolo rispetto a n. Poiché questo è proprio il caso che si verifica nelle applicazioni da noi considerate, invece di risolvere il sistema (8.4.3) si risolve il sistema (8.4.4) dove la matrice dei coefficienti è Toeplitz definita positiva e quindi è possibile applicare il MGM. Sperimentalmente si può poi osservare che la soluzione f̃ n ottenuta è un’ottima approssimazione di f n . A tale proposito si riporta l’esempio seguente. Esempio 8.4.1 (regolarizzazione alla Tykhonov). Si ricostruisce l’immagine del satellitte sfuocata con aggiunta di un rumore pari al 5% utilizzando la tecnica di Tykhonov. Invece di risolvere il sistema (8.4.2), si risolve il sistema associato con matrice dei coefficienti Toeplitz bilivello secondo la tecnica appena proposta. Il valore di µ è scelto sperimentamente uguale a 0.02. In Figura 8.8 si può notare come l’immagine ricostruita utilizzando la regolarizzazione è molto più nitida di quella ricostruita senza regolarizzazione. Inoltre, si evidenzia che la regolarizzazione proposta, porta la funzione generatrice a sollevarsi leggermente (di un valore pari a 8.4. REGOLARIZZAZIONE ALLA TYKHONOV Immagine sfuocata con 5% di rumore. Immagine ricostruita senza regolarizzazione. 165 Immagine ricostruita con Tykhonov µ = 0.02. Figura 8.8: Ricostruzione satellite senza e con regolarizzazione. µ) dall’origine, quindi gli autovalori della matrice dei coefficienti sono più staccati da zero ed è possibile risolvere il corrispondente sistema in un numero minore di iterazioni, 68 iterazioni rispetto alle 81 richieste nel caso senza regolarizzazione. • Poiché la matrice dei coefficienti in questione è definita positiva, il passaggio alle equazioni normali può essere un inutile peggioramento del condizionamento del sistema. Si può quindi provare ad applicare il metodo di regolarizzazione di Tykhonov secondo la prima formulazione che ne fu data da Riley nel 1955 [25]. Invece di risolvere il sistema (8.4.2) si risolve il sistema (K + µI)f = g, che deriva dal problema di minimo ¾ ½° °2 ° 12 2 − 21 ° min °K f − K g° + µ kf k2 , 2 f 1 Il termine K − 2 g potrebbe portare l’errore ad un’ulteriore amplificazione del rumore, ma dalla sperimentazione riportata nell’esempio seguente, si vede che anche questa tecnica funziona molto bene, fornendo risultati paragonabili a quelli ottenuti con il metodo di Tykhonov classico con un numero di iterazioni notevolmente inferiore. 166 CAPITOLO 8. RICOSTRUZIONE DI IMMAGINI Immagine sfuocata con 5% di rumore. Immagine ricostruita con Tykhonov µ = 0.02. Immagine ricostruita con Riley µ = 0.2. Figura 8.9: Ricostruzione satellite con regolarizzazione alla Tykhonov e alla Riley. Esempio 8.4.2 (regolarizzazione alla Riley). Si ricostruisce l’immagine del satellitte sfuocata con aggiunta di un rumore pari al 5% utilizzando la tecnica di Riley. Il valore di µ è scelto sperimentamente uguale a 0.2. Si può notare che tale valore di µ è dieci volte quello dell’Esempio 8.4.1, probabilmente per abbattere l’ulteriore 1 amplificazione del rumore dovuta al termine K − 2 g. Questo porta la funzione generatrice a sollevarsi ulteriormente dall’origine e di conseguenza richiede soltanto 12 iterazioni, rispetto alle 68 iterazioni dell’Esempio 8.4.1, per raggiungere la tolleranza fissata. Per quanto riguarda la qualità dell’immagine ricostruita, come si vede dalla Figura 8.9, è paragonabile a quella ottenuta nell’Esempio 8.4.1. • Si riporta un’ultimo esempio per evidenziare l’importanza della scelta del parametro µ, una scelta errata di µ porta, o a non abbattere gli effetti del rumore, o a ricostruire un’immagine che non è una rappresentazione fedele di quella originale. Esempio 8.4.3 (µ errato). Si mostra sperimentalmente gli effetti di una scelta errata di µ in accordo a quanto illustrato all’inizio di questa sezione. Il metodo di regolarizzazione è quello di Tykhonov utilizzato nell’Esempio 8.4.1. In Figura 8.10 è riportata la ricostruzione del satellite utilizzando due parametri di µ, uno troppo piccolo e l’altro troppo grande. Se si sceglie un valore di µ troppo piccolo (µ = 0.0002) non si riesce ad abbattere efficacemente gli effetti di “esplosione” del 8.4. REGOLARIZZAZIONE ALLA TYKHONOV 167 rumore. Se invece si sceglie un valore di µ troppo elevato (µ = 2), gli effetti del rumore risultano praticamente annullati, ma l’immagine ricostruita non rappresenta molto fedelmente quella originale, ha un affetto di sfuocamento dovuto proprio al fatto che il problema (8.4.1) in tal caso è molto diverso da quello originale (8.1.4). • Immagine ricostruita con µ = 0.0002. Immagine ricostruita con µ = 2. Immagine ricostruita con µ = 0.02. Figura 8.10: Ricostruzione satellite con Tykhonov al variare di µ. Capitolo 9 Risultati numerici In questo capitolo si riporta la sperimentazione numerica relativa al MGM proposto al variare di alcuni dei parametri fondamentali del metodo. Si mette in luce le modifiche pratiche che portano ad un’accelerazione della convergenza e quelle che al contrario non forniscono nessun sostanziale miglioramento. Alcuni dei parametri su cui viene testato il nostro MGM sono il parametro di rilassamento degli smoother, il tipo di ciclo utilizzato, il numero di iterazioni degli smoother e la scelta del proiettore per il caso bidimensionale. Dove non specificato diversamente si usa le impostazioni di default definite nella Sezione 7.2. Il tipo di ciclo utilizzato è sempre il V -cycle ad eccezione della sperimentazione relativa alla Sezione 9.3. 9.1 Funzioni generiche Si mostra come il MGM proposto abbia un comportamento ottimale non soltanto per funzioni che si annullano nell’origine o in π, come dimostrato nel Capitolo 5, ma anche per funzioni che si annullano in un generico punto nell’intervallo [0, π]. Viene inoltre proposta la sperimentazione per matrici a banda ampia, dalla quale si può dedurre come questo parametro non influenzi la velocità di convergenza del metodo. 168 9.1. FUNZIONI GENERICHE 169 n # iterazioni 256 − 1 36 512 − 1 38 1024 − 1 38 2048 − 1 39 Tabella 9.1: Zero di f in π/3: numero di iterazioni. 9.1.1 Zero non nell’origine o in π Nel Capitolo 5 abbiamo dimostrato l’ottimalità del nostro MGM nel caso in cui la funzione generatrice f associata alla matrice dei coefficienti τ Tn (f ) si annulli nell’origine o in π. In questa sezione si verifica sperimentalmente come in realtà tale risultato possa essere esteso a qualsiasi x0 ∈ [0, π] per cui f (x0 ) = 0. Esempio 9.1.1. Si considera la matrice τ Tn (f ) tale che f (x) = (1 − 2 cos(x))2 . Si sottolinea che la f si annulla in π/3 con ordine 2. Quindi, in accordo alla Proposizione 5.3.1, il proiettore p(x) = (1 + 2 cos(x))2 soddisfa le condizioni (5.2.1) e (5.2.2). Di conseguenza p dovrebbe permettere di ottenere l’ottimalità anche se ciò non è stato ancora dimostrato teoricamente. Infatti, la sperimentazione numerica riportata in Tabella 9.1 permette di osservare che il numero di iterazioni necessarie per la convergenza è limitato superiormente da una costante, ovvero sperimentalmente il metodo sembra essere ottimale anche per il caso in esame. 9.1.2 • Matrice a banda elevata Si mostra sperimentalmente come il tasso di convergenza del MGM proposto sia indipendente dall’ampiezza di banda della matrice dei coefficienti. A tale proposito 170 CAPITOLO 9. RISULTATI NUMERICI n # iterazioni 1024 − 1 10 2048 − 1 11 4096 − 1 12 8192 − 1 12 Tabella 9.2: Matrice a banda larga: numero di iterazioni. si riporta l’esempio di una matrice con ampiezza di banda elevata rispetto a quelle derivanti dalla discretizzazione di equazioni differenziali con formule di precisione 2. Esempio 9.1.2. Si considera una matrice An ∈ τn a banda larga che si annulla nell’origine. Per semplicità, si definisce A non a partire dalla sua funzione generatrice, ma a partire dalla sua maschera dei coefficienti (Sezione 6.2): mask(An ) = [26, −4, −2, −2, −1, −1, −1, −1, −1]. Poiché a0 = 26 > 0, ai < 0 per i = 1, . . . , 8 e 2 P8 i=1 ai = a0 , la matrice An ∈ B 0 [15] e la sua funzione generatrice si annulla nell’origine con ordine 2. Dalla Tabella 9.2 si può osservare come il MGM proposto sia ottimale anche nel caso in esame. Anche se inizialmente il numero di iterazioni necessarie per la convergenza ha un’apparente crescita logaritmica, all’aumentare della dimensione del sistema questo effetto scompare ed il numero di iterazioni si stabilizza ad un valore costante. 9.2 Parametro di rilassamento In questa sezione si illustra come scelte diverse del parametro di rilassamento dello smoother possono portare ad un diverso tasso di convergenza, senza per questo comunque influenzare l’ottimalità del metodo. Si farà riferimento al metodo di Jacobi pesato descritto nella Sezione 3.1.2, in quanto nella Sezione 4.1 si è dimostrato la validità della “smoothing assumption” proprio relativamente al metodo in questio- 9.2. PARAMETRO DI RILASSAMENTO 171 Figura 9.1: Andamento degli autovalori di PJω per ω = 1/3, 1/2, 2/3, 1. ne. In particolare, dal Teorema 4.1.2 si deduce come la “smoothing assumption” sia verificata per ogni valore del parametro di rilassamento per cui Jacobi pesato è convergente. Utilizzando un passo di pre-smoother ed un passo di post-smoother, si vedrà come la tecnica multi-iterativa proposta in [29] è quella che dà i migliori risultati. Esempio 9.2.1. Come problema test si utilizza la matrice derivante dalla discretizzazione della derivata seconda monodimensionale su (0, 1) con opportune condizioni al contorno, Tn (f ) = τ Tn (f ) dove f (x) = 2 − 2 cos(x) (9.2.1) Sperimentalmente l’ottimalità del nostro MGM per questo problema è già stata verificata nella Sezione 7.2, quindi nel presente esempio si considera una dimensione fissata, ad esempio n = 512. Ciò che si decide di variare è invece il parametro di rilassamento per il pre-smoother (ωpre ) e per il post-smoother (ωpost ). Il comportamento spettrale della matrice di iterazione del metodo di Jacobi pesato (PJω ) per il problema in questione è stato largamente studiato nella Sezione 3.1.3, comunque, per semplificare la comprensione della trattazione seguente, in Figura 9.1 è riportato l’andamento degli autovalori di PJω al variare di ω. Da tale figura si può notare come ω = 1/2 permetta ridurre l’errore solo nelle alte frequenze, ω = 1 nelle medie 172 CAPITOLO 9. RISULTATI NUMERICI iter. 5 6 7 8 9 10 11 12 13 ωpre = 1/2 ωpost = 1/2 3.397027E-04 9.175846E-05 2.482895E-05 6.725602E-06 1.823062E-06 4.943983E-07 1.341234E-07 3.639594E-08 9.878813E-09 kerrorek2 ωpre = 2/3 ωpre = 2/3 ωpost = 2/3 ωpost = 1 2.107899E-05 2.966693E-05 3.558474E-06 8.801619E-06 6.148354E-07 2.670282E-06 1.084430E-07 8.204139E-07 1.947242E-08 2.542607E-07 3.549264E-09 7.932044E-08 6.547274E-10 2.487623E-08 1.218941E-10 7.836002E-09 2.284933E-11 2.477652E-09 ωpre = 1/2 ωpost = 1 1.131624E-05 1.391408E-06 1.638477E-07 1.838723E-08 1.994960E-09 2.210979E-10 2.701353E-11 3.610355E-12 4.856390E-13 Tabella 9.3: Andamento dell’errore al variare di ω e ω = 2/3 per quelle comprese fra n/2 e n. Dalla Tabella 9.3 si può vedere, in accordo alle considerazioni fatte nella Sezione 3.1.3, che quando si utilizza lo stesso parametro di rilassamento sia per il pre-smoother che per il post-smoother la scelta migliore è ω = 2/3. Però, il miglior abbattimento dell’errore si ottiene utilizzando una tecnica multi-iterativa, dove il parametro di rilassamento del pre-smoother è diverso dal quello del post-smoother e scegliendoli in modo tale che il primo abbatte l’errore nelle alte frequenze (ωpre = 1/2), mentre il secondo nelle medie frequenze (ωpost = 1) dove sia il pre-smoother che la coarse grid correction sono inefficaci. 9.3 • Cicli In questa sezione si confronta i vari tipi di cicli del MGM descritti nella Sezione 3.1.5. Lo scopo principale è quello di accelerare ulteriormente la convergenza nel caso Toeplitz, in quanto per il caso τ già il semplice V -cycle permette di ottenere risultati non facilmente migliorabili. Per le matrici Toeplitz, invece, la tecnica proposta porta ad una rimozione aggiuntiva di informazioni sul sistema da risolvere, cosa che deve essere bilanciata da un aumento di “potenza” del metodo MGM, ottenibile con l’utilizzo di cicli più complessi. Nella Sezione 9.4 vedremo un’altra tecnica 9.3. CICLI 173 molto efficace per ottenere risultati analoghi, tale tecnica consiste nell’incrementare il numero di iterazioni dello smoother nello scendere dei livelli di ricorsione. Si ricorda che per il caso monodimensionale con matrice dei coefficienti a banda il W -cycle non può essere utilizzato mantenendo il costo computazionale dell’intera applicazione lineare (ora diviene O(n log(n)) come discusso in Sezione 6.5). Comunque, come si vedrà nell’Esempio 9.3.1, questo non risulta essere una limitazione in quanto già gli altri cicli, considerando il loro minore costo computazionale per iterazione, permettono di ottenere risultati paragonabili a quelli del W -cycle. Esempio 9.3.1 (Derivata quarta monodimensionale). In questo esempio si considera la matrice Tn (f ), dove f (x) = (2 − 2 cos(x))2 si annulla nell’origine con ordine 4. Tn (f ) è la matrice dei coefficienti del sistema derivante dalla discretizzazione della derivata quarta monodimensionale su (0, 1) con opportune condizioni al contorno. Si analizza il comportamento del nostro MGM rispetto ai diversi tipo di ciclo. Questo esempio è stato scelto, perché dalla Tabella 7.8 può sembrare che in realtà il numero di iterazioni segua una crescita logaritmica, ma utilizzando cicli più complessi (non computazionalmente) del V -cycle, come si vede dalla Tabella 9.4, tale fenomeno sparisce completamente. Da tale tabella si può anche notare che il W -cycle non porti sostanziali miglioramenti rispetto al WV -cycle, quindi il fatto di non poterlo utilizzare per il caso monodimensionale, pena la perdita dell’ottimalità, non è poi cosı̀ rilevante. I valori in Tabella 9.4 sono stati ottenuti utilizzando gli stessi parametri con cui è stata creata la Tabella 7.8. • Per il caso bidimensionale, poiché il problema al livello inferiore viene dimezzato lungo entrambe le componenti e quindi è un quarto di quello al livello superiore, 174 CAPITOLO 9. RISULTATI NUMERICI n 125 253 509 1021 V -cycle 41 44 47 48 # iterazioni VW -cycle WV -cycle 36 30 37 30 37 30 37 30 W -cycle 29 29 29 29 Tabella 9.4: Derivata quarta monodimensionale al variare dei cicli. NM 612 1252 2532 5092 V -cycle 24 26 27 29 # iterazioni VW -cycle WV -cycle 23 20 24 20 24 20 24 20 W -cycle 19 19 20 20 Tabella 9.5: Derivata quarta bidimensionale al variare dei cicli. anche il W -cycle continua a mantenere lineare il costo complessivo del MGM e quindi può essere utilizzato anche nel caso di matrici a banda. Esempio 9.3.2 (Derivata quarta bidimensionale). In questo esempio si considera la matrice TN,M (f ), dove f (x, y) = (2 − 2 cos(x))2 + (2 − 2 cos(y))2 si annulla nell’origine con ordine 4. TN,M (f ) è la matrice dei coefficienti del sistema derivante dalla discretizzazione della derivata quarta bidimensionale su (0, 1) con opportune condizioni al contorno. Si analizza il comportamento del nostro MGM rispetto ai diversi tipo di ciclo. Questo esempio, come si vede dalla Tabella 9.5, permette di estendere i risultati ottenuti per il caso monodimensionale (Esempio 9.3.1) al caso bidimensionale. • 9.4. NUMERO DI ITERAZIONI DELLO SMOOTHER 9.4 175 Numero di iterazioni dello smoother In questa sezione si analizza un’idea proposta in [33]: aumentare il numero di iterazioni degli smoother nello scendere dei livelli di ricorsione del MGM. Come visto nella Sezione 6.5, se il numero di iterazioni del pre-smoother (analogamente del post-smoother) al livello j è definito come ½ s(j) = θs(j − 1) + ν, θ ∈ [0, 2), ν ∈ N, s(0) = O(1), allora il metodo MGM per matrici τ a banda continua ad avere un costo lineare. Come esempio per testare la modifica qui sopra proposta, si considera la matrice TN,M (f ) ottenuta dalla discretizzazione della derivata sesta bidimensionale, dove f (x, y) = (2 − 2 cos(x))3 + (2 − 2 cos(y))3 , si annulla nell’origine con ordine 6. Fissando s(0) = 2 vediamo sperimentalmente come cambia la velocità di convergenza del nostro MGM (Sezione 4.7) al variare di θ e ν. Si considera θ = 1 oppure si fa variare θ secondo lo schema θ = 1, 2, 1, . . . (tecnica analoga a quella utilizzata dal VW -cycle per il numero di chiamate ricorsive). Per ognuna di queste due scelte si fissa ν = 0, 1, 2. Le dimensioni N e M sono scelte come 2α − 3, con α = 6, 7, 8, 9, per permettere l’applicazione ricorsiva del MGM (Osservazione 4.4.1). Si ricorda che per θ = 1 e ν = 0 si ottiene il MGM classico. Dai risultati riportati in Tabella 9.6, si vede che per l’esempio corrente, già ν = 1 (lasciando θ = 1) permette di ottenere un sostanziale miglioramento del numero di iterazioni necessarie per la convergenza. Ricorrere a schemi più complessi e computazionalmente più costosi, non porta invece ad un particolare miglioramento rispetto al caso θ, ν = 1. Risultati analoghi comunque possono essere osservati anche con matrici diverse da TN,M (f ), quindi, nel caso di matrici Toeplitz, un buona scelta è quella di incrementare il numero di passi degli smoother di una sola iterazione nello scendere delle chiamate ricorsive. 176 CAPITOLO 9. RISULTATI NUMERICI NM 612 1252 2532 5092 ν=0 36 39 41 41 θ=1 ν=1 33 33 33 33 # iterazioni θ = 1, 2, 1, . . . ν=2 ν=0 ν=1 ν=2 29 30 29 29 30 30 29 29 30 31 29 29 30 31 29 28 Tabella 9.6: ν = 0, 1, 2 per θ = 1 oppure θ = 1, 2, 1, . . .. 9.5 Proiettori bidimensionali In questa sezione si affronta il delicato compito della scelta del proiettore nel caso bidimensionale. Come visto nella Sezione 4.6, se τ TN,M (f ) è tale che f (x0 , y 0 ) = 0 con ordine q, allora il proiettore deve annullarsi nei mirror point M(x0 ) con ordine d(q + 1)/2e. L’ordine del proiettore è scelto in modo analogo al caso monodimensionale considerando quanto riportato nella Sezione 7.3 (in particolare si veda la Tabella 7.5). Diversamente al caso monodimensionale, le classe di funzioni che soddisfano queste condizioni sono svariate e diverse proposte sono state fatte in letteratura. Per semplicità di notazione si considera soltanto zeri di ordine 2, per zeri di ordine superiore è sufficiente moltiplicare per se stesso il proiettore base fino ad ottenere l’ordine desiderato. La proposta fatta in [16] considera il proiettore p1 (x, y) = [cos(2x)−cos(2x0 )+cos(y)−cos(π−y 0 )][cos(x)−cos(π−x0 )+cos(2y)−cos(2y 0 )]. Tale scelta è principalmente dettata dalla semplicità di definizione della matrice di proiezione. Però, dal grafico di p1 (x, y) riportato in Figura 9.2, si può notare che p1 (x, y) 0 ∀ x, y ∈ [0, π]2 ed inoltre si annulla su un’intera curva portando ad un potenziale aumento nel numero degli zeri al livello successivo. Partendo proprio da questa ultima osservazione, in [33] è stato proposto un proiettore non negativo che si annulla solo nei tre “mirror point” (Figura 9.3): 9.5. PROIETTORI BIDIMENSIONALI Figura 9.2: Grafico della funzione p1 (x, y) per (x0 , y 0 ) = (0, 0) Figura 9.3: Grafico della funzione p2 (x, y) per (x0 , y 0 ) = (0, 0) p2 (x, y) = [2 cos(x0 ) + 2 cos(y 0 ) + 2 cos(x) − 2 cos(y)] × [2 cos(x0 ) + 2 cos(y 0 ) − 2 cos(x) + 2 cos(y)] × [2 cos(x0 ) + 2 cos(y 0 ) + 2 cos(x) + 2 cos(y)]. 177 178 CAPITOLO 9. RISULTATI NUMERICI Figura 9.4: Grafico della funzione p3 (x, y) per (x0 , y 0 ) = (0, 0) Nel presente lavoro si propone una terza scelta che corrisponde alla generalizzazione al caso bidimensionale del proiettore utilizzato nel caso monodimensionale: p3 (x, y) = [2 cos(x0 ) + 2 cos(x)][2 cos(y 0 ) + 2 cos(y)]. Questo proiettore è non negativo ma si annulla sulla curva x = π − x0 e y = π − y 0 (Figura 9.4), comunque, come si vede dalla Tabella 9.7, esso ha permesso di ottenere risultati molto migliori rispetto agli altri due. Si sottolinea che se la f si annulla soltanto nell’origine, allora p3 corrisponde all’interpolazione lineare bidimensionale. E’ quindi logico aspettarsi che permetta di ottenere una convergenza rapida nel caso di PDE, ma risultati analoghi si ottengono anche per (x0 , y 0 ) 6= (0, 0) (si veda ad esempio il Capitolo 8). Esempio 9.5.1. Si considera il problema di Poisson bidimensionale (Esempio 7.1.1), dove τ TN,M (f ) = In ⊗ (4In − Hn ) − Hn ⊗ In è tale che f (x, y) = 4 − 2 cos(x) − 2 cos(y). 9.5. PROIETTORI BIDIMENSIONALI NM (64 − 1)2 (128 − 1)2 (256 − 1)2 (512 − 1)2 179 # iterazioni p1 p2 p3 55 25 11 57 32 11 57 38 10 58 45 10 Tabella 9.7: Confronto proiettori: numero di iterazioni al variare delle dimensioni (problema di Poisson bidimensionale). Poiché f (0, 0) = 0 con ordine 2 e f (x, y) 6= 0 per ogni altro punto in [0, π]2 , si confronta i proiettori sopra proposti considerando (x0 , y 0 ) = (0, 0). In Tabella 9.7 sono riportate il numero di iterazioni ottenute all’aumentare della dimensione del problema per ognuno dei tre proiettori. Anche se tutti e tre i proiettori proposti permettono di mantenere l’ottimalità (o una crescita al più logaritmica), p3 impiega un numero decisamente inferiore di iterazioni rispetto agli altri due. • Nell’esempio precedente si è visto come p3 permetta di ottenere la convergenza più velocemente di p1 e p2 , ma questo non è il solo punto a favore della scelta di p3 . Questo proiettore è anche computazionalmente più conveniente degli altri due, perché ha un’ampiezza di banda minore. In base a quanto riportato nella Sezione 6.4 su come rappresentare una matrice τ o Toeplitz utilizzando la sua maschera dei coefficienti, per (x0 , y 0 ) = (0, 0) si ottiene: 1 0 0 0 0 1 p1 =⇒ 1 1 0 0 1 0 −1 0 −4 1 p2 =⇒ 15 8 48 15 · ¸ 2 1 p3 =⇒ . 4 2 0 0 , 0 1 0 0 0 0 , 1 0 −4 −1 Questa minore ampiezza di banda diventa essenziale quando di passa al caso 180 CAPITOLO 9. RISULTATI NUMERICI Toeplitz. Infatti, in accordo a quanto riportato nella Sezione 4.7, passare dal proiettore p3 a p1 o p2 comporta il taglio di M + N − 2 righe e colonne in più. Quindi utilizzando p1 o p2 si tagliarebbe una notevole quantità di informazione che porterebbe ad un complessivo rallentamento del metodo. Alla luce di queste considerazioni risulta evidente che la scelta di p3 per il caso Toeplitz, utilizzando il MGM proposto, risulta praticamente obbligata. In conclusione si sottolinea come sia facile associare una matrice di proiezione anche alla funzione p3 . Infatti, nel caso generale in cui la f si annulla in un qualsiasi punto (x0 , y 0 ) ∈ [0, π]2 la maschera associata a τ Tn (p3 ) è · ¸ 2 cos(x0 ) 1 mask(p3 ) = . 4 cos(x0 ) cos(y 0 ) 2 cos(y 0 ) Conclusioni Nel presente lavoro è stata fornita per la prima volta una dimostrazione di ottimalità del MGM definito in [15, 16] per l’algebra τ ed è stata proposta una sua estensione per la classe Toeplitz. Inoltre, si è verificato sperimentalmente che, a differenza di quanto avviene per il PCG con precondizionatore in algebra, i risultati teorici di ottimalità dimostrati per il caso monodimensionale sembrano continuare a valere anche nel caso bidimensionale. I punti aperti legati ai risultati esposti nel presente lavoro, e che potrebbero essere oggetto di ricerche future, sono però ancora molti. Riportiamo una breve lista di quelli ritenuti più importanti. • Estensione della dimostrazione di ottimalità del MGM proposta nel Capitolo 5 ad algebre trigonometriche (τ , Circolanti, Hartley, . . . ) multidimensionali. Un cenno ed alcuni suggerimenti a riguardo si possono trovare in [2]. • Dimostrazione teorica del risultato di ottimalità, verificato sperimentalmente nel presente lavoro, per la classe delle matrici Toeplitz. • Rilassamento dei vincoli teorici che devono essere soddisfatti dal proiettore, ovvero abbassare il grado del proiettore da q a d(q + 1)/2e, dove 2q è l’ordine dello zero della funzione generatrice della matrice dei coefficienti. Questo potrebbe anche comportare una revisione o una specializzazione della teoria di Ruge e Stuben [26] per le matrici in questione. 181 182 CAPITOLO 9. RISULTATI NUMERICI • Definizione di una tecnica di regolarizzazione propria del MGM per la ricostruzione di immagini affette da rumore. Si potrebbe sfruttare il meccanismo di proiezione del problema da una griglia più fine ad una più rada per filtrare il contributo del rumore che porta ad un’esplosione dell’errore nelle alte frequenze. Bibliografia [1] A. Aricò, Metodi Multigrid in algebre trigonometriche, Tesi di Laurea in Matematica Univ. di Pisa, Aprile 2002. [2] A. Aricò, M. Donatelli e S. Serra Capizzano, MGM optimal convergence for (multilevel) matrix algebra linear systems, in preparazione. [3] D. Bini e M. Capovani, Spectral and Computational Properties of Band Simmetric Toeplitz Matrices, Linear Algebra Appl., 52/53 (1983), pp. 99–125. [4] D. Bini e P. Favati, On a matrix algebra related to the discrete Hartley transform, SIAM J. Matrix Anal. Appl., 14 (1993), pp. 500–507. [5] A. Böttcher e S. Grudsky, On the condition numbers of large semi-definite Toeplitz matrices, Linear Algebra Appl., 279 (1998), pp. 285–301. [6] W. L. Briggs, A Multigrid Tutorial, Society for Industrial and Apllied Mathematics, Philadelphia, Pennsylvania, 1987. [7] J. Bunch, Stability of methods for solving Toeplitz systems of equation, SIAM J. Sci. Stat. Comp., 6 (1985), pp. 349–364. [8] R.H. Chan, Q. Chang e H. Sun, Multigrid method for ill-conditioned symmetric Toeplitz systems, SIAM J. Sci. Comp., 19-2 (1998), pp. 516–529. [9] R.H. Chan, M. Donatelli, S. Serra Capizzano e C. Tablino Possio Application of multigrid techniques to image restoration problems, Proceedings Spie Conference 2002; session: Advanced signal processing algorithms, architectures and implementations XII. 183 184 BIBLIOGRAFIA [10] R.H. Chan e M. Ng, Conjugate gradient methods for Toeplitz systems, SIAM Rev., 38 (1996), pp. 427–482. [11] R.H. Chan e G. Strang, Toeplitz equations by conjugate gradients with circulant preconditioner, SIAM J. Sci. Stat. Comp., 10 (1989), pp. 104–119. [12] T.F. Chan, An optimal circulant preconditioner for Toeplitz systems, SIAM J. Sci. Stat. Comp., 9 (1988), pp. 766–771. [13] F. Di Benedetto, Analysis of preconditioning techniques for ill–conditioned Toeplitz matrices, SIAM J. Sci. Comp., 16 (1995), pp. 682–697. [14] F. Di Benedetto, G. Fiorentino, and S. Serra, C.G. preconditioning for Toeplitz matrices, Comput. Math. Appl., 25 (1993), pp. 33–45. [15] G. Fiorentino e S. Serra, Multigrid methods for Toeplitz matrices, Calcolo, 28 (1991), pp. 283–305. [16] G. Fiorentino e S. Serra, Multigrid methods for symmetric positive definite block Toeplitz matrices with nonnegative generating functions, SIAM J. Sci. Comp., 17-4 (1996), pp. 1068–1081. [17] G. Fiorentino e S. Serra, Multigrid methods for indefinite Toeplitz matrices, Calcolo, 33 (1996), pp. 223–236. [18] G. H. Golub e C. F. Van Loan, Matrix Computations, The Johns Hopkins University Press, 1996. [19] U. Grenander e G. Szegö, Toeplitz Forms and Their Applications, Second Edition, Chelsea, New York, 1984. [20] C. W. Groetsch, Inverse Problems in the Mathematical Sciences, Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden, 1993. [21] J. Huckle, J. Standacher Multigrid preconditioning an Toeplitz matrices Electr. Trans. Numer. Anal., in stampa. [22] V. Lakshmikantham, D. Trigiante Theory of difference equations: numerical methods and applications, Accademic Press Boston (MA), 1988. BIBLIOGRAFIA 185 [23] K. P. Lee, J. G. Nagy e L. Perrone, Iterative methods for image restoration: a Matlab object oriented approach, [24] D. G. Luenberger, Introduction to Dynamic Systems (Theory, Models & Applications), John Wiley & Sons, Inc., 1979. [25] J. D. Riley Solving systems of linear equations with a positive definite, symmetric, but possibly ill-conditioned matrix Math. Tables Aids Comput., 9 (1955), pp. 96-101. [26] J. Ruge e K. Stuben, Algebraic multigrid, in Frontiers in Applied Mathematics: Multigrid Methods, S. McCormick Ed. SIAM, Philadelphia, 1987, pp.73-130. [27] S. Serra Capizzano, Convergence analysis of two-grid methods for elliptic and PDEs Matrix-sequences, Numer. Math, versione elettronica, DOI 10.0007/S002110100331 (15/11/2001) [28] S. Serra Capizzano, Toeplitz preconditioners constructed from linear approximation processes, SIAM J. Matrix Anal. Appl., 20-2 (1998), pp. 446–465. [29] S. Serra, Multi-iterative methods, Comput. Math. Appl., 26-4 (1993), pp. 65–87. [30] S. Serra, Optimal, quasi-optimal and superlinear band-Toeplitz preconditioners for asymptotically ill-conditioned positive definite Toeplitz systems, Math. Comp., 66 (1997), pp. 651–665. [31] S. Serra, Superlinear PCG methods for symmetric Toeplitz systems, Math. Comp., 68 (1999), pp. 793–803. [32] S. Serra, How to choose the best iterative strategy for symmetric Toeplitz systems?, SIAM J. Numer. Anal., 36-4 (1999), pp. 1078–1103. [33] S. Serra Capizzano e C. Tablino Possio Multigrid methods for multilevel circulant matrices, SIAM J. Sci. Comp., in revisione. 186 BIBLIOGRAFIA [34] S. Serra Capizzano e E. Tyrtyshnikov, Any Circulant-like preconditioner for multilevel matrices is not superlinear, SIAM J. Matrix Anal. Appl., 21-2 (1999), pp. 431–439. [35] A. N. Tykhonov Solution of incorrectly formulated problems and regularization method Soviet Math. Dokl., 4 (1963), pp. 1035-1038; English translation of Dokl. Akad. Nauk. SSSR, 151 (1963), pp. 501-504. [36] E. Tyrtyshnikov e N. Zamarashkin, Spectra of multilevel Toeplitz matrices: advanced theory via simple matrix relationships, Linear Algebra Appl., 270 (1998), pp. 15–27.