Precondicionamiento Polinomial para el Método del Gradiente Conjugado

Page 1


COMITÉ EDITORIAL COMITÉ DE EDITORIAL Raúl Sánchez Padilla Dr. Ingeniería Civil y Arquitectura Gerente General Desarrollos en Ingeniería Aplicada Presidente Comité Editorial Judith Ceja Hernández Ing. Industrial. Gerente de Gestión 3R's de México Vicepresidenta Comité Editorial Juan Manuel Negrete Naranjo Dr. en Filosofía Universidad de Freiburg i Br. Francisco J. Hidalgo Trujillo Dr. en Ingeniería Industrial Universitat Politécnica de Catalunya – FUNIBER Director Sede México Fundación Universitaria Iberoamericana David Vivas Agrafojo Mtro. en Educación Ambiental Universitat de Valencia - Responsable IMEDES Andalucía Antonio Olguín Reza Mtro. Desarrollo de Negocios Jabil Circuit Oscar Alberto Galindo Ríos Mtro. en Ingeniería Mecánica Eléctrica Secretario de la Asociación Mexicana de Energía Eólica Amalia Vahí Serrano Dra. en Geografía e Historia Universidad Internacional de Andalucía Universidad "Pablo Olavide" Ricardo Bérriz Valle Dr. en Sociología Coordinador de Proyecto Regional de Ciudadanía Ambiental Global

Manuel Arellano Castañeda Lic. en Informática Gerente Tecnologías de Información y Comunicación 3r's de México Erika Uscanga Noguerola Mtra. en Educación Coordinadora de Gestión Ambiental Centro Universitario Hispano Mexicano Maria Fernanda Corona Salazar Maestra Psicóloga en Constelaciones Familiares Dirección de Orientación Educativa Manuel Herrerías Rul Dr. en Derecho Herrerías y Asociados Raúl Vargas Ph.D. Mechanical Engineering College Of Engineering And Computer Science Florida Atlantic University Mtra. Lorena Casanova Pérez Manejo Sustentable de Recursos Naturales Universidad Tecnológica de la Huasteca Hidalguense. Hidalgo, México Mtro. Sérvulo Anzola Rojas Director de Liderazgo Emprendedor División de Administración y Finanzas Tecnológico de Monterrey, Campus Monterrey. Monterrey, México María Leticia Meseguer Santamaría Doctora Europea en Gestión Socio-Sanitaria Especialista en Análisis socio-económico de la situación de las personas con discapacidad. Universidad de Castilla-La Mancha, España. Red RIDES Red INERTE

Manuel Vargas Vargas Doctor en Economía Especialista en Economía Cuantitativa. Universidad de Castilla-La Mancha, España Red RIDES Red INERTE

COMITÉ DE ARBITRAJE INTERNACIONAL David Vivas Agrafojo Mtro. en Educación Ambiental Universitat de Valencia - Responsable IMEDES Andalucía Juan Manuel Negrete Naranjo Dr. en Filosofía Universidad de Freiburg i Br., Alemania Delia Martínez Vázquez Maestra Psicologa en Desarrollo Humano y Acompañamiento de Grupos. Universidad de Valencia Erika Uscanga Noguerola Mtra. en Educación Coordinadora de Gestión Ambiental. Centro Universitario Hispano Mexicano Bill Hanson Dr. Ingeniería en Ciencias National Center for Enviromental Innovation. US Enviromental Protection Agency Ph.D. María M. Larrondo-Petrie Directora Ejecutiva del Latin American And Caribbean Consortium Of Engineering Institutions "LACCEI" María Leticia Meseguer Santamaría Doctora Europea en Gestión Socio-Sanitaria Especialista en Análisis socio-económico de la situación de las personas con discapacidad. Universidad de Castilla-La Mancha, España. Red RIDES Red INERTE Manuel Vargas Vargas Doctor en Economía Especialista en Economía Cuantitativa. Universidad de Castilla-La Mancha, España Red RIDES Red INERT


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

PRECONDICIONAMIENTO POLINOMIAL PARA EL MÉTODO DEL GRADIENTE CONJUGADO Arriaga Gutiérrez, Ma. Merced (e-mail: mercedarriaga@hotmail.com) Olmos Gómez, Miguel Angel (e-mail: miguel.olmos@cucei.udg.mx) de la Cruz García , Elba Lilia (e-mail: elba_lilia@hotmail.com) Departamento de Matemáticas, Universidad de Guadalajara –mate.cucei.udg.mx

I. Resumen El precondicionamiento es una técnica usada para acelerar los métodos iterativos para la solución de sistemas de ecuaciones lineales. Trabajaremos con el precondicionamiento polinomial aplicado al método del gradiente conjugado. En este trabajo establecemos cómo debe ser calculado el polinomio con base en los autovalores de la matriz a considerar. Dado que en la construcción del polinomio intervienen los autovalores de la matriz que define al sistema, lo cual puede resultar costoso, mostraremos una técnica para aplicarla en la construcción de dicho polinomio en la cual se requiere muy poca información acerca de la matriz considerada ya que esta es simétrica y definida positiva. Palabras Clave: Precondicionamiento Polinomial, Gradiente Conjugado, Ecuaciones Diferenciales Parciales Abstract Preconditioning is a common technique used for accelerating iterative methods for the solution of linear systems of equations. We will work with the polynomial preconditioning applied to the gradient method. In this paper we will show how to compute the polynomial based on the eigenvalues of the matrix. Given that in the construction of the polynomial we consider the eigenvalues of the original matrix, which is very expensive in time machine for computing, we show a new technique for constructing the polynomial, which requires few information from the original matrix given that the matrix is symmetric an positive definite. Keywords: Polynomial Preconditioning, Conjugated Gradient, Partial Differential Equation

