Problemas donde el gradiente conjugado funciona mucho mejor que GMRES

17

Estoy interesado en casos en los que el gradiente Conjugate funciona mucho mejor que el método GMRES.

En general, CG es la opción preferible en muchos casos de SPD (simétrica-positiva-definida) porque requiere menos almacenamiento y el límite teórico en la tasa de convergencia para CG es el doble de ese GMRES. ¿Hay algún problema donde tales tasas se observan realmente? ¿Existe alguna caracterización de los casos en que GMRES se desempeña mejor o comparable a CG para el mismo número de spmvs (multiplicaciones de matriz-vector dispersas).

piyush_sao
fuente

Respuestas:

8

Una cosa que CG tiene a su favor es que no está minimizando la discreta norma para sus polinomios residuales (lo que hace GMRES). En cambio, está minimizando una norma inducida por la matriz, y muy a menudo esta norma inducida por la matriz termina siendo muy cercana a la norma de energía para la discretización de problemas físicos, y con frecuencia esta es una norma mucho más razonable para medir el error debido a las propiedades de conservación. de la físical2

De hecho, también puede lograr este tipo de efecto con GMRES si realizar una factorización Cholesky de una matriz de masa no es demasiado costoso, puede forzar a los productos internos a ser los productos internos de energía que desea.

Entonces, los casos en los que uno debería esperar que CG funcione de manera muy diferente a GMRES es cuando las constantes implicadas en la equivalencia de normas son muy diferentes. Esto puede ser cierto, por ejemplo, en un método de Galerkin espectral de alto orden donde la discreta norma utilizada en GMRES trata todos los grados de libertad como iguales, cuando en realidad los gradientes polinomiales son límites cercanos más nítidos (por lo tanto, agrupamiento de nodos), y así las constantes de equivalencia de la norma entre esa norma y decir la norma continua dada por la matriz de masa puede ser muy grande.L 2l2L2

Reid.Atcheson
fuente
Quería dar un ejemplo aquí con un método de alto orden e historias de convergencia de CG, GMRES y GMRES + truco de Cholesky GMRES ... pero desafortunadamente el único código que tengo a mano para problemas de segundo orden es DG de la variedad no simétrica ... entonces CG no es 't su caso, me encantaría ver esto en acción.
Reid.Atcheson
3
Creo que su respuesta llega a algo importante, pero desearía que lo aclarara. En particular, la pregunta es una pregunta de álgebra lineal pura, y su respuesta habla sobre normas físicas y matrices de masas, etc., de un PDE numérico. ¿Se puede decir algo preciso sobre cómo minimizar en diferentes normas dentro de las mismas Krylov espacio conduce a diferentes iteraciones?
Andrew T. Barker
Aparte de los ejemplos numéricos, no creo que haya habido un estudio teórico cuidadoso que explique cómo las diferentes normas producen respuestas sustancialmente diferentes. Creo que el problema es que los resultados giran en torno a los asintóticos, y para un sistema lineal fijo, los resultados teóricos serán factores constantes de módulo idéntico. Si hay algunos estudios teóricos por ahí, me encantaría verlos, pero habiendo preguntado a algunos de los expertos en álgebra lineal numérica de mi departamento, no parece que haya un análisis teórico preciso que muestre lo que sucede con las diferentes normas.
Reid.Atcheson
4

Sospecho que en general no hay mucha diferencia entre GMRES y CG para una matriz SPD.

Digamos que estamos resolviendo con A simétrica definida positiva y la suposición de partida x 0 = 0 y itera generando con CG y GMRES, los llaman x c k y x g k . Ambos métodos iterativos construirán x k desde el mismo espacio de Krylov K k = { b , A b , A 2 b , ... } . Lo harán de maneras ligeramente diferentes.UNX=siUNX0 0=0 0XkCXksolXkKk={si,UNsi,UN2si,...}

