1 Métodos iterativos de proyección A. J. Zozaya Marzo 2014 I. I NTRODUCCIÓN En los métodos iterativos de proyección se definen dos sub-espacios, el sub-espacio W, denominado subespacio de restricciones (o sub-espacio izquierdo, o sub-espacio de prueba) y el sub-espacio V, denominado sub-espacio de soluciones aproximadas candidatas, o sub-espacio de búsqueda. Ambos sub-espacios (m dimensionales) son un sub-conjunto de n (m < n) (V ⊂ n , W ⊂ n ), siendo n el orden de la Matriz A (A es una matriz no singular n × n). De esta forma, se definen las matrices n × m: W = [w1 , w2 , . . . , wm ] y V = [v1 , v2 , . . . , vm ], cuyos vectores columnas constituyen sendas bases de los sub-espacios W y V, respectivamente. Existen dos grandes familias de método de proyección: 1. Métodos ortogonales, cuando W = V. 2. Métodos oblicuos, cuando W 6= V R II. R R I DEA CENTRAL DE LOS MÉTODOS ITERATIVOS DE PROYECCIÓN = b − Ax̂ ⊥ W (1) = b − A(x̂0 + δ) ⊥ W (2) = r0 − Aδ ⊥ W (3) donde se ha introducido el residuo inicial r0 = b − Ax̂0 . En resumen: xj+1 = W (rj+1 − Aδ) = H δ = Vy = y1 v1 + y2 v2 + . . . + ym vm Como la determinación de y se supedita a la condición expresada en la Ec. (5), ésta puede ser usada para el propio fin: WH [b − A(x̂0 + δ)] = 0 W [b − A(x̂0 + Vy)] = 0 H Los métodos iterativos de proyección se basan en la idea de encontrar una solución aproximada x̂ (x̂ ∈ V) del sistema Ax = b mediante un mecanismo iterativo en el que a cada iteración se procura minimizar la proyección (ortogonal) del residuo r = b − Ax̂ sobre W, esto es b − Ax̂ ⊥ W. Al iniciar las iteraciones se ha de suponer un valor inicial x̂0 para x̂. Esta solución inicial se encuentra en el sub espacio (afín) x̂0 +V. Mientras se persigue el objetivo de minimizar el residuo r, a cada iteración, se actualiza la estimación de x (x̂): x̂j+1 = x̂j + δ, donde el vector δ pertenece al sub-espacio de búsqueda V. Nuestro problema consiste pues en encontrar una aproximación x̂ (denominada estimación) de x, x̂ ∈ x̂0 + V, tal que r La convergencia se logra cuando el residuo r alcanza un valor pequeño «aceptable», esto es: cuando rj < ǫ, lo cual debe ocurrir para j 6 m. Un aspecto clave del método es la determinación de la actualización δ. Evidentemente la actualización δ, por pertenecer al sub-espacio de búsqueda V (δ ∈ V), se podrá escribir de la forma: δ = Vy, donde y es un vector m × 1 cuyos elementos se corresponden con los coeficientes de los vectores columnas de V cuya combinación forma el vector de actualización δ: xj + δ, δ ∈ V (4) 0 (5) donde el superíndice H indica transponer y conjugar, y rj = rj−1 − δ es el residuo j-ésimo. (7) W AVy = W (b − Ax̂0 ) (8) W AVy = W r0 (9) H H y = III. (6) A LGORITMO H H −1 (W AV) H W r0 H (10) PROTOTIPO El algoritmo genérico de solución aproximada del sistema Ax = b implica los siguientes pasos: 1. El algoritmo se alimenta inicialmente con: la matriz A del sistema, el vector b de valores conocidos y el valor máximo del residuo deseado ǫ. Al inicio han de definirse también las matrices W y V. En los métodos ortogonales, estas matrices se van construyendo a cada iteración. 2. Se establece un valor inicial x̂0 como solución aproximada de x. Se suele poner x̂0 = b. Si coincidencialmente b fuera un autovector de A se habría hallado la solución en un solo paso. 3. Se procede a calcular el residuo inicial r0 = b−Ax̂0 . Recordemos que el residuo r0 es igual a r0 = Ae0 , donde e0 = x − x̂0 , siendo x la solución del sistema Ax = b. La matriz A, en general, mapea cada vector del sub-espacio de soluciones aproximadas candidatas a un sub-espacio distinto (el sub-espacio generado por los vectores columnas de A), esto es: V 6= AV. Esto es así porque m es distinto de n (en efecto m ha de ser m ≪ n). 2 4. Se compara el valor de r0 con ε, y si r0 > ε, el algoritmo prosigue como se indica en los pasos subsiguientes. 5. Se actualiza el valor de la estimación de x: x̂1 = x̂0 + δ, poniendo δ = Vy, donde y es un vector que se ha de calcular de modo que WH r = 0. Nótese que δ = Vy consiste en una combinación lineal de los vectores columnas de V mediante los elementos de y, y qué y en principio se desconoce y su valor es una de las metas del algoritmo en la iteración actual: WH [b − A(x̂0 + δ)] = 0 W [b − A(x̂0 + Vy)] = 0 H (11) (12) W AVy = W (b − Ax̂0 ) (13) W AVy = W r0 (14) H H y = H H −1 (W AV) W r0 (15) H H De esta forma: x = x̂0 + V(WH AV)−1 WH r0 (16) 6. El algoritmo genérico establece que a cada iteración, en general, se defina un par nuevo de subespacios de búsqueda y de restricciones, y que el último valor de x̂ sea utilizado como nuevo valor inicial x0 . S AAD [1][2] lo escribe en pseudocódigo de la manera siguiente: a) Dado x(0) y k = 0, 1, 2, . . ., hasta lograr la convergencia realizar: b) Seleccionar un par de sub-espacios V y W c) Escoger las bases V y W de tales sub-espacios: V = [v1 , v2 , . . . vm ] y W = [w1 , w2 , . . . , wm ] d) r(k) := b − Ax(k) e) y(k) := (W H AV)−1 W −1 r(k) f ) x(k+1) := x(k) + Vy(k) g) fin R EFERENCIAS [1] Yousef Saad. Iterative Methods for Sparse Linear Systems. SIAM, Society for Industrial and Applied Mathematics, 2003. [2] Fredrik Bengzon. Iterative methods for sparse linear systems matrix computations and applications, lecture c12. Technical report, Department of Mathematics, Umea University, 2007.