¿Hay alguna forma de hacer un "preacondicionamiento doble"?

15

Pregunta:

Suponga que tiene dos preacondicionadores diferentes (factorizados) para una matriz simétrica positiva definida : y donde las inversas de los factores son Fácil de aplicar.UN

UNsiTsi
UNCTC,
si,siT,C,CT

Cuando es posible el uso de la información de ambos y para construir un mejor acondicionador previo que cualquiera de o solo?siCsiC

Nick Alger
fuente

Respuestas:

13

Puedes usar aditivo

PAGun-1X=(siTsi)-1X+(CTC)-1X,

multiplicativo

PAGmetro-1X=(siTsi)-1X+(CTC)-1(X-UN(siTsi)-1X),

o simétrico multiplicativo. Los métodos de esta clase están disponibles en PETSc utilizando PCCOMPOSITE en PETSc. Por ejemplo,

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

El manual del usuario tiene una sección sobre "Combinación de preacondicionadores".

Jed Brown
fuente
¡Excelente gracias! ¿Conoce alguna teoría o trabajo que discuta las condiciones bajo las cuales estas combinaciones serían efectivas o inefectivas, o es simplemente prueba y error?
Nick Alger
Al igual que con todo preacondicionamiento, el análisis es en términos del espectro de un operador preacondicionado, a menudo expresado a través de un problema de valor propio generalizado. Intuitivamente, si cada preacondicionador apunta a diferentes procesos o diferentes partes del espectro, la intención de la combinación es corregir ambas partes. Los enfoques más exitosos de esta clase se basan en la corrección del subespacio, que incluye multigrid, descomposición de dominio y división de campo (literatura para cada uno). PETSc tiene preacondicionadores más especializados para exponer paralelismo o reutilizar resultados intermedios en estos casos.
Jed Brown
1

Además de la excelente respuesta de Jed, un método que he encontrado recientemente es cambiar entre los preacondicionadores cada dos pasos en GMRES flexible (FGMRES), como se hace, por ejemplo, en

Tezduyar, TE, y col. "Un nuevo método de preacondicionamiento mixto para cálculos de elementos finitos". Métodos informáticos en mecánica aplicada e ingeniería 99.1 (1992): 27-42. http://repository.ias.ac.in/24680/1/320.pdf

Nick Alger
fuente