CG se caracteriza por reducir al mínimo el error en la norma de la energía inducida por A , de manera que ( A e c k , e c k ) = ( A ( x - x c k ) , x - x c k ) = min y K ( A ( x - y ) , x -mikC=X-XkCUN

(Aekc,ekc)=(A(xxkc),xxkc)=minyK(A(xy),xy).

GMRES minimiza en cambio el residuo , y lo hace en la norma discreta 2 , de modo que ( r k , r k ) = ( b - A x g k , b - A x g k ) = min y K ( b - A y , b - A y ) .rk=si-UNXksol2

(rk,rk)=(si-UNXksol,si-UNXksol)=minyK(si-UNy,si-UNy).
Ahora, utilizando la ecuación de error podemos GMRES escribir también como minimizar ( r k , r k ) = ( A e g k , A e g k ) = ( A 2 e g k , e g k ) donde Quiero hacer hincapié en que esto sólo es válido para una matriz SPD a . Entonces tenemos CG minimizando el error con respecto a la UnUNmik=rk
(rk,rk)=(UNmiksol,UNmiksol)=(UN2miksol,miksol)
UNUNnorma y GMRES minimizando el error con respecto a la norma . Si queremos que se comporten de manera muy diferente, de manera intuitiva que necesitaríamos un Un tal que estas dos normas son muy diferentes. Pero para SPD A, estas normas se comportarán de manera bastante similar.UN2UNUN

Para ser aún más específico, en la primera iteración con el espacio Krylov , tanto CG como GMRES construirán una aproximación de la forma x 1 = α b . CG elegirá α = ( b , b )K1={si}X1=αsi y GMRES elegirá α=(Ab,b)

α=(si,si)(UNsi,si)
SiAes diagonal con entradas(ε,1,1,1,...)yb=(1,1,0,0,0,...)entonces comoε0el primer paso CG se convierte en doble de grande que los primeros GMRES paso. Probablemente se puede construirunayb
α=(UNsi,si)(UN2si,si).
UN(ϵ,1,1,1,...)si=(1,1,0 0,0 0,0 0,...)ϵ0 0UNsi por lo que este factor de dos diferencia continúa a través de la iteración, pero dudo de que empeore que eso.
Andrew T. Barker
fuente
2
si=(1,ϵ,0 0,0 0,...)El |siEl |=1+ϵsiTUNsi=2ϵsiTUN2si=ϵ1+ϵ2αCG=ϵ-1+12ϵ-1αGMRES=21+ϵ22ϵ-1
3

Una cosa es que GMRES nunca se utiliza siempre que sea CG se puede aplicar. No creo que tiene sentido comparar estos dos. Para matrices SPD, CG es sin duda el ganador debido a los requisitos de almacenamiento y las razones que usted ha mencionado anteriormente. Una pregunta que sería interesante es, para encontrar una extensión de CG, que es aplicable a problemas donde CG no se puede aplicar. Existen métodos como BICG-puñalada que no requieren que aumenta linealmente memoria como GMRES, pero la convergencia no es tan buena como GMRES (algunas veces incluso con GMRES renovadas).

user1964178
fuente
2
Existen los esquemas IDR que cierran la brecha entre GMRES y BiCG en términos de ahorro de memoria, estabilidad y convergencia: ta.twi.tudelft.nl/nw/users/gijzen/IDR.html No estoy seguro de estar de acuerdo en que GMRES no debe ser utilizado si CG podría ser. Si se puede hacer una factorización de Cholesky de una matriz que induce su norma de la energía, a continuación, se puede alimentar a que en una iteración de Lanczos simétrica y obtener una solución de recurrencia de tres términos que se comportan casi como CG. Por supuesto, CG es la opción más fácil, pero la opción está disponible :)
Reid.Atcheson
2
Si utiliza un suave Krylov, por ejemplo, entonces es probable GMRES preferible, ya que utiliza una norma más débil que los valores propios objetivos más grandes que tienden a ser más altas frecuencias.
Jed Brown