II. Introducción En este artículo consideraremos una clase de métodos iterativos para resolver sistemas lineales de ecuaciones en los que la matriz es simétrica y definida positiva. Aunque nuestro principal interés es la aplicación de esos métodos a la solución de esquemas en diferencias para ecuaciones elípticas, estos métodos pueden aplicarse a cualquier sistema simétrico y definido positivo. El método de Gauss y sus variantes son conocidos como Métodos Directos para resolver el sistema Ax = b . Se ejecutan a través de un número finito de pasos y generan una solución x que sería exacta si no fuera por los errores de redondeo. www.auge21.net

3


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

En contraste, un Método Indirecto da lugar a una sucesión de vectores que idealmente convergen a la solución. El cálculo se detiene cuando se cuenta con una solución aproximada con cierto grado de precisión especificado de antemano o después de cierto número de iteraciones. Los métodos indirectos son casi siempre iterativos por naturaleza: para obtener la solución mencionada se utiliza repetidamente un proceso sencillo. Para sistemas lineales grandes, con miles de ecuaciones, los métodos iterativos con frecuencia muestran ventajas decisivas con respecto a los métodos directos, en cuanto a velocidad y requerimientos de la memoria de la computadora. En ocasiones si los requerimientos sobre la precisión no son muy fuertes, bastará con un número modesto de iteraciones para obtener una solución aceptable. Para sistemas ralos (en los cuales una proporción grande de las entradas de A son ceros) los métodos iterativos son con frecuencia muy eficientes. En problemas ralos, los elementos distintos de cero de A se almacenan algunas veces en un formato de almacenamiento ralo, mientras que en otros casos, ¡no es en absoluto necesario almacenar A ! Esta última situación ocurre con frecuencia en la solución numérica de ecuaciones diferenciales. En este caso se puede generar cada fila de A conforme sea necesario, pero no se retiene después de usarse. Otra ventaja de los métodos iterativos es que usualmente son estables y de hecho amortiguan errores (debidos al redondeo o a errores pequeños) conforme el proceso se lleva a cabo. Comenzaremos hablando del método del máximo descenso, para luego continuar con una discusión sobre el método del gradiente conjugado, el cual es considerado como una aceleración del método de máximo descenso. Seguido de esto, una breve discusión acerca de los precondicionadores para el método del gradiente conjugado, en particular una propuesta para la determinación del polinomio precondicionador y por último una comparación entre tres diferentes precondicionamientos. Existen muchas variaciones del método del gradiente conjugado que no serán discutidas aquí. Una referencia de eso tópicos adicionales se encuentra en el libro de Hageman y Young [4]

III. El Método de Máximo Descenso y el Método del Gradiente Conjugado En está sección consideraremos dos tipos de métodos indirectos. Estos son el método de máximo descenso (MMD) y el método del gradiente conjugado (MGC). Para esto consideremos el sistema de ecuaciones lineales

Ax = b

(1)

donde A en una matriz simétrica y definida positiva de orden K .

www.auge21.net

4


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

III.1. El Método de Máximo Descenso El método de Máximo Descenso (MMD) está dado por las siguientes formulas: Dado un vector inicial x (0) calcular

x (k +1) = x (k ) + α k r (k )

(2)

r (k +1) = r (k ) − α k Ar (k )

(3)

αk =

r (k )

2

(r ( ), Ar ( ) ). k

k

(4)

El MMD es detenido cuando rk es suficientemente pequeño Para poder implementar este método, sólo necesitamos multiplicar una matriz por un vector en cada paso; también no es necesario guardar la matriz A Con frecuencia A es bastante rala, como en la solución de los sistemas elípticos, y lo único que necesitamos es un medio para generar Ar dado r . Aunque para el MMD se requiere que la matriz A sea simétrica y definida positiva, podemos aplicar el algoritmo (2)-(4) en caso de que A no sea simétrica. El siguiente teorema da las condiciones bajo las cuales el método convergerá. Teorema 1. Si A es una matriz definida positiva para la cual A T A −1 es también definida positiva, entonces el algoritmo dado por (2)-(4) converge a la única solución de (1) para cualquier valor de x ( 0 ) usado para la iteración inicial Demostración: ver [9] Corolario 1. Si la matriz A es simétrica y definida positiva, entonces el MMD converge. El MMD resulta con frecuencia ser bastante lento y esto usualmente ocurre por la oscilación de los residuales. Esto es debido a la forma que adopten las curvas de nivel definidas por la forma cuadrática E ( y ) = 12 ( y, Ay ) − ( y, b ) , las cuales a su vez dependen de los autovalores de la matriz A [6]. Una de las formas para acelerarlo está dada por el MGC.

www.auge21.net

5


Auge21: Revista Científica Multidisciplinaria

III.2.

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

El Método del Gradiente Conjugado

El MGC puede ser visto como una aceleración del MMD. El algoritmo para el MGC esta dado por: Dado x

( 0)

calcular

r (0 ) = b − Ax (0 )

(5)

p (0 ) = r (0 )

(6)

x (k +1) = x (k ) + α k p (k )

(7)

r (k +1) = r (k ) − α k Ap (k )

(8)

p (k +1) = r (k +1) + β k p (k )

(9)

αk =

r (k )

( p( ), Ap( ) ) k

r (k +1)

βk =

r El MGC es detenido cuando α k p (k ) o r (k )

2

(k )

k

(10)

2

.

2

(11)

es suficientemente pequeño. Para muchos sistemas esas

