Metodi Multigrid per Sistemi Lineari Strutturati e Applicazioni

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.