Para muchas ecuaciones diferenciales parciales que surgen en la naturaleza, particularmente con fuertes no linealidades o anisotropías, la elección de un preacondicionador apropiado puede tener un gran efecto sobre si el método iterativo converge rápida, lenta o no. Los ejemplos de problemas que se sabe que tienen preacondicionadores rápidos y efectivos incluyen ecuaciones diferenciales parciales fuertemente elípticas, donde el método de múltiples cuadrículas frecuentemente logra una convergencia rápida. Hay varias pruebas que uno puede usar para evaluar la convergencia; Aquí voy a utilizar la funcionalidad de PETSc como ejemplo, ya que es posiblemente la biblioteca más antigua y madura para resolver de forma iterativa sistemas dispersos de ecuaciones lineales (y no lineales).
PETSc usa un objeto llamado KSPMonitor para monitorear el progreso de un solucionador iterativo y decidir si el solucionador ha convergido o divergido. El monitor utiliza cuatro criterios diferentes para decidir si se detiene. Puede encontrar más detalles sobre la discusión aquí en la página de manual de KSPGetConvergedReason () .
Asumimos que el usuario está resolviendo el siguiente sistema de ecuaciones para :
Llamamos la aproximación actual , y definimos el residual en función del estilo de preacondicionamiento:A x = b x rx
Ax=b
x^r^
Precondicionamiento(P−1(Ax−b))
r =P - 1 (A x -b)
r^=P−1(Ax^−b)
No / Precondicionamiento derecho(AP−1Px=b)
r =A x -b
r^=Ax^−b
Criterios de convergencia
- Tolerancia absoluta: el criterio de tolerancia absoluta se cumple cuando la norma del residuo es menor que la constante predefinida :
atol
∥r^∥≤atol
- Tolerancia relativa: el criterio de tolerancia relativa se cumple cuando la norma del residuo es menor que la norma del lado derecho por un factor de constante predefinida :rtol
∥r^∥≤rtol⋅∥b∥
- Otros criterios : la resolución iterativa también puede converger debido a la detección de una pequeña longitud de paso o curvatura negativa.
Criterios de divergencia
Iteraciones máximas : el número de iteraciones que puede tomar un solucionador está limitado por las iteraciones máximas. Si ninguno de los otros criterios se cumple cuando se alcanza el número máximo de iteraciones, el monitor regresa como divergido.
NaN residual : si en algún momento el residual se evalúa como NaN, el solucionador regresa como divergido.
Divergencia de la norma residual El monitor regresa como divergente si en algún momento la norma del residuo es mayor que la norma del lado derecho por un factor de constante predefinida :
dtol
∥r^∥≥dtol⋅∥b∥
Desglose del solucionador El método Krylov en sí mismo puede indicar divergencia si detecta una matriz singular o un preacondicionador.