dos cantidades son buenos indicadores de cómo cada iteración x (k ) va convergiendo a la solución verdadera. Como ocurre con los métodos lineales, i.e., SOR, el método debe ser continuado hasta que el error en la iteración sea semejante al error de truncación asignado al método numérico. No existe razón alguna para resolver un sistema lineal exactamente cuando existe un error de truncación intrínseco debido al uso de un método en diferencias finitas. Concluiremos esta sección con una observación acerca del MGC: de las formulas (5)-(11) vemos que si β k es pequeño, esto es, si r (k +1) es mucho menor que r (k ) , entonces p (k +1) es esencialmente r (k +1) y el MGC se acerca al MMD. A continuación mostramos un resultado interesante y significativo acerca de los residuales y direcciones de búsqueda para el MGC. Teorema 2. Para el MGC (5)-(11) los residuales y las direcciones de búsqueda satisfacen las relaciones

(r ( ) , r ( ) ) = ( p ( ) , Ap ( ) ) = 0 para k ≠ j. k

j

k

j

Demostración: [9]. Del Teorema 2 se desprende el siguiente corolario. www.auge21.net

6


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Corolario 2. Si la matriz A es de dimensión K × K simétrica y definida positiva, entonces el MGC converge en a lo más K pasos. Frecuentemente este resultado no es de importancia práctica, dado que para una ecuación diferencial elíptica en un cuadrado, i.e., el Laplaciano de cinco puntos con una malla igualmente espaciada con 2 h = 1 / n, el vector solución tiene dimensión K = (n − 1) . Sin embargo, resulta que con frecuencia el MGC es esencialmente convergente en poco menos de K pasos.

III.3.

Estimadores Sobre la Convergencia del Método del Gradiente Conjugado

El corolario 2 muestra que el MGC convergerá en a lo más K pasos si la matriz A es de dimensión K × K . Ahora damos un estimador sobre el radio de convergencia del método que muestra que es posible hacer converger al método después de poco menos de K pasos. Teorema 3. Si A es una matriz simétrica y definida positiva, cuyos autovalores pertenecen al intervalo [a, b] con 0 < a, , entonces el vector de error e (k ) = x − x (k ) para el MGC satisface

(e

(k )

, Ae

(k )

)

1/ 2

k

 b − a  (0 )  e , Ae (0 ) ≤ 2   b+ a

(

)

1/ 2

.

(12)

Demostración: Ver [9]. El teorema 3 muestra que el MGC converge más rápido cuando los autovalores de la matriz A están concentrados, en el sentido de que a / b esté cercano a 1. Si rescribimos (12) sustituyendo en la parte derecha el número de condición κ 2 ( A), obtenemos

(e

(k )

, Ae

(k )

)

1/ 2

 κ ( A) − 1  (0 )  e , Ae (0 ) ≤ 2 2  κ ( A) + 1   2  k

(

)

1/ 2

.

(13)

Notemos también que tanto el estimador (12) así como el (13) no dependen del escalamiento de la matriz A , es decir, en ambos el estimador es el mismo para Ax = b y αAx = αb para cualquier valor positivo de α .

IV.

Precondicionadores para el Método del Gradiente Conjugado

Una técnica que da como resultado una mayor aceleración en la convergencia del MGC es el MGC precondicionado. Primero discutiremos este método de manera un tanto general y entonces examinaremos el caso del precondicionamiento incompleto de Cholesky, precondicionalización con SSOR y precondicionalización polinomial. www.auge21.net

7


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

La idea básica del MGC precondicionado es reemplazar el sistema

Ax = b por

(

)

B −1 AB −T B T x = B −1b donde B −1 AB −T es una matriz para la cual el MGC converge más rápido de como lo hace para A misma. La matriz B se elige de forma tal que una vez calculadas B −T y y B −1 y, resulten sencillas las operaciones que se tengan que realizar con ésta matrices. Deseamos tener autovalores de B −1 AB −T lo más cerca posible entre ellos que los de la matriz A . Dado que A es simétrica y definida positiva, existe una matriz C tal que A = CC T , y se pretende que B sea elegida lo más cercana a la matriz C en cierto sentido. Notemos que B −1 AB −T es simétrica y definida positiva cuando A lo es. Veamos también que B sólo necesita ser una aproximación a un múltiplo de C dado que deseamos que B −1 AB −T sea cercana a un múltiplo de la matriz identidad más que de A misma. Consideremos ahora el MGC aplicado a

~ =~ A~ x b donde

~ ~ A = B −1 AB −T , ~ x = B T x, b = B −1b. Tenemos las fórmulas para el MGC

r (0 ) = b − Ax (0 ) p (0 ) = r (0 ) x (k +1) = x (k ) + α k p (k ) r (k +1) = r (k ) − α k Ap (k ) p (k +1) = r (k +1) + β k p (k )

αk = βk =

www.auge21.net

r (k )

2

( p ( ) , Ap ( ) ) k

r (k +1) r (k )

k

2

2

8


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Las variables x (k +1) , r (k +1) y p (k +1) pueden ser escritas como

~ p (k ) x (k ) + α k ~ x (k +1) = ~ ~~ ~ p (k ) r (k +1) = ~ r (k ) − α k A ~ p (k ) p (k +1) = ~ r (k +1) + β ~

(14)

k

2 2 ~ ~ r (k ) r (k +1) donde α k = (k ) ~ (k ) y β k = . ~ (k ) 2 p , A~ p ~ r

(

)

Ahora rescribamos (14) en términos de las variables originales

x . Usando

x ( k ) = B −T ~ x (k ) ,

r (k ) , , tenemos p ( k ) = B −T ~ p (k ) y r (k ) = B~ x (k +1) = x (k ) + α k p (k ) r (k +1) = r (k ) − α k Ap (k ) p (k +1) = M −1r (k +1) + β k p (k ) donde M = BB T y

αk =

(r ( ) , M r ( ) ) , β = (r ( ) , M ( p ( ) , Ap ( ) ) (r ( ) , M −1

k

k

k +1

k

k

k

k

r (k +1) −1 ( k ) r

−1

)

)

