È normale non avere controlli di convergenza in Multigrid?


12

Ho appena letto il capitolo 3 in "A Multigrid Tutorial" di Briggs / Henson / McCormick, link .

Il testo riguarda i cicli multigrid come V-cycle, mu-cycle, FMG. Cosa ha attirato la mia attenzione: nella maggior parte delle procedure iterative si verifica se si è convertito alla tolleranza / accuratezza desiderata e, in tal caso, la procedura si interrompe. Ma Briggs / Henson / McCormick non usano alcun controllo di convergenza negli schemi presentati. Il numero di iterazioni e ricorsioni è appena codificato e bisogna fidarsi che il sistema converge.

Quindi, come si fa normalmente in Multigrid? È normale che il numero di iterazioni / ricorsioni sia solo hardcoded? Temo davvero che perderò molto tempo di calcolo perché sono troppo preciso o, d'altra parte, l'accuratezza sarà scarsa in molti casi quando scelgo un numero inferiore di iterazioni / ricorsioni.


La mancanza di risposte a questa domanda è davvero sorprendente per me. Sicuramente ci sono alcuni utenti molto attivi qui che hanno un po 'di esperienza multigrid in ambienti di ricerca e / o produzione?
Doug Lipinski,

2
Penso che il problema sia che al giorno d'oggi il multigrid sia usato raramente come risolutore da solo (a causa della mancanza della teoria della convergenza generale, credo), ma piuttosto come precondizionatore di un metodo iterativo più consolidato come CG o GMRES. In questo contesto, non è necessario alcun controllo di convergenza per multigrid, poiché l'iterazione esterna se ne occupa.
Christian Clason,

Risposte:


4

Sì, è normale non avere controlli di convergenza in MG per alcuni motivi. Innanzitutto, se si utilizza un numero diverso di iterate su ogni passaggio, l'operatore MG non è più lineare e si dovrebbe usare qualcosa come FGMRES come acceleratore che può ospitare un precondizionatore non lineare. In secondo luogo, FMG è un risolutore esatto (riduce l'errore al di sotto dell'errore di discretizzazione) quando funziona, quindi il controllo della convergenza introduce una costosa sincronizzazione nell'algoritmo. Generalmente verifichi alla fine solo per verificare la convergenza.


Hai qualche fonte per sostenere questo? Attualmente la tua risposta e l'altra risposta più votata si contraddicono direttamente.
Doug Lipinski,

1) Il libro di Saad è il miglior riferimento per l'utilizzo di FGMRES per adattarsi a un precondizionatore in evoluzione: www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf 2) Credo che la prova che FMG riduca l'errore sotto l'errore di discretizzazione con un potere sufficientemente potente V-cycle è in Trottenberg e Osterlee, ma riproduco la prova nel mio libro: cse.buffalo.edu/~knepley/classes/caam519/CSBook.pdf
Matt Knepley

4

Sicuramente no. Per fare un esempio, il libro Multigrid ha una trama a pagina 53 (Figura 2.10) che mostra la diminuzione del residuo in funzione del numero di cicli V o W. Smetteresti di pedalare quando sei soddisfatto delle dimensioni del residuo.

La fonte della tua confusione potrebbe essere perché alcune descrizioni descrivono solo un singolo V-ciclo. In alcuni casi limitati, poiché il multigrid è una tecnica così potente, ciò può generare una soluzione adeguata. Inoltre, multigrid può essere utilizzato come precondizionatore . In tal caso, il multigrid è solo un acceleratore e il controllo della convergenza avviene a un livello superiore. Ma il controllo dovrebbe sempre avvenire da qualche parte.


1
Hai qualche fonte per sostenere questo? Attualmente la tua risposta e l'altra risposta più votata si contraddicono direttamente.
Doug Lipinski,

1

Nel Multigrid usato come solutore , di solito viene utilizzata la norma relativa del residuo come criterio di arresto. Diminuendo questo rapporto, l'accuratezza della soluzione dovrebbe aumentare. Inoltre, al livello più grossolano i ricercatori fanno cose diverse:

  1. risolvere con un risolutore diretto (nessuna convergenza)
  2. usa iterazioni fisse (nessuna convergenza)
  3. usa la differenza successiva tra iterazioni come criterio di convergenza (non un buon metodo perché potresti essere lontano dalla soluzione)
  4. Ancora una volta utilizzare la norma relativa del residuo come criterio di arresto.

Il metodo 2 sopra elencato al livello più grossolano è buono quando Multigrid è usato come pre-condizionatore (qui gli esperti di Multigrid possono commentare: sono un principiante).

Quindi, in generale viene utilizzata la convergenza .

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.