Esiste un modo per fare il "doppio precondizionamento"


15

Domanda:

Supponiamo di avere due precondizionatori diversi (fattorizzati) per una matrice definita positiva simmetrica : A B T B e A C T C , dove le inversioni dei fattori B , B T , C , C T sono facili da applicare.UN

UNBTB
UNCTC,
B,BT,C,CT

Quando è possibile utilizzare le informazioni da entrambi e C per costruire un precondizionatore meglio che sia B o C solo?BCBC

Risposte:


13

Puoi usare l'additivo

Pun'-1X=(BTB)-1X+(CTC)-1X,

moltiplicativo

Pm-1X=(BTB)-1X+(CTC)-1(X-UN(BTB)-1X),

o moltiplicativo simmetrico. I metodi di questa classe sono disponibili in PETSc usando PCCOMPOSITE in PETSc. Per esempio,

petsc/src/ksp/ksp/examples/tutorials$ ./ex2 -m 100 -n 100 -ksp_monitor \ -pc_type composite -pc_composite_type multiplicative \ -pc_composite_pcs ilu,gamg 0 KSP Residual norm 7.088415699389e+01 1 KSP Residual norm 1.271768323411e+01 2 KSP Residual norm 1.529853612054e+00 3 KSP Residual norm 1.214841683459e-01 4 KSP Residual norm 8.341606406485e-03 5 KSP Residual norm 6.471990946051e-04 6 KSP Residual norm 8.082672366030e-05 7 KSP Residual norm 6.111138513482e-06 Norm of error 6.93786e-06 iterations 7

Il manuale dell'utente contiene una sezione "Combinazione dei precondizionatori".


Eccellente grazie! Sei a conoscenza di una teoria o di un documento che discute delle condizioni in cui queste combinazioni sarebbero efficaci o inefficaci, o sono praticamente prove ed errori?
Nick Alger,

Come per tutti i precondizionamenti, l'analisi è in termini di spettro di un operatore precondizionato, spesso espresso tramite un problema di autovalore generalizzato. Intuitivamente, se ogni precondizionatore prende di mira processi diversi o parti diverse dello spettro, l'intento della combinazione è correggere entrambe le parti. Gli approcci di maggior successo di questa classe si basano sulla correzione del sottospazio, che include multigrid, decomposizione del dominio e divisione del campo (letteratura per ciascuno). PETSc ha precondizionatori più specializzati per esporre il parallelismo o riutilizzare risultati intermedi in questi casi.
Jed Brown,

1

Oltre all'eccellente risposta di Jed, un metodo che ho trovato di recente è quello di passare da un precondizionatore all'altro ogni altro passaggio del GMRES flessibile (FGMRES), come è stato fatto, ad esempio, in

Tezduyar, TE, et al. "Un nuovo metodo misto di precondizionamento per i calcoli agli elementi finiti." Metodi informatici in meccanica applicata e ingegneria 99.1 (1992): 27-42. http://repository.ias.ac.in/24680/1/320.pdf

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.