Vemos que el efecto del precondicionador es alterar la ecuación para actualizar la dirección de búsqueda del vector p (k +1) y alterar los valores de α k y β k . Para que el método sea efectivo, debe ser posible la solución fácil de

r = Mz = BBT z para z. Por otra parte, tenemos que el radio de convergencia del MGC precondicionado está acotado por el siguiente teorema.

www.auge21.net

9


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Teorema 4. El error en la k -ésima iteración del MGC precondicionado está acotado por la relación k

 δ −1  x − x0 A , x − xk A ≤ 2 + 1 δ   donde

δ = κ (M −1 A) y

κ (Z ) = Z 2 Z −1 2 Demostración: Ver [2].

IV.1

Precondicionador incompleto de Cholesky

Una de las más importantes estrategias de precondicionalización requiere calcular la factorización incompleta de Cholesky de la matriz A La idea detrás de esto es calcular una aproximación a una matriz triangular inferior que llamaremos H , con la propiedad de que H de alguna manera tenga una estructura rala pero manejable y ''cercana'' al factor G de Cholesky de la matriz A Este precondicionador se toma como M = HH T . . Para darnos una idea de cómo se lleva a cabo esta elección, consideremos lo siguiente: •

Existe una única matriz C simétrica y definida positiva tal que M = C 2 .

Existe una matriz Q ortogonal tal que C = QH T , , i.e., H T es la matriz triangular superior de la factorización QR de C .

De lo anterior por lo tanto obtenemos:

~ = C −1 AC −1 = C −T AC −1 A

(

= HQ T

) A(QH ) −1

T −1

(

)

= Q H −1GG T H −T Q T ≈ I

Así que, mientras H mejor aproxime a G , el número de condición de A será más cercano a 1 y se tendrá un mejor desempeño del algoritmo. Una manera sencilla pero eficiente de determinar la matriz H que aproxima a la matriz G es a través de la reducción de Cholesky haciendo hij = 0 si aij = 0 . Esto se puede lograr implementando el algoritmo correspondiente de Cholesky. En la práctica, la matriz A y su factor incompleto de Cholesky H son guardados en una estructura apropiada al ser aplicado dicho algoritmo.

www.auge21.net

10


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Desafortunadamente, este algoritmo no siempre resulta ser estable. Tipos de matrices para las cuales la descomposición incompleta de Cholesky es estable, son definidas en Manteuffel [8] y Elman [3].

IV.2.

Precondicionamiento con SSOR

Ahora consideremos SSOR y veamos como puede ser usado como un precondicionador para el MGC. Asumamos que A puede ser escrita en la forma

A = I − L − LT . Notemos que la matriz A definida por el esquema − vi +1, j − vi −1, j − vi , j +1 − vi , j −1 + 4vi , j = − h 2 f i , j es de la

(

)

forma 4 I − L − LT , pero el múltiplo escalar no afecta las conclusiones. SSOR es un proceso de doble paso dado por

(

v (k +1 / 2 ) = v (k ) + ω Lv (k +1 / 2 ) + LT v (k ) − v (k ) + b

(

)

)

(15)

v (k +1) = v (k +1 / 2 ) + ω Lv (k +1 / 2 ) + LT v (k +1) − v (k +1 / 2 ) + b .

(

)

Ahora rescribamos esto en la forma M v (k +1) − v (k ) = r (k ). Notemos que podemos expresar v (k +1) − v (k ) como una función lineal de r en esta forma porque la construcción de v (k +1) es lineal y si r (k ) fuera cero, entonces la actualización v (k +1) − v (k ) podría también ser cero. Sólo nos resta determinar la matriz ~B ~T . M y si tiene la forma B (k )

Rescribamos el primer paso como

(

)

(

v (k +1) − v (k ) − ωL v (k +1 / 2 ) − v (k ) = ω Lv (k ) + LT v (k ) − v (k ) + b

)

(k )

= ωr . Por lo tanto podemos escribir

v (k +1 / 2 ) = v (k ) + (I − ωL ) ωr (k ). −1

(16)

El segundo paso de (15) puede rescribirse como

(I − ωL )v ( T

k +1)

= (I (1 − ω ) + ωL ) v (k +1/ 2 ) + ωb

y sustituyendo de (16) obtenemos

(I − ωL )v ( T

www.auge21.net

k +1)

= [(1 − ω ) I + ωL ]v (k ) + [(1 − ω ) I + ωL ](I − ωL ) ωr k + ωb −1

11


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

o

(I − ωL )(v ( T

k +1)

) (

)

− v (k ) = − ωI + ωL + ωLT v (k ) + ωb + [(1 − ω ) I + ωL ](I − ωL ) ωr (k ) −1

= ωr (k ) + [(1 − ω ) I + ωL ](I − ωL ) ωr (k ) −1

= (I − ωL ) [I − ωL + (1 − ω ) I + ωL ]r (k ) −1

= (I − ωL ) (2 − ω )ωr (k ) . −1

Así obtenemos

(

)(

)

1 (I − ωL ) I − ωLT v (k +1) − v (k ) = r (k ). ω (2 − ω )

(17)

Si comparamos esta última expresión con la identidad

(

)

A v − v (k ) = r (k ) , vemos que SSOR puede ser visto como un método iterativo, el cual aproxima A por la matriz en (17). Dado que la matriz en (17) es de la forma BB T , es natural emplear el método del gradiente conjugado precondicionado con B = (ω (2 − ω ))

−1 / 2

(I − ωL ).

Es importante notar que si vamos a usar SSOR sólo para resolver el problema, debemos usar (15) con reemplazo inmediato. La fórmula (17) es importante cuando se utiliza SSOR como precondicionador. El MGC precondicionado puede ser significativamente más rápido que el MGC. Como podemos ver, sólo se requiere de modificaciones mínimas al MGC para implementar el MGC precondicionado. La elección de ω para el método SSOR precondicionado no es tan crítica como en SSOR mismo [14].

