¿Cuál es la peor complejidad de caso de Gradiente Conjugado?

9

Deje , simétrico y positivo definido. Supongamos que se necesita unidades de trabajo para multiplicar un vector por . Es bien sabido que realizar el algoritmo CG en con el número de condición requiere , unidades de trabajo. m A A κ O ( m ARn×nmAAκO(mκ)

Ahora, por supuesto, al ser una declaración , este es un límite superior. Y el algoritmo CG siempre puede terminar en cero pasos con una conjetura inicial afortunada.O

¿Sabemos si existe un RHS y una conjetura inicial (desafortunada) que requerirá pasos ? Dicho de otra manera, ¿es la complejidad laboral de peor caso de CG realmente ?Θ(mΘ(κ)Θ(mκ)

Esta pregunta surge cuando traté de determinar si el beneficio de un preacondicionador (menor ) superaba su costo (mayor ). En este momento, estoy trabajando con problemas con los juguetes y me gustaría tener una mejor idea antes de implementar cualquier cosa en un lenguaje compilado.mκm

Fred
fuente
55
Probablemente podría construir una suposición inicial pesimista ejecutando el algoritmo CG "hacia atrás" y poniendo la energía adecuada en cada una de las direcciones de búsqueda ortogonales A que el algoritmo requiere todos los pasos.
origimbo

Respuestas:

9

La respuesta es un sí rotundo. El límite de la tasa de convergencia de es nítida sobre el conjunto de matrices simétricas positivas definidas con el número de condiciónκ. En otras palabras, sin saber nada más acerca deAque su número de condición, CG realmente puede tomar(κ-1)/ /(κ+1)κUNA iteraciones para converger. Hablando en términos generales, el límite superior se alcanza si los valores propios deAse distribuyen uniformemente (es decir, "salpicado") dentro de un intervalo de condición númeroκ.κUNAκ

Aquí hay una declaración más rigurosa. Las versiones deterministas están más involucradas pero funcionan usando los mismos principios.

Teorema (elección del peor caso de ). Elija cualquier matriz ortogonal aleatoria U , deje λ 1 , ... , λ n ser n números reales muestreados uniformemente del intervalo real [ 1 , κ ] , y deje b = [ b 1 ; ... ; b n ] be n números reales muestreados en el gaussiano estándar. Defina A = U d i a g ( λ 1 ,UNAUλ1,...,λnortenorte[1,κ]si=[si1;...;sinorte]norteLuego, en el límite n , gradientes de conjugado convergencia con probabilidad uno a un ε solución precisa de A x = b en no menos de Ω (

UNA=Ureyounasol(λ1,...,λnorte)UT.
norteϵUNAX=siiteraciones.Ω(κIniciar sesiónϵ-1)

Prueba. La prueba estándar se basa en aproximaciones polinómicas óptimas de Chebyshev, utilizando técnicas que se encuentran en varios lugares, como el libro de Greenbaum o el libro de Saad .

Richard Zhang
fuente
1
El límite no es nítido, como explica la respuesta más adelante, si los valores propios no están distribuidos uniformemente, cg converge más rápido, ya que no es una iteración estacionaria. Por lo tanto, necesitamos saber más sobre la matriz.
Guido Kanschat
@GuidoKanschat: Buen punto, y he arreglado la declaración para aclarar que la nitidez se alcanza sobre todo con la condición κ . Aκ
Richard Zhang
p(A)kp(0)=1. En el límite establecido, Λ ( A ) [ 1 , κ ] , y la solución para el problema minimax es entonces el polinomio de Chebyshev, cuyo error converge comominpmaxλΛ(A)|p(λ)|Λ(A)[1,κ]κ
Richard Zhang
0

Tomando esto como mi pregunta original: ¿Sabemos si existe un RHS y una suposición inicial (desafortunada) que requerirá pasos?Θ(κ)

La respuesta a la pregunta es "no". La idea de esta respuesta proviene del comentario de Guido Kanschat.

Reclamación: Para cualquier número de condición dado , existe una matriz A , con ese número de condición para la cual el algoritmo CG terminará en la mayoría de los dos pasos (para cualquier RHS dado y suposición inicial).kUNA

Considere donde A = d i a g ( 1 , κ , κ , ... , κ ) . Entonces el número de condición de A es κ . Sea b R n el RHS, y denote los valores propios de A como λ i donde λ i = { 1 i = 1 κ i 1 .UNARnorte×norteUNA=reyounasol(1,κ,κ,...,κ)UNAκsiRnorteUNAλyo

λyo={1yo=1κyo1.

X(0 0)RnorteX(2)RnorteUNA-1siX(2)=UNA-1siX(2)-UNA-1si,UNA(X(2)-UNA-1si)=0 0

X(2)-UNA-1si,UNA(X(2)-UNA-1si)=X(2)-UNA-1siUNA2=minpagspagsoly1(pags(UNA)-UNA-1)siUNA2=minpagspagsoly1yo=1norte(pags(λyo)-λyo-1)2λyosiyo2yo=1norte(pags^(λyo)-λyo-1)2λyosiyo2=0 0

pags^pags^(X)=(1+κ-X)/ /κX(0 0)=0 0

X(0 0)0 0X(2)=X(2)¯+X(0 0)X(2)¯sisi¯=si-UNAX(0 0)

Fred
fuente
¿Cuánto de esto es robusto a la aritmética de precisión finita?
origimbo
@origimbo Si su pregunta me fue dirigida, la respuesta es: "No sé".
Fred