Metodo CG

Il metodo del gradiente coniugato (Hestenes-Stiefel 1950) costruisce la nuova direzione di discesa come combinazione lineare della direzione precedente e del residuo.

Pseudo codice

Direzione di ricerca iniziale for calcolo step update soluzione update residuo calcolo step update direzione discesa end

Osservazioni Le quantità e compaiono due volte, pertando conviene memorizzarle per evitare calcoli unitili (il residuo compare anche nell’iterazione successiva).

Il calcolo del passo dinamico segue sempre una minimzation rule, infatti:

siccome per l’osservazione di ortogonalità tra i residui e le direzioni di ricerca precedenti .

Si può dare una caratterizzazione equivalente del passo . Lemma Se si ha, per , e, per , , allora vale

Tuttavia questa formulazione è computazionalmente meno conveniente.

Enuciamo ora un teorema fondamentale che caratterizza il metodo CG.

Teorema Siano stati compiuti passi, allora vale la seguente indentità tra sottospazi:

inoltre i residuo sono mutualmente ortogonali, e le direazioni di discesa sono -coniugate (ortogonali):

Dim La prima identità tra gli span è immediata, segue dalla definizione della direzione di discesa:

Per dimostrare l’ortogonalità procediamo per induzione su . La base è vera, infatti:

siccome lo step è ottimale, mentre

e usando l’altra caratterizzazione di per risulta nullo. Assumiamo i risultato veri al passo , con , mostriamo l’ortgonoalità dei residui:

infatti per induzione, se , il primo addendo è nullo, il secondo segue sempre dall’ipotesi induttiva e dall’uguaglianza degli span.

Resta il caso , qui possiamo usare la definizione di :

Infatti il denominatore si può riscrivere come

e per ipotesi induttiva l’addendo con è nullo.

Resta da dimostrare che le direzioni di discesa sono -coniugate.

Se per ipotesi induttiva il secondo termine è nullo, il primo sempre per ipotesi induttiva e per l’uguaglianza degli span. Per dimostrae il caso , si utilizza la definzione di del lemma:

Una conseguenza fondametale di questo teorema, è che (al netto di errori di calcolo) il metodo CG è un metodo diretto!

Teorema Sia simmetrica e definita positiva, applicando il metodo CG al problema , a partire da una qualsiasi solizione , si ha convergenza in al più passi alla soluzione esatta.

Dim Segue direttamente dal teorema precedente, infatti siccome e per . Quindi , ovvero la tesi.

Velocità di convergenza

Si può dimostrare che il fattore di abbattimento dell’errore del metodo CG è

quindi migliore di quello di Steepest descent.

Metodo precondizionato PCG

Per migliorare il condizionamento del sistema possiamo usare le tecniche di precondizionamento che preservino la proprietà di di simmetria e definita positiva, ad esempio con la fattorizzazione di Cholesky incompleta:

Tuttavia quando si implementa, non si calcola esplicitamente il nuovo sistema lineare precondizionato, ma si lavoro su di esso implicitamente. Per illustrare questa strategia, ragioniamo con il prodotto scalare indotto da un precondizionarore simmetrico e definitio positivo; valgono le seguenti osservazioni: Osservazione Se è simmetrica e definita positiva, allora risulta simmetrica e definita positiva rispetto al -prodotto scalare. Dim Segue dalla definizione:

Inoltre si sta minimizzando il medesimo funzionale:

Quindi si lavoro con il -prodotto scalare sul sistema .

Come si modifica lo pseudocodice?

Calcolo il residuo del sistema precondizionato . Se usiamo possiamo risolverlo usando forward e backward.

Calcolo dello step ottimale svolgendo i conti viene fuori:

calcolo step per dir discesa: Anche qui risulta

Direzione di ricerca iniziale

for calcolo step update soluzione update residuo calcolo step update direzione discesa end

Criterio di arresto

Generalmente si usa il rapporto tra la norma euclidea del residuo con la norma euclidea del termine noto

non il residuo precondizionato! Non vale la pena calcolare la norma dell’energia del residuo ad ogni passo.

Interpretazione come metodo di Krylov

Il metodo CG può essere visto come un metodo di Krylov in cui la soluzione al passo è scelta per minimizzare la norma dell’energia dell’errore.

Teorema Sia , simmetrica definita positiva (SPD), applicando il metodo CG con , la soluzione approssimata risulta l’unico vettore che rende minima la norma dell’energia dell’errore, ovvero:

Dim Supponiamo che sia la soluzione al problema di minimizzazione, Facciamo vedere che . Calcoliamo la -norma dell’errore:

ma ed è ortogonale a . Ma è definita positiva, dunque:

con uguaglianza se e solo se , ovvero .