IV.3.

Precondicionador polinomial

Un método obvio para evitar la solución del sistema r = Mz = BB T z es evitar la factorización misma. Esto puede lograrse utilizando un polinomio precondicionador, i.e., una aproximación polinomial a la matriz A−1. Consideraremos aquí la elección más simple, basada en las series de expansión de Neumann, asumiendo que la matriz A es simétrica y definida positiva. Para un tratamiento más detallado acerca de precondicionadores polinomiales y su relación con el método del gradiente conjugado ver [5], [11] y [1]. Para poder definir el precondicionamiento polinomial, consideremos M = A y A = I − G . El sistema r = Mz = BB T z puede ser resuelto por medio de un método iterativo de un paso de la forma

M 1 z (k +1) = N1 z (k ) + r , z0 = 0

www.auge21.net

(18)

12


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

donde M = M 1 − N1 . Si aplicamos este método iterativo (18) sólo p veces tenemos que

z = z ( p)

(

)

= I + G +  + G p−1 M 1−1r donde

G = M 1−1 N1.

(

)

Por lo tanto si definimos M −1 = I + G +  + G p −1 M 1−1 (aproximación polinomial a la inversa de la matriz A ) entonces Mz = r y se puede pensar a la matriz M como un precondicionador. Sin pérdida de generalidad podemos suponer A = I − G polinomial a la inversa de A que satisfaga

(M 1 = I ,

N1 = G ). . Tratemos una aproximación

p

M A = ∑ γ jpG j (I − G ) −1

j =0

 p  =  ∑ γ jpG j  (I − G ),  j =0  de lo que se sigue que p

M −1 = ∑ γ jp G j . j =0

El problema a resolver ahora es el de cómo determinar γ 1 p ,

γ 2 p ,  , γ pp para optimizar la convergencia

del algoritmo. Para esto tenemos p

M −1 A = ∑ γ jp G j (I − G ) j =0

= γ 0 p (I − G ) + γ 1 p G (I − G ) + γ 2 p G 2 (I − G ) +  + γ pp G p (I − G ) = δ 0 p A + δ1 p A2 +  + δ pp A p +1 = Pp ( A) A.

De esto se tiene que

M −1 = Pp ( A)

www.auge21.net

13


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Sabemos que si A es simétrica entonces M −1 A es simétrica y el radio espectral de M −1 A está dado por

ρ (M −1 A) = ρ (Pp ( A) A)

= max λi Pp (λi ) i =1,, n

donde λi son los autovalores de A . Deseamos que el conjunto de autovalores de M −1 A consista sólo del autovalor 1 pero esto no es posible a priori, por lo que se pretende que éstos sean lo más cercanos a 1. Se sabe que los autovalores de M −1 A están dados por Pp (λi ) λi donde λi es un autovalor de A lo que nos da la pauta para determinar M −1 de la siguiente forma: Definamos el sistema

λi Pp (λi ) = 1, i = 1,, n o en forma matricial

B∆ = 1 donde

 λ1  λ B= 2   λn

δ 0 p  1 δ  1 1p   1=   . ∆=             λnp +1  n×( p +1) δ pp  ( p +1)×1 1 n×1

λ12  λ1p +1   λ22  λ2p +1  

λ2n

Este sistema es un sistema sobredeterminado dado que consideramos el caso de que p < n . Este tipo de sistemas no tienen solución única o no tienen solución y por lo tanto buscamos la mejor solución para este sistema en el sentido de minimizar la norma del residual. Para resolverlo consideremos el sistema B T B∆ = B T 1. . Este sistema tiene dimensión ( p + 1) × ( p + 1) con ( p + 1) incógnitas. El problema con esta aproximación es que el sistema resultante es por lo general mal condicionado conforme aumenta p por lo que consideraremos valores de p pequeños. Una vez obtenido el vector ∆ definimos a M −1 como

M −1 = δ 0 p + δ1 p A +  + δ pp A p . Una de las ventajas que destaca el MGC precondicionado con un precondicionador polinomial es la siguiente: un paso del MGC precondicionado polinomial de grado p tiene el mismo límite que los p + 1 pasos del MGC.

www.auge21.net

14


Auge21: Revista Científica Multidisciplinaria

V.

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Resultados Numéricos

Se implementó la solución numérica de la ecuación de onda en una dimensión, la ecuación de Laplace para dos dimensiones con esquemas de cinco y nueve puntos, y también en tres dimensiones y finalmente la ecuación biarmónica. Para efectos prácticos se tomó el vector independiente del sistema resultante con entradas iguales a 1. El criterio de parada para el MGC y los del MGC con diferentes precondicionadores fue que la norma del residual fuese menor que 10 −5 .

V.1.

Ecuación de Onda en una Dimensión

Para iniciar nuestro estudio de la solución numérica de ecuaciones elípticas, consideremos la ecuación 2 de onda en una dimensión en su estado estable ddxu2 + α 2u = f , 0 < x < 1, u (0) = 0, u (1) = 0 . Se tiene que la matriz correspondiente está dada por [13]

− (1 + δ )  2  − (1 + δ )   2  A=    − (1 + δ )   − (1 + δ ) 2  (n−1)×(n−1)  donde δ = α 2h , h = 2 2

1 n

y los autovalores de la matriz A dados en [9,10] son:

  kπ  µ k = 21 − (1 + δ )cos , k = 1, 2,, n − 1.  n   Para que los autovalores de esta matriz sean todos positivos se requiere que 1 − (1 + δ ) cos( inπ ) > 0, esto

( ) − 1 > δ , i = 1, 2,, n − 1. Esto último establece una condición sobre α . Además tenemos que el número de condición para esta matriz está dado por la expresión es,

