¿Cómo puedo precondicionar un problema no lineal antes de la linealización?

8

Cuando pienso en resolver ecuaciones no lineales, generalmente pienso en linealizar primero, luego aplicar un preacondicionador a la matriz lineal. Se me ocurrió pensar que podría ser posible condicionar las ecuaciones no lineales ANTES de que se linealicen. ¿Existen estrategias generales para precondicionar ecuaciones no lineales que sean independientes de la estructura del sistema de ecuaciones?

Paul
fuente

Respuestas:

7

Claro, cualquier solucionador no lineal aproximado se puede usar como preacondicionador no lineal. Por ejemplo, si su sistema tiene rigidez direccional, podría usar un método de disparo 1D como preacondicionador. Los algoritmos de Newton inexactos precondicionados no lineales de Cai y Keyes (2002) proporcionan otro ejemplo útil.

En PETSc, los métodos no lineales como cuasi-Newton , gradientes conjugados no lineales , GMRES no lineal (también conocido como aceleración de Anderson) y Richardson no lineal se pueden usar con un preacondicionador no lineal. El preacondicionador no lineal es cualquier otra SNESimplementación, tal vez una implementación "shell" definida por el usuario .

Jed Brown
fuente
4

F(x)=0F(x)22LUBF(x)22B=(LU)1r=BF(x)LUr=F(x)

A mayor costo (una nueva factorización aproximada por iteración), también se puede minimizar .B(x)F(x)

Arnold Neumaier
fuente