Linee guida per precondizionatori nidificati


9

Considera la situazione in cui vuoi risolvere un sistema lineare usando un metodo Krylov precondizionato, ma applicare lo stesso precondizionatore implica risolvere un sistema ausiliario, che è fatto con un altro metodo Krylov precondizionato.

  • Ad un estremo, è possibile eseguire la risoluzione interna alla convergenza all'interno di ogni passaggio della risoluzione esterna.

  • All'altro estremo, non è possibile eseguire la risoluzione interiore, ma sostituirla invece con il precondizionatore interno.

  • Da qualche parte nel mezzo, potresti troncare il ciclo interno di Krylov dopo un numero fisso di iterazioni o dopo aver raggiunto una certa tolleranza.

Empiricamente, mi sono imbattuto in situazioni in cui il primo estremo è migliore e diverse situazioni in cui il secondo estremo è migliore (in termini di costo totale). Tuttavia, non riesco a trovare una ragione chiara per cui determinate situazioni favoriscono una strategia rispetto a un'altra.

C'è qualche guida o teoria su quando sono preferibili queste diverse strategie?


4
Per almeno la terza situazione (intermedia) nella tua lista, un buon punto di partenza potrebbe essere Simoncini e Szyld, Metodi di sottospazio Krylov interno-esterno flessibile, SIAM J. Numer. Anale. 40 pagg. 2219-2239.
Andrew T. Barker,

Grazie per il riferimento, sono curioso di vedere cosa hanno lì. Stranamente, in pratica, ho trovato forme diverse della situazione intermedia per dare di gran lunga le prestazioni peggiori. Se il numero di tolleranza / iterazione è fisso, il risolutore esterno tende a bloccarsi al livello di errore della tolleranza interna. Iniziare con una grande tolleranza interna e diminuirla man mano che il metodo esterno avanza sembra anche avere prestazioni peggiori rispetto all'impostazione della tolleranza interna su piccola per cominciare.
Nick Alger,

Stai usando metodi Krylov flessibili? I risultati che descrivi sono quelli che mi aspetterei se non lo fossi. La situazione intermedia è esattamente quella in cui il precondizionatore è (leggermente) diverso ad ogni iterazione, ovvero quando sono richiesti metodi flessibili di Krylov.
Andrew T. Barker,

Risposte:


1

Questa domanda è stata aperta per molto tempo, ma penso che meriti ancora una risposta.

x~=K(A,P,τ,N;b)KAx=bNτPA1Kb

K(A,P,0,;)Ax=bK(A,P,0,;b)=A1bbbr(0)=bAx(0)K(A,P,τ,N;)Nτ

K(A,P,τ,N;)A

Ciò è in contrasto con molti altri metodi utilizzati per la precondizione: ad esempio, un passaggio SSOR è un'operazione lineare sul vettore a cui viene applicato, così come tutti gli altri metodi che applicano un passaggio di un'iterazione a punto fisso.

Il problema fondamentale ora è che la maggior parte dei metodi spaziali di Krylov richiedono che il precondizionatore sia un operatore lineare. Semplicemente non convergeranno se il precondizionatore non è lineare, spiegando la tua osservazione. D'altra parte, ci sono variazioni di alcuni metodi spaziali di Krylov - in genere preceduti dalla parola "flessibile", come F-GMRES in "flessibile GMRES" - che aggirano questo problema e che possono occuparsi di precondizionatori che non sono lineari operatori. Queste varianti flessibili dei metodi originali convergeranno ancora e sono spesso metodi potenti se abbinati a precondizionatori buoni (ma non lineari).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.