1 cos πn

κ ( A) =

µ n −1 . µ1

La ecuación de onda en una dimensión fue resuelta aplicando el MGC sin precondicionar, precondicionamiento incompleto de Cholesky, precondicionamiento con SSOR utilizando el parámetro ω sugerido en [12] y con el precondicionamiento polinomial con diferentes grados de polinomios. Los resultados se muestran en la siguiente tabla donde κ ( A) es el número de condición del sistema original

(

)

y κ M −1 A es el número de condición del sistema precondicionado por el polinomial:

www.auge21.net

15


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Tabla 1. Número de iteraciones para el MGC sin precondicionar, con precondicionamiento incompleto de Cholesky, precondicionamiento con SSOR y precondicionamiento polinomial de grado 9 para la ecuación de onda en una dimensión. Dim A 4 9 14 19 29 39 49

κ ( A) sin prec. Cholesky SSOR

9.47 39.94 90.95 162.93 369.37 665.66 1080.08

2 5 7 10 15 20 25

1 1 1 1 1 1 1

κ (M −1 A)

Pol 6 6 7 8 9

4 5 6 6 6 6 6

3.383 5.731 12.440 21.876 33.952

Dado que la descomposición incompleta de Cholesky para la matriz resulta ser igual que la descomposición de Cholesky, se tiene que la convergencia debe darse en un solo paso como lo muestran los resultados dados en la tabla 1. En este caso también se puede observar que el precondicionamiento polinomial resulta ser menos eficiente que el precondicionamiento por SSOR. Cabe destacar la gran reducción del número de condición del sistema precondicionado con respecto al sistema original. El problema con el precondicionamiento polinomial estriba en determinar el grado óptimo del polinomio a considerar ya que mientras menor sea el grado se tiene mayor número de iteraciones para que el algoritmo converja. Resultados numéricos muestran que para valores grandes del número de nodos n + 1 en cada eje de la malla ( n > 10 ) el grado del polinomio puede ser tomado como 9, dando como resultado una convergencia relativamente rápida como se muestra en la siguiente tabla: Tabla 2. Número de iteraciones para la ecuación de onda en una dimensión de acuerdo al número de nodos n + 1 y grado del polinomio precondicionador.

n \ grado del polinomio 15 20 30 40 50

V.2.

5

6

7

8

9 10 11

6 8 9 11 12

6 7 8 10 11

6 6 8 9 11

6 6 8 9 10

6 6 7 8 9

6 6 7 8 9

5 7 7 9

Esquemas en Diferencias para la Ecuación de Poisson V.2.1. Esquema de 5 puntos para dos dimensiones

Consideremos

esquema de cinco puntos para la ecuación de ∇ u = f ∈ Ω = (0,1) u ( x, y ) = 0 en ∂Ω . La matriz correspondiente A , dada en [9,10], es: 2

www.auge21.net

ahora

el

Poisson

2

16


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

S + 2I  −I A=   

−I 

 −I

Año 8 / No. I / Enero – Junio / 2013

   −I   S + 2 I  (n−1)2 ×(n−1)2

donde cada bloque es una matriz de (n − 1)× (n − 1) y

 2 −1  − 1      S= .    − 1   − 1 2 (n −1)×(n −1)  Tenemos que los autovalores de A son determinados en [9] por

  jπ   iπ   µ j +(n−1)×(i−1) = 4sen 2  + sen 2 , i, j = 1,, n − 1 2n 2n 



y su número de condición puede ser encontrado aplicando la fórmula

κ ( A) =

µ(n −1) µ1

2

.

Las tablas 3 y 4 muestran los resultados obtenidos para la ecuación de Laplace con el esquema de cinco puntos. En estas se pueden observar que el precondicionador polinomial tiene un mejor desempeño en comparación a los otros precondicionadores. Tabla 3. Número de iteraciones para el MGC sin precondicionar, con precondicionamiento incompleto de Cholesky, precondicionamiento con SSOR y precondicionamiento polinomial de grado 10 para la ecuación de Laplace con un esquema de cinco puntos.

(

Dim. de A κ ( A) sin prec. Cholesky SSOR Pol κ M −1 A 16 9.472 3 6 6 81 39.858 13 10 9 5 3.404 196 90.533 23 13 11 7 6.767 361 161.601 32 16 13 9 12.011 576 252.968 40 19 14 10 17.027 841 364.296 49 22 16 12 24.862

www.auge21.net

)

17


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Tabla 4. Número de iteraciones para la ecuación de Laplace con un esquema de cinco puntos de acuerdo al número de nodos n + 1 y grado del polinomio precondicionador. n \ grado del polinomio 8 9 10 11 12 5 3 - - - 10 6 6 5 5 5 15 8 7 7 7 6 20 10 9 9 9 8 25 12 11 10 - 30 15 13 12 12 12

V.2.2. Esquema de 9 puntos para dos dimensiones Para el esquema de nueve puntos de la ecuación de Poisson, la matriz A está dada en [9,10] por

 P Q  Q P    con P y Q definidas como A=    Q   Q P  ( n−1)2×( n−1)2   10 / 3 − 2 / 3  P=    − 2 / 3 −1/ 6  Q=   

− 2/3   10 / 3 − 2 / 3   ,     − 2 / 3 10 / 3 − 2 / 3 − 2 / 3 10 / 3  ( n−1)×( n−1) −1/ 6   − 2 / 3 −1/ 6   .     −1/ 6 − 2 / 3 −1/ 6 − 1 / 6 − 2 / 3 ( n−1)×( n−1)

Los autovalores de la matriz A son:

µ j +(n−1)×(i −1) =

10 4  jπ  2  iπ − cos  − cos 3 3  n  3  n

  jπ    2 + cos , i, j = 1,, n − 1   n 

y su número de condición es obtenido utilizando la fórmula

