¿Por qué es malo fijar un punto para eliminar un espacio nulo?

13

Una ecuación de Poisson con todas las condiciones de contorno de Neumann tiene un solo espacio nulo dimensional constante. Al resolver mediante un método de Krylov, el espacio nulo puede eliminarse restando la media de la solución en cada iteración o fijando el valor de un solo vértice.

Fijar un solo vértice tiene el beneficio de la simplicidad y también evita una reducción global adicional por proyección. Sin embargo, generalmente se considera malo debido a su efecto sobre el acondicionamiento. Por lo tanto, siempre he restado los medios.

Sin embargo, los dos métodos difieren entre sí en una corrección de rango 2 como máximo, por lo que de acuerdo con (1) deberían converger en casi el mismo número de iteraciones (al menos en aritmética exacta). ¿Es correcto este razonamiento, o hay una razón adicional por la cual la fijación de puntos es mala (quizás aritmética inexacta)?

(1): ¿Cómo afectan las modificaciones de bajo rango a la convergencia del método de Krylov?

Geoffrey Irving
fuente

Respuestas:

9

Sus argumentos se aplican naturalmente al caso no condicionado. La razón por la que no recomiendo fijar es porque confunde las normas y el preacondicionamiento. Si conoce el tamaño de un valor diagonal típico, puede escalar la ecuación trivial para el nodo anclado para que las normas vuelvan a ser razonables.

Para ver la consecuencia en el preacondicionamiento, tenemos que distinguir entre diferentes métodos para hacer cumplir la fijación. Considero dos de los más populares.

  1. Si la fijación se logra al "poner a cero una fila" (estableciendo una fila igual a una fila escalada de la identidad), se introduce una asimetría que restringe la elección del método de Krylov y puede confundir los preacondicionadores (por ejemplo, hacer que la cuadrícula algebraica elija un agregado pobre).
  2. Si la columna correspondiente también se pone a cero (con la contribución "levantada" al lado derecho), el efecto es bastante benigno.

Tenga en cuenta que los operadores de interpolación para multigrid pueden tener que ajustarse para hacer la fijación de manera compatible en cada nivel. Si no le importa la complejidad introducida al implementar la fijación con una buena escala, es un buen enfoque. En la mayoría de los casos, encontramos que es más intrusivo y propenso a errores implementar el anclaje de una manera no disruptiva que proporcionar el espacio casi nulo. Al tener alrededor la matriz original (singular), la biblioteca de solucionador también puede verificar que el espacio nulo proporcionado sea de hecho un espacio nulo, protegiendo así contra un error común.

Jed Brown
fuente