κ ( A) =

µ(n −1) µ1

2

.

Para la ecuación de Laplace bajo el esquema de nueve puntos observamos resultados similares en las www.auge21.net

18


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

tablas 5 y 6 a los presentados para el esquema de cinco puntos.

Tabla 5. Número de iteraciones para el MGC sin precondicionar, con precondicionamiento incompleto de Cholesky, precondicionamiento con SSOR y precondicionamiento polinomial de grado 9 para la ecuación de Laplace con un esquema de nueve puntos.

(

−1 Dim. de A κ ( A) Sin prec. Cholesky SSOR Pol κ M A 16 6.83 3 4 5 81 27.11 13 7 9 5 2.478 196 60.89 23 9 11 6 4.700 361 108.28 32 12 12 7 7.861 576 168.97 33 14 14 9 11.903 841 243.19 49 17 15 10 16.854

)

Tabla 6. Número de iteraciones para la ecuación de Laplace con un esquema de nueve puntos de acuerdo al número de nodos n + 1 y grado del polinomio precondicionador. n \ grado del polinomio 6 7 8 9 10 5 3 3 3 3 10 6 5 5 5 5 15 8 7 6 6 6 20 10 9 8 7 7 25 12 11 10 9 8 30 14 12 11 10 10

V.3.

Esquema para la Ecuación de Poisson en 3 dimensiones

Considerando ahora a la ecuación de Poisson en tres dimensiones

∇ 2u = f ∈ Ω = (0,1) 3 u ( x, y, z ) = 0 en ∂Ω

www.auge21.net

19


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

definamos las matrices A1 , A2 y A3 de la siguiente forma:

S      A1 =       

S  S  S

  2 I − I  − I     0 −I   , A =  2      S       S  (n −1)3 ×(n −1)3

 2I     2I − I  A3 =    −I     

−I

0 −I 2I 

2I − I −I  −I 0

     0   − I  2 I  (n−1)3×(n−1)3

     −I     ,        (n−1)3×(n−1)3

tenemos que la matriz correspondiente a la ecuación de Poisson en tres dimensiones está dada en [9] por

A = A1 + A2 + A3 Los autovalores para esta matriz son:

 iπ  2  jπ  2  kπ    + sen   + sen  , i, j , k = 1,, n − 1  2n   2n   2n  

µ (i +(n−1)×( j −1)+(n−1) ×(k −1)) = 4 sen 2  2

y su número de condición se puede determinar por la siguiente fórmula

κ ( A) =

µ(n −1)

3

µ1

.

Para la ecuación de Laplace en tres dimensiones, observamos en las tablas 7 y 8 que el precondicionador polinomial efectúa un menor número de iteraciones para converger y que el número de condición del sistema precondicionado se reduce notablemente.

www.auge21.net

20


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Tabla 7. Número de iteraciones para el MGC sin precondicionar, con precondicionamiento incompleto de Cholesky, precondicionamiento con SSOR y precondicionamiento polinomial de grado 9 para la ecuación de Laplace en tres dimensiones. Dim. de A κ ( A) sin prec. Cholesky 8 3.00 3 4 125 13.19 7 7 512 32.16 17 10 1331 57.70 25 13

SSOR 3 8 11 13

(

Pol κ M −1 A 4 2.888 7 5.284 9 8.832

)

Tabla 8. Número de iteraciones para la ecuación de Laplace en tres dimensiones de acuerdo al número de nodos n + 1 y grado del polinomio precondicionador. n \ grado del polinomio 4 7 8 9 10 11 3 3 - - - - 6 - 5 5 4 4 4 9 - 9 8 7 7 6 12 - 12 10 9 9 9

V.4.

Esquema en Diferencias para la Ecuación Biarmónica

Consideremos ahora a la ecuación biarmónica en dos dimensiones:

u 4 x + 2u 2 x 2 y + u 4 y = f (x, y ), ( x, y ) ∈ Ω = (0,1) 2 , u ( x, y ) = 0,

∂u = 0 en ∂Ω ∂n

El modelo numérico para la solución aproximada de (eq-bi-2) está dado por

U i , j −2 + 2U i −1, j −1 − 8U i , j −1 + 2U i +1, j −1 + U i −2, j − 8U i −1, j + 20U i , j −8U i +1, j + U i +2, j + 2U i −1, j +1 − 8U i , j +1 + 2U i +1, j +1 + U i , j +2 = h 4 f i , j , i = 1 n − 1, j = 1 n − 1 donde U i , j es una aproximación a u ( xi , y j ) . Este esquema puede ser escrito en forma matricial, aplicando las condiciones de frontera respectivas, como

AU = h 4 f , P Q  donde A =  I   

www.auge21.net

Q I   P       I    P Q I Q P 

con P y Q definidas como

( n −3) 2 ×( n −3) 2

21


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

 20 − 8 1  − 8 2  − 8 20    2  −8       ,Q =  . P = 1    1           20 − 8  −8 2      1 − 8 20  ( n −3)×( n −3) 2 − 8 ( n −3)×( n −3) Es importante señalar que para las matrices simétricas y definidas positivas en banda de tipo pentadiagonal, como es el caso de las ecuaciones biarmónicas, no se cuenta con una fórmula general que permita el cálculo de sus autovalores ya que su obtención implica la solución de una ecuación de quinto grado. Sin embargo, lo anterior no impidió que los autovalores para dichos sistemas fueran calculados y empleados en el precondicionamiento polinomial. Para la determinación de los autovalores se usó el paquete MATLAB. El polinomio precondicionador así obtenido demostró tener muy buenas propiedades como se muestra en las tablas 9 y 10. La convergencia fue acelerada en una forma notable ya que el número de condición del sistema precondicionado se redujo considerablemente con respecto al número de condición de la matriz original. Tabla 9. Número de iteraciones para el MGC sin precondicionar, con precondicionamiento incompleto de Cholesky, precondicionamiento con SSOR y precondicionamiento polinomial de grado 9 para la ecuación biarmónica.

(

)

Dim. de A κ ( A) Sin prec. Cholesky SSOR Pol κ M −1 A 25 97.229 6 7 11 81 670.278 15 13 20 6 11.521 169 2403.40 31 20 30 9 41.102 289 6283.50 52 36 40 12 106.132

Tabla 10. Numero de iteraciones para la ecuación biarmónica de acuerdo al número de nodos n + 1 y grado del polinomio precondicionador.

n \ grado del polinomio 7 8 12 16 20

4 7 10 13

8 7 9 12

9 6 9 12

10 6 9 11

11 6 7 17

Un experimento numérico fue efectuado para poder determinar el polinomio precondicionador para la ecuación biarmónica partiendo de una aproximación β al mayor autovalor, el cual puede ser conocido de una forma fácil y rápida aplicando el método de la potencia. Este experimento consistió en aproximar los autovalores de la matriz correspondiente considerando que éstos se encuentran uniformemente distribuidos en el intervalo [ β1 , β ] donde β1 = β /( n + 1) . Esto nos permite tener aproximaciones a los autovalores de la matriz original y así construir su polinomio precondicionador. Los resultados numéricos obtenidos se muestran en la siguiente tabla:

www.auge21.net

22


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

Tabla 11. Número de iteraciones para la ecuación biarmónica de acuerdo al número de nodos n + 1 y grado del polinomio precondicionador usando aproximaciones a los autovalores de la matriz A n \ grado del polinomio 7 8 9 10 11 8 6 5 6 5 12 8 7 7 6 6 16 10 9 9 9 20 13 12 12 11 11

Como se puede observar en la tabla 11, el número de iteraciones es similar al obtenido usando los autovalores exactos.

VI.

Conclusiones

En los resultados numéricos mostrados en las tablas anteriores se observa una buena correspondencia entre ellos y los resultados teóricos presentados acerca de los números de condición de las matrices precondicionadas y la rapidez de convergencia del precondicionador. La característica principal de los sistemas tanto tridiagonales como pentadiagonales de matrices simétricas y definidas positivas en banda con los que se trabajó, fue que los coeficientes fueron siempre la misma constante a lo largo de las diagonales, por lo que otra línea de investigación podrí a ser trabajar con sistemas en los que las diagonales no tengan los mismos valores constantes. La solución del sistema B∆ = 1 para determinar los coeficientes del polinomio precondicionador puede ser efectuada por medio de la factorización QR dado que el sistema B T B∆ = B T 1 es mal condicionado puesto que el número de condición de B T B es el cuadrado del número de condición de la matriz B . Estudios en esta dirección serán efectuados en un futuro.

www.auge21.net

23


Auge21: Revista Científica Multidisciplinaria

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

VI. Referencias [1] O. Axelsson. (1984). A survey of vectorizable preconditioning methods for large scale finit element matrix problems. In Center for Numerical Analysis, Texas. The University of Texas at Austin. [2] J. W. Daniel. (1971). The Approximate Minimization of Functionals. Prentice-Hall, Englewood Cliffs, NJ. [3] H. Elman. (1986). A stability analysis of incomplete lu factorization. Math. Comp., 47:191-218. [4] L. A. Hageman and D. M. Young. (1981). Applied iterative methods. Academic Press, New York. [5] O. G. Johnson. (1982). Polynomial preconditioners for conjugate gradient calculations. Yorktown Heights, New York. [6] D. Kincaid and W. Cheney. (1994) Análisis numérico. Addison-Wesley Iberoamericana, Wilmington Delaware. [7] D. R. Kincaid and L. J. Hayes. Iterative Methods for Large Linear Systems, Center for Numerical Analysis, The University of Texas, Austin Texas, Academic Press. Inc. Harcourt Brace Jovanovich, Publishers. [8] T. A. Mantueffel. (1978). Shifted incomplete Cholesky factorization. In Sparse Matrix Proceedings, Philadelphia, PA. SIAM Publications. [9] J. Michel Robles. (1999). Precondicionadores para el método del gradiente conjugado aplicado a la solución numérica de ecuaciones diferenciales parciales por diferencias finitas. Tesis de Maestría, Universidad de Guadalajara. Guadalajara, Jal. México. [10] M. A. Olmos Gómez, M. M. Arriaga Gutiérrez, J. A. Gutiérrez Robles, V. A. Galván Sánchez. (2012). Cálculo de Autovalores de matrices que Provienen de la Discretización de Ecuaciones Diferenciales Elípticas, Auge 21: Revista Multidisciplinaria, Año 7, No. 1: 153-161. http://www.auge21.net/index.php/2-auge21/105-c%C3%A1lculo-de-autovalores-de-matrices-queprovienen-de-la-discretizaci%C3%B3n-de-ecuaciones-diferenciales-el%C3%ADpticas [11] Y. Saad. (1983). Practical use of polynomial preconditioning for the conjugate gradient method. Research Report RR 283, Deparment of Computer Science, Yale University. [12] G. D. Smith. (1977) Numerical solution of partial differential equations, Finite difference methods, Brunel University, Clarendon Press, Oxford. [13] J. Strikwerda. (1989). Finite Difference Schemes and Partial Differential Equations, Wadsworth & Brooks/Cole Advanced Books and Software, Pacific Grove, California. [14] J. H. Wilkinson. (1965) The Algebraic Eigenvalue Problem, Clarendon Press, Oxford.

www.auge21.net

24


Auge21: Revista Científica Multidisciplinaria

www.auge21.net

ISSN: 1870-8773

Año 8 / No. I / Enero – Junio / 2013

25


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.