Método de Newton Inexacto para Sistemas No Lineales de Gran Escala. NITSOL: Código en FORTRAN para estos problemas

Documentos relacionados
ALN - Curso 2007 Gradiente Conjugado

Métodos de Krylov. Damián Ginestar Peiró. Departamento de Matemática Aplicada Universidad Politécnica de Valencia. Curso

Métodos de gradiente. Métodos de Krylov

GRADIENTE CONJUGADO. May 15, 2018 DWIN ANCIZAR DIAZ ZAPATA (UNIVERSIDAD NACIONAL GRADIENTE DECONJUGADO COLOMBIA )

ALGORITMO SOLVER: RESOLUCIÓN DEL SISTEMA A*X=B

Resolución numérica de sistemas de ecuaciones. Introducción

Ceros de Funciones: Multivariable

Método de Newton. Cálculo numérico. Notas de clase. 25 de abril, 2011

Parte 4. Métodos iterativos para la resolución de sistemas de ecuaciones lineales

Análisis aplicado. José Luis Morales. Departamento de Matemáticas. ITAM

Sistemas de ecuaciones no lineales

Introducción a la optimización con algoritmos. Ejercicios. 0 2 f(x + t(y x))(y x)dt. J(x + t(y x))(y x)dt siendo J la matriz Jacobiana de F.

Deducción de las fórmulas del método del gradiente conjugado

Optimización. Escuela de Ingeniería Informática de Oviedo. (Dpto. de Matemáticas-UniOvi) Computación Numérica Optimización 1 / 19

Aproximación discreta de mínimos cuadrados con lapack

Métodos iterativos. Damián Ginestar Peiró. Departamento de Matemática Aplicada Universidad Politécnica de Valencia.

Métodos numéricos para sistemas de ecuaciones. (Prácticas)

Métodos numéricos para sistemas de ecuaciones. (Prácticas) Damián Ginestar Peiró UNIVERSIDAD POLITÉCNICA DE VALENCIA

Parte 5. Métodos iterativos para la resolución de sistemas de ecuaciones no lineales

Análisis aplicado. Descenso suficiente.

Inversas Aproximadas usando el producto escalar de Frobenius

Resolución de Ecuaciones no lineales. Juan Manuel Rodríguez Prieto

Resolución de Ecuaciones no lineales. Juan Manuel Rodríguez Prieto

EJERCICIO COMPUTACIONAL N o 4. MÉTODOS ITERATIVOS

Optimización en Ingeniería

Estrategias para la resolución de grandes sistemas de ecuaciones lineales. Métodos de Cuasi-Mínimo Residuo Modificados.

Método de Gradientes Conjugados.

I. Métodos directos para resolución de SEL. Se dice que una matriz A admite una factorización LU indirecta A = LU

Clase No. 13: Factorización QR MAT 251. Joaquín Peña (CIMAT) Métodos Numéricos (MAT 251) / 16

Gustavo Rodríguez Gómez. Agosto Dicembre 2011

Unidad 5 Problemas de álgebra lineal numérica.

Factorización QR Método iterativo de Jacobi

ECUACIONES DIFERENCIALES Y MÉTODOS NUMÉRICOS (Curso ) Cuarto Curso de Ingeniero Industrial

(a) (0.5 puntos) Compruebe que esta ecuación tiene exactamente una solución en el intervalo

Sistemas de Ecuaciones. Lineales I

METODOS ITERATIVOS. Hermes Pantoja Carhuavilca. Facultad de Ingeniería Mecanica Universidad Nacional de Ingenieria

José Francisco Tudón Maldonado Mario Roberto Urbina Núñez. Funciones de Mérito en Ecuaciones No Lineales. i=1 n. = r i (x) i=1

Resolución de Sistema de Ecuaciones Lineales

Análisis de Técnicas de Precondicionamiento para los Sistemas Lineales provenientes del Simulador SEMIYA de INTEVEP

4.1. INTRODUCCIÓN. 102

Resolución numérica de sistemas de ecuaciones. Introducción

CURSO DE METODOS NUMERICOS Año Académico Curso Tercero de Matemáticas EXAMEN FINAL FEBRERO

RESOLUCIÓN DE SISTEMAS NO LINEALES -- Método de Newton-Raphson

GRADO: Ingeniería en Tecnologías Industriales CURSO: 1º CUATRIMESTRE: 1º

MATEMÁTICA TICA SUPERIOR APLICADA

Subrutinas en Fortran 95 para la resolución de ecuaciones de una variable

W_ILU_GMRES. UNA ESTRATEGIA PARA SISTEMAS DE ECUACIONES LINEALES DENSOS

Laboratori de Càlcul Numèric (LaCàN) Departament de Matemàtica Aplicada III Universitat Politècnica de Catalunya (Spain)

UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA-LEÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE MATEMÁTICA Y ESTADÍSTICA

Álgebra Lineal Ma1010

Dr. Alonso Ramírez Manzanares Depto. de Matemáticas Univ. de Guanajuato cimat.mx web:

Métodos Clásicos de Optimización para Problemas No-Lineales sin Restricciones

ALN - SVD. In. Co. Facultad de Ingeniería Universidad de la República

MÉTODOS MATEMÁTICOS (Curso ) Cuarto Curso de Ingeniero Industrial Departamento de Matemática Aplicada II. Universidad de Sevilla

Algebra Lineal. Curso Segundo Cuatrimestre 2017 FACULTAD DE CIENCIAS ASTRONOMICAS Y GEOFISICAS. UNLP. Practica 2

Matemáticas de la Especialidad de Ingeniería Mecánica

Órdenes de la convergencia de sucesiones. Condiciones de la convergencia lineal y cuadrática del método de iteración simple

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE

Un Método de Búsqueda Lineal Inexacta

RESOLUCIÓN DE ECUACIONES DIFERENCIALES NO-LINEALES CON UN ALGORITMO RESIDUAL

ALN. Repaso matrices. In. Co. Facultad de Ingeniería Universidad de la República

Prerrequisitos de la asignatura Álgebra Lineal Numérica

Implementación del esquema de deflación para ecuaciones algebraicas

Maestría en Matemáticas

Cálculo Numérico III Curso 2010/11

Métodos matemáticos: Análisis funcional

Análisis Numérico para Ingeniería. Clase Nro. 7

Métodos Estadísticos Multivariados

Valores y vectores propios. Laboratorio de Matemáticas

Descomposición QR. Problemas para examen. Agradezco a Aldo Iván Leal García por varias correcciones importantes.

SISTEMA DE ECUACIONES LINEALES Y NO LINEALES

OCW-V.Muto Los métodos de transformación ortogonal. Cap. XX CAPITULO XX. LOS METODOS DE TRANSFORMACION ORTOGONAL

El método de la potencia para el cálculo del autovalor dominante de una matriz se basa en el siguiente teorema.

Programación NO Lineal (PNL) Optimización sin restricciones

Gradiente conjugado. Miguel Vargas-Félix. CIMAT, August 26, /24

Métodos Iterativos. Capítulo Introducción

MA4301 ANÁLISIS NUMÉRICO Nombre en Inglés NUMERICAL ANALYSIS

Resolución de sistemas de ecuaciones lineales

3. Métodos de resolución

Cálculo numérico. Sistemas de ecuaciones lineales.

Clase. 1. Resolución de sistemas de ecuaciones lineales: preliminares

METODO DE LA BISECCIÓN Si f : a, b es continua con f a f b 0,el procedimiento de la

Análisis aplicado. Direcciones de descenso.

Introducción al Cálculo Numérico

Preparaduría V. 1.- Sea A una matriz diagonal n n cuyo polinomio característico es

METODOS DE SOLUCION DE SISTEMAS DE ECUACIONES

Asignaturas antecedentes y subsecuentes Álgebra Lineal I y Análisis Numérico I.

METODOS NUMERICOS TALLER 3, SEMESTRE

Unidad 1: Fuentes y propagación de errores

Metodos Numéricos Tema: Solución de ecuaciones no lineales

Métodos iterativos para sistemas de ecuaciones lineales

Método de diferencias finitas para ecuaciones diferenciales parciales elípticas. (Parte II)

E.T.S. Minas: Métodos Matemáticos Ejercicios Tema 4 Métodos iterativos para sistemas de ecuaciones

TÉCNICAS DE PRECONDICIONAMIENTO DE LOS MÉTODOS DE KRYLOV PARA LA DISCRETIZACIÓN DEL PROBLEMA STOKES GENERALIZADO

Cálculo Numérico. Curso Ejercicios: Preliminares I

Elementos de Cálculo Numérico

Al considerar varios polígonos regulares inscritos resulta: perímetro del cuadrado < π. perímetro del 96 gono < π

APROXIMACIÓN NUMÉRICA Y ERRORES

Métodos Iterativos para Ecuaciones no Lineales. Oldemar Rodríguez Rojas

Transcripción:

Método de Newton Inexacto para Sistemas No Lineales de Gran Escala. NITSOL: Código en FORTRAN para estos problemas Isidro A. Abelló Ugalde Seminario Semanal del Laboratorio de Cómputo Científico Posgrado en Matemáticas, Facultad de Ciencias, CU Octubre 2010

Esquema de la Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Definición y supuestos sobre el sistema no lineal Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Definición y supuestos sobre el sistema no lineal Problema: Solución de Sistemas de Ecuaciones No Lineales Modelo Lineal Resolver F(x) = 0, no lineal y continuamente diferenciable. x = F : R n R n x 1. x n, F(x) = F 1 (x). F n(x) Modelo lineal: F(x) F(x 0 ) + F (x 0 )(x x 0 ) F x 1 (x) 1 F x 2 (x) 1 donde F (x) J(x) =.. F x 1 n(x) x n F 1 (x) x n F 2 (x).. x n F n(x), R n n

Definición y supuestos sobre el sistema no lineal Problema: Solución de Sistemas de Ecuaciones No Lineales Modelo Lineal Resolver F(x) = 0, no lineal y continuamente diferenciable. x = F : R n R n x 1. x n, F(x) = F 1 (x). F n(x) Modelo lineal: F (x) F(x 0 ) + F (x 0 )(x x 0 ) F x 1 (x) 1 F x 2 (x) 1 donde F (x) J(x) =.. F x 1 n(x) x n F 1 (x) x n F 2 (x).. x n F n(x), R n n

Definición y supuestos sobre el sistema no lineal Problema: Solución de Sistemas de Ecuaciones No Lineales Modelo Lineal Resolver F(x) = 0, no lineal y continuamente diferenciable. x = F : R n R n x 1. x n, F(x) = F 1 (x). F n(x) Modelo lineal: F (x) F(x 0 ) + F (x 0 )(x x 0 ) F x 1 (x) 1 F x 2 (x) 1 donde F (x) J(x) =.. F x 1 n(x) x n F 1 (x) x n F 2 (x).. x n F n(x), R n n

Definición y supuestos sobre el sistema no lineal Propiedades del Jacobiano Cuando F (x) proviene de PDE Si el sistema de ecuaciones proviene de la discretización de una ecuación diferencial parcial no lineales, como es el caso de Reservoir Simulation in Oil Recovery, el Jacobiano: n es grande (cientos de miles) No es simétrico No es definido positivo (en general) Es sparse Es una matriz de banda. Puede ser mal condicionada. Frecuentemente métodos de Krylov se usan para resolver SL que involucren estas matrices.

Método de Newton Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Método de Newton Esquema de Iterativo Newton Ventajas Dado x inicial while no convergencia Resolver J(x)s = F (x) x x + s endwhile Propiedades Localmente cuadráticamente convergente. Independencia de la malla, para problemas de discretizaciones de PDE. (Esto último no se que significa pero es algo bueno para el problema que nos ocupa)

Método de Newton Esquema de Iterativo Newton Ventajas Dado x inicial while no convergencia Resolver J(x)s = F (x) x x + s endwhile Propiedades Localmente cuadráticamente convergente. Independencia de la malla, para problemas de discretizaciones de PDE. (Esto último no se que significa pero es algo bueno para el problema que nos ocupa)

Método de Newton Esquema de Iterativo Newton Ventajas Dado x inicial while no convergencia Resolver J(x)s = F (x) x x + s endwhile Propiedades Localmente cuadráticamente convergente. Independencia de la malla, para problemas de discretizaciones de PDE. (Esto último no se que significa pero es algo bueno para el problema que nos ocupa)

Método de Newton Método de Newton Truncado Dado x inicial while no convergencia Resolver J(x)s = F (x) x x + s endwhile Cuando se resuelve a p r o x i m a d a m e n t e J(x)s = F(x) por un método iterativo (como los de subespacios de Krylov) en los que se realiza algún tipo de minimización del residual: min F(x) + J(x)s s el esquema se conoce como: Método de Newton Truncado

Motivación de los método inexactos Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Motivación de los método inexactos Principales preguntas Cuándo parar las iteraciones del sistema lineal? Cómo hacer que el sistema sea global? Básicamente deseamos que F(x + s) < F(x) Qué método utilizar para resolver el sistema lineal?

Motivación de los método inexactos Principales preguntas Cuándo parar las iteraciones del sistema lineal? Cómo hacer que el sistema sea global? Básicamente deseamos que F(x + s) < F(x) Qué método utilizar para resolver el sistema lineal?

Motivación de los método inexactos Principales preguntas Cuándo parar las iteraciones del sistema lineal? Cómo hacer que el sistema sea global? Básicamente deseamos que F(x + s) < F(x) Qué método utilizar para resolver el sistema lineal?

Motivación de los método inexactos Principales preguntas Cuándo parar las iteraciones del sistema lineal? Cómo hacer que el sistema sea global? Básicamente deseamos que F(x + s) < F(x) Qué método utilizar para resolver el sistema lineal?

Motivación de los método inexactos Esquema de Iterativo Inexacto de Newton Definiciones, características y observaciones Dado x inicial while no convergencia Encontrar η [0; 1) y s tal que F(x) + J(x)s η F(x) x x + s endwhile El parámetro η es conocido como término de forzamiento El esquema de Newton está dentro del marco de los métodos inexactos Aplicaremos el método iterativo lineal hasta que F (x) + J(x)s η F(x) La cuestión de detener las iteraciones del esquema lineal se convierte en el tema de la elección del término de forzamiento Un método inexacto es cualquiera que reduzca la norma del modelo lineal con respecto al valor de la norma F.

Motivación de los método inexactos Esquema de Iterativo Inexacto de Newton Definiciones, características y observaciones Dado x inicial while no convergencia Encontrar η [0; 1) y s tal que F(x) + J(x)s η F(x) x x + s endwhile El parámetro η es conocido como término de forzamiento El esquema de Newton está dentro del marco de los métodos inexactos Aplicaremos el método iterativo lineal hasta que F (x) + J(x)s η F(x) La cuestión de detener las iteraciones del esquema lineal se convierte en el tema de la elección del término de forzamiento Un método inexacto es cualquiera que reduzca la norma del modelo lineal con respecto al valor de la norma F.

Motivación de los método inexactos Resultados de Convergencia Observaciones Teorema (Dembo, Eisenstat, Steihaug, 1982) Suponga que F(x ) = 0 y J(x ) inversible (invertible?). Si {x k } es generada por un algoritmo inexacto de Newton con x 0 suficientemente cerca de x entonces η k η max < 1 η k 0 = x k x q-linealmente = x k x q-superlinealmente Si además J es Lipschitz contínua en x entonces η k = O ( F(x k ) ) = x k x q-cuadráticamente Este teorema es local. Se requiere una estrategia global.

Motivación de los método inexactos Resultados de Convergencia Observaciones Teorema (Dembo, Eisenstat, Steihaug, 1982) Suponga que F(x ) = 0 y J(x ) inversible (invertible?). Si {x k } es generada por un algoritmo inexacto de Newton con x 0 suficientemente cerca de x entonces η k η max < 1 η k 0 = x k x q-linealmente = x k x q-superlinealmente Si además J es Lipschitz contínua en x entonces η k = O ( F(x k ) ) = x k x q-cuadráticamente Este teorema es local. Se requiere una estrategia global.

Motivación de los método inexactos Estrategias Globales de Convergencia Vínculo con optimización Pedir solamente F(x + s) < F (x) no es suficiente. Criterios basados en norma de la reducción actual y la reducción predicha por algún modelo (lineal usualmente) Conección con optimización y las estrategias de búsqueda en la línea o región de confianza. donde F(x) = 0 min f (x) x f (x) = 1 2 F(x)t F(x) = 1 2 F(x) 2 2 o sea, convertir en un problema de mínimos cuadrados

Motivación de los método inexactos Estrategias Globales de Convergencia Vínculo con optimización Pedir solamente F(x + s) < F (x) no es suficiente. Criterios basados en norma de la reducción actual y la reducción predicha por algún modelo (lineal usualmente) Conección con optimización y las estrategias de búsqueda en la línea o región de confianza. donde F(x) = 0 min f (x) x f (x) = 1 2 F(x)t F(x) = 1 2 F(x) 2 2 o sea, convertir en un problema de mínimos cuadrados

Motivación de los método inexactos Estrategias Globales de Convergencia Vínculo con optimización Pedir solamente F(x + s) < F (x) no es suficiente. Criterios basados en norma de la reducción actual y la reducción predicha por algún modelo (lineal usualmente) Conección con optimización y las estrategias de búsqueda en la línea o región de confianza. donde F(x) = 0 min f (x) x f (x) = 1 2 F(x)t F(x) = 1 2 F(x) 2 2 o sea, convertir en un problema de mínimos cuadrados

Motivación de los método inexactos F (x) = 0 contra min f (x) x Ejemplo en R de la raíz de la eq. y el problema de minimización

Métodos de Backtracking (reducción hacia atras?) Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Métodos de Backtracking (reducción hacia atras?) Backtracking Methods Idea Esquema iterativo básico: Inexact Newton Backtracking (INB) Method Escoja s lo más cercano a ( J(x) 1 F(x) ) tal que F(x) + J(x)s < F(x) y verifique si F(x + s) < F(x) si no, reduzca el paso. Dados x inicial, t (0 ; 1), η max [0 ; 1) y 0 < θ min < θ max < 1 while no convergencia Seleccionar η [0; η max) Encontrar s tal que F(x) + J(x)s η F(x) Evaluar F (x + s) While F (x + s) > (1 t (1 η)) F(x) Seleccionar θ [θ min ; θ max] s θs η 1 θ(1 η) Reevaluar F(x + s) endwhile x x + s F(x) F(x + s) endwhile

Métodos de Backtracking (reducción hacia atras?) Backtracking Methods Idea Esquema iterativo básico: Inexact Newton Backtracking (INB) Method Escoja s lo más cercano a ( J(x) 1 F(x) ) tal que F(x) + J(x)s < F(x) y verifique si F(x + s) < F(x) si no, reduzca el paso. Dados x inicial, t (0 ; 1), η max [0 ; 1) y 0 < θ min < θ max < 1 while no convergencia Seleccionar η [0; η max) Encontrar s tal que F(x) + J(x)s η F (x) Evaluar F(x + s) While F(x + s) > (1 t (1 η)) F(x) Seleccionar θ [θ min ; θ max] s θs η 1 θ(1 η) Reevaluar F(x + s) endwhile x x + s F(x) F(x + s) endwhile

Métodos de Backtracking (reducción hacia atras?) Resultado de Convergencia Posibilidades Teorema (Eisenstat y Walker, 1994) Suponga que {x k } es producida por el algoritmo INB. Si {x k } tiene un punto de acumulación x y J(x ) es no singular entonces F(x ) = 0 y {x k } x Además s k y η k son aceptables para todo k k M suficientemente grande. x k {x k } tiene varios puntos de acumulación y J es singular en cada uno de ellos. {x k } converge a x, F(x ) = 0, J(x ) es no singular y la tasa de convergencia la determina la sucesión {η k }

Métodos de Backtracking (reducción hacia atras?) Resultado de Convergencia Posibilidades Teorema (Eisenstat y Walker, 1994) Suponga que {x k } es producida por el algoritmo INB. Si {x k } tiene un punto de acumulación x y J(x ) es no singular entonces F(x ) = 0 y {x k } x Además s k y η k son aceptables para todo k k M suficientemente grande. x k {x k } tiene varios puntos de acumulación y J es singular en cada uno de ellos. {x k } converge a x, F(x ) = 0, J(x ) es no singular y la tasa de convergencia la determina la sucesión {η k }

Métodos de Backtracking (reducción hacia atras?) Practicalities Detalles de la implementación Escoger η max cerca de 1, por ejemplo η max = 0.9 Escoger t pequeño, por ejemplo t = 10 4 Los valores usuales de θ min y θ max son 0.1 y 0.5 respectivamente. Utilizar una norma inducida por un producto interno, por ejemplo, 2 Escoger θ [θ min ; θ max ] tal que minimice una cuadrática o una cúbica que interpole F (x k + θs k )

Selección del término de forzamiento Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Selección del término de forzamiento Selección del término de forzamiento Peligro de exceso de cálculos La selección adecuada de los forzamientos es muy importante, ya que corremos el peligro de que haya un divorcio entre la reducción efectiva F(x + s) y la de su modelo lineal F (x) + J(x)s Propuesta de Eisenstat y Walker, 1996 Seleccionar η k = min {η max ; η k } donde η k = F (x k) F (x k 1 ) + J (x k 1 ) s k 1 F (x k 1 ) Protección de los forzamiento { } η k = max η k ; η (1+ 5)/2 k 1 si η 1+ 5 2 k 1 > 0.1

Selección del término de forzamiento Selección del término de forzamiento Peligro de exceso de cálculos La selección adecuada de los forzamientos es muy importante, ya que corremos el peligro de que haya un divorcio entre la reducción efectiva F(x + s) y la de su modelo lineal F (x) + J(x)s Propuesta de Eisenstat y Walker, 1996 Seleccionar η k = min {η max ; η k } donde η k = F (x k) F (x k 1 ) + J (x k 1 ) s k 1 F (x k 1 ) Protección de los forzamiento { } η k = max η k ; η (1+ 5)/2 k 1 si η 1+ 5 2 k 1 > 0.1

Selección del término de forzamiento Elección de los terminos de forzamiento Ideas y Justificaciones La elección anterior de los forzamientos mide la concordancia (o la discordancia :-)) entre F y el su modelo lineal local en la iteración. anterior. ( η k = F (x ) k) F (x k 1 ) + J (x k 1 ) s k 1 F (x k 1 ) Esta elección corre el riesgo de ser muy pequeña lejos de la solución, lo que produce un sobrecálculo. La justificación de la protección es que una disminución drástica de η k a la iteración siguiente debe estar justificada por varias iteraciones. Esta elección de los forzamiento es invariante a la multiplicación de un escalar por F. Hay un teorema de convergencia bonito... pero me lo salto.

Selección del término de forzamiento Elección de los terminos de forzamiento Ideas y Justificaciones La elección anterior de los forzamientos mide la concordancia (o la discordancia :-)) entre F y el su modelo lineal local en la iteración. anterior. ( η k = F (x ) k) F (x k 1 ) + J (x k 1 ) s k 1 F (x k 1 ) Esta elección corre el riesgo de ser muy pequeña lejos de la solución, lo que produce un sobrecálculo. La justificación de la protección es que una disminución drástica de η k a la iteración siguiente debe estar justificada por varias iteraciones. Esta elección de los forzamiento es invariante a la multiplicación de un escalar por F. Hay un teorema de convergencia bonito... pero me lo salto.

Solvers basados en Subespacios de Krylov Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Solvers basados en Subespacios de Krylov Métodos de Subespacios de Krylov Idea General y Propiedades Generales Resolver Ax = b utilizando el subespacio K k (v) con un v adecuado { } K k (v) v, Av,..., A k 1 v e intrínsecamente los procesos de Lanczos o de Arnoldi Algunas Propiedades Generales Son procesos iterativos. Controlan la reducción en cada iteración de r k = b Ax k Fuertes propiedades de convergencia. La operación más costosa es el producto Matriz-vector. Incorporación natural al esquema de precondicionadores. No requiere de disponer de la matriz A sino de una función que calcule el producto Matriz-vector. Ideales para sistemas de gran escala. Su naturaza es paralelizable.

Solvers basados en Subespacios de Krylov Métodos de Subespacios de Krylov Idea General y Propiedades Generales Resolver Ax = b utilizando el subespacio K k (v) con un v adecuado { } K k (v) v, Av,..., A k 1 v e intrínsecamente los procesos de Lanczos o de Arnoldi Algunas Propiedades Generales Son procesos iterativos. Controlan la reducción en cada iteración de r k = b Ax k Fuertes propiedades de convergencia. La operación más costosa es el producto Matriz-vector. Incorporación natural al esquema de precondicionadores. No requiere de disponer de la matriz A sino de una función que calcule el producto Matriz-vector. Ideales para sistemas de gran escala. Su naturaza es paralelizable.

Solvers basados en Subespacios de Krylov Métodos de Subespacios de Krylov Métodos más importantes PCG Gradiente Conjugado (Para matrices simétricas y definidas positivas) 1952-1958 (uno de los más fantásticos algoritmos de los últimos 50 años) MINRES (Para matrices simétricas) 1975 Minimal Residual GMRES (Para matrices generales) 1986 Generalized Minimal Residual

Solvers basados en Subespacios de Krylov Métodos de Subespacios de Krylov Métodos más importantes PCG Gradiente Conjugado (Para matrices simétricas y definidas positivas) 1952-1958 (uno de los más fantásticos algoritmos de los últimos 50 años) MINRES (Para matrices simétricas) 1975 Minimal Residual GMRES (Para matrices generales) 1986 Generalized Minimal Residual

Solvers basados en Subespacios de Krylov Métodos de Subespacios de Krylov Métodos más importantes PCG Gradiente Conjugado (Para matrices simétricas y definidas positivas) 1952-1958 (uno de los más fantásticos algoritmos de los últimos 50 años) MINRES (Para matrices simétricas) 1975 Minimal Residual GMRES (Para matrices generales) 1986 Generalized Minimal Residual

Solvers basados en Subespacios de Krylov Métodos de Subespacios de Krylov Métodos más importantes PCG Gradiente Conjugado (Para matrices simétricas y definidas positivas) 1952-1958 (uno de los más fantásticos algoritmos de los últimos 50 años) MINRES (Para matrices simétricas) 1975 Minimal Residual GMRES (Para matrices generales) 1986 Generalized Minimal Residual

Solvers de NITSOL Presentación 1 Introducción Definición y supuestos sobre el sistema no lineal Método de Newton 2 Método Inexacto de Newton Motivación de los método inexactos Métodos de Backtracking (reducción hacia atras?) Selección del término de forzamiento 3 El Sistema Lineal Solvers basados en Subespacios de Krylov Solvers de NITSOL

Solvers de NITSOL Solvers de NITSOL Propiedades La naturaleza de los sistemas lineales involucrados en F (x) = 0 es no simétrica por lo que los solvers utilizados son de próposito general. Simpler GMRES(m) 1994 Simpler Generalized Minimal Residual: restart m BiCGSTAB 1992 Gradiente Biconjugado Estabilizado TFQMR1993 Transpose Free Quasi Minimal Residual

Solvers de NITSOL Solvers de NITSOL Propiedades La naturaleza de los sistemas lineales involucrados en F (x) = 0 es no simétrica por lo que los solvers utilizados son de próposito general. Simpler GMRES(m) 1994 Simpler Generalized Minimal Residual: restart m BiCGSTAB 1992 Gradiente Biconjugado Estabilizado TFQMR1993 Transpose Free Quasi Minimal Residual

Solvers de NITSOL GMRES Idea General del Algoritmo: Proceso de ortogonalización de Arnoldi Partir de x 0 inicial y x k = x 0 + z k, donde z k resuelve min b A (x 0 + z) 2 = min r 0 Az 2 z K k (r 0 ) z K k (r 0 ) Dado x 0,iniciar r b Ax 0 ; w 1 r 2,V 1 r/ r 2, j 1,k 1; while (j <= n) do for i=1:j do H (i,j) Vj t A V i ; Resolver y = H 1 w; (Nota: H es de Hessenberg!!) x x 0 + V y; V j+1 A V j V H j ; H (j+1,j) V j+1 2 ; r 2 y (1) H (j+1,j) ; if r 2 < tol then PARAR; V j+1 V j+1 /H (j+1,j) ; w j+1 0; j j + 1; endwhile

Solvers de NITSOL GMRES Idea General del Algoritmo: Proceso de ortogonalización de Arnoldi Partir de x 0 inicial y x k = x 0 + z k, donde z k resuelve min b A (x 0 + z) 2 = min r 0 Az 2 z K k (r 0 ) z K k (r 0 ) Dado x 0,iniciar r b Ax 0 ; w 1 r 2,V 1 r/ r 2, j 1,k 1; while (j <= n) do for i=1:j do H (i,j) Vj t A V i ; Resolver y = H 1 w; (Nota: H es de Hessenberg!!) x x 0 + V y; V j+1 A V j V H j ; H (j+1,j) V j+1 2 ; r 2 y (1) H (j+1,j) ; if r 2 < tol then PARAR; V j+1 V j+1 /H (j+1,j) ; w j+1 0; j j + 1; endwhile

Solvers de NITSOL GMRES(m): Modificaciones fundamentales Dados x 0, MaxIter y m, iniciar iter 0; repeat r b Ax 0 ; w 1 r 2,V 1 r/ r 2, j 1; while (j <= m) do for i=1:j do H (i,j) Vj t A V i ; V j+1 A V j V H j ; H (j+1,j) V j+1 2 ; V j+1 V j+1 /H (j+1,j) ; w (j+1) 0; y min w H z z 2 (H R (j+1 j) de Hessenberg) x x 0 + V y; iter iter + 1; j j + 1; if r 2 < tol then PARAR; endwhile x 0 x; until iter < MaxIter

Solvers de NITSOL Forma de Hessenberg...... H = 0.... 0... 0 0... R j+1 j En el GMRES(m) de NITSOL se utiliza un truco para no realizar rotaciones de Givens y es q se escoge v 1 = Ar 0 Ar 0 2

Solvers de NITSOL BiCGSTAB y TFQMR Idea General de Ambos: Proceso de ortogonalización no simétrico de Lanczos 1 BiCGSTAB Es una combinación de BiCG y GMRES(1). Utiliza un truco para mejorar la inestabilidad de Gradiente BiConjugado 2 TFQMR Ax = b A t Ax = A t b El sistema de la derecha simérico y definido positivo Utiliza un método ingenioso a evitar el producto por la transpuesta.

Solvers de NITSOL BiCGSTAB y TFQMR Idea General de Ambos: Proceso de ortogonalización no simétrico de Lanczos 1 BiCGSTAB Es una combinación de BiCG y GMRES(1). Utiliza un truco para mejorar la inestabilidad de Gradiente BiConjugado 2 TFQMR Ax = b A t Ax = A t b El sistema de la derecha simérico y definido positivo Utiliza un método ingenioso a evitar el producto por la transpuesta.

Solvers de NITSOL BiCGSTAB y TFQMR Idea General de Ambos: Proceso de ortogonalización no simétrico de Lanczos Algunas características Utilizan fórmulas de recurrencia pequeñas. Tienen muy modestos costos de almacenamiento y de operaciones por iteración. El decrecimiento de la norma del gradiente es suave, casi monótono. No disfrutan de las propiedades de minimización del residual de GMRES(m). Pueden fallar prematuramente. Son más sensibles a errores de redondeo que GMRES. Si no tenemos muchos recursos (memoria) y convergen, son los tipos.

Solvers de NITSOL El Jacobiano en Diferencias Diferentes aproximaciones J (x k ) d 1 1 h [F (x k + h d) F (x k )] + O (h) 2 1 2h [F (x k + h d) F (x k h d)] + O ( h 2) 3 1 6h [ 8F (x k + h 2 d ) 8F Observaciones Importantes No necesitamos la matriz explícitamente J(x) (x k h 2 d ) F (x k + h d) + F (x k h d) BiCGSTAB y TFQMR utilizan la jacobiana en cada iteración. ] + O ( h 4) BiCGSTAB y TFQMR aumenta las evaluaciones de F al usar fórmulas de orden alto. GMRES(m) solo utiliza cada m iteraciones la jacobiana. GMRES(m) permite usar fórmulas de orden alto con un costo no prohibitivo.

Solvers de NITSOL El Jacobiano en Diferencias Diferentes aproximaciones J (x k ) d 1 1 h [F (x k + h d) F (x k )] + O (h) 2 1 2h [F (x k + h d) F (x k h d)] + O ( h 2) 3 1 6h [ 8F (x k + h 2 d ) 8F Observaciones Importantes No necesitamos la matriz explícitamente J(x) (x k h 2 d ) F (x k + h d) + F (x k h d) BiCGSTAB y TFQMR utilizan la jacobiana en cada iteración. ] + O ( h 4) BiCGSTAB y TFQMR aumenta las evaluaciones de F al usar fórmulas de orden alto. GMRES(m) solo utiliza cada m iteraciones la jacobiana. GMRES(m) permite usar fórmulas de orden alto con un costo no prohibitivo.

Appendix Subrutina NITSOL Presentación Subrutina NITSOL Especificación de F y JAC

Appendix Subrutina NITSOL Subrutina NITSOL Permite utilizar parámetros por defecto. Se pueden modificar gran cantidad de parámetros. Los requerimientos mínimos a especificar son: 1 dimensión del problema 2 vector de la aproximación inicial 3 tolerancia de parada. 4 espacio de trabajo para el método de Krylov. 5 nombre de la rutina que evalua a F. 6 nombre de la rutina que calcula el producto del Jac por un vector. Indicar las subrutinas que calculan las normas y los productor internos, como DNRM2 y DDOT de la biblioteca BLAS. Estas deben ser declaradas EXTERNAL El bloque common NITINFO contiene información sobre el progreso del algoritmo, tal como: Cantidad de Iteraciones (no lineales) F (x k ) tasa de convergencia con la iteración previa. status (fallo o no fallo)

Appendix Subrutina NITSOL Subrutina NITSOL Permite utilizar parámetros por defecto. Se pueden modificar gran cantidad de parámetros. Los requerimientos mínimos a especificar son: 1 dimensión del problema 2 vector de la aproximación inicial 3 tolerancia de parada. 4 espacio de trabajo para el método de Krylov. 5 nombre de la rutina que evalua a F. 6 nombre de la rutina que calcula el producto del Jac por un vector. Indicar las subrutinas que calculan las normas y los productor internos, como DNRM2 y DDOT de la biblioteca BLAS. Estas deben ser declaradas EXTERNAL El bloque common NITINFO contiene información sobre el progreso del algoritmo, tal como: Cantidad de Iteraciones (no lineales) F (x k ) tasa de convergencia con la iteración previa. status (fallo o no fallo)

Appendix Subrutina NITSOL Subrutina NITSOL Permite utilizar parámetros por defecto. Se pueden modificar gran cantidad de parámetros. Los requerimientos mínimos a especificar son: 1 dimensión del problema 2 vector de la aproximación inicial 3 tolerancia de parada. 4 espacio de trabajo para el método de Krylov. 5 nombre de la rutina que evalua a F. 6 nombre de la rutina que calcula el producto del Jac por un vector. Indicar las subrutinas que calculan las normas y los productor internos, como DNRM2 y DDOT de la biblioteca BLAS. Estas deben ser declaradas EXTERNAL El bloque common NITINFO contiene información sobre el progreso del algoritmo, tal como: Cantidad de Iteraciones (no lineales) F (x k ) tasa de convergencia con la iteración previa. status (fallo o no fallo)

Appendix Subrutina NITSOL Subrutina NITSOL Permite utilizar parámetros por defecto. Se pueden modificar gran cantidad de parámetros. Los requerimientos mínimos a especificar son: 1 dimensión del problema 2 vector de la aproximación inicial 3 tolerancia de parada. 4 espacio de trabajo para el método de Krylov. 5 nombre de la rutina que evalua a F. 6 nombre de la rutina que calcula el producto del Jac por un vector. Indicar las subrutinas que calculan las normas y los productor internos, como DNRM2 y DDOT de la biblioteca BLAS. Estas deben ser declaradas EXTERNAL El bloque common NITINFO contiene información sobre el progreso del algoritmo, tal como: Cantidad de Iteraciones (no lineales) F (x k ) tasa de convergencia con la iteración previa. status (fallo o no fallo)

Appendix Especificación de F y JAC Presentación Subrutina NITSOL Especificación de F y JAC

Appendix Especificación de F y JAC Función Objetivo que debe dar el usuario SUBROUTINE F(N, XCUR, FCUR, RPAR, IPAR, ITRMF) N: dimensión (En el caso del petroleo la cantidad de nodos de la malla) XCUR: vector de dim N donde se evaluará F. FCUR: vector de dim N de la evaluación de F(XCUR). RPAR y IPAR vectores de parámetros reales y enteros respectivamente. Por ejemplo en IPAR puede estar información relativa a la malla: cantidad de puntos en cada una de las direcciones, etc. ITRMF Es una bandera entera que indica si la evaluación de F fue exitosa y no dio algo como NaN o. Estas excepciones deben ser controladas por el usuario.

Appendix Especificación de F y JAC Implementación de Jacobiano SUBROUTINE JACV(N, XCUR, FCUR, IJOB, V, Z, RPAR, IPAR, ITRMJV) N: dimensión del problema. XCUR: vector de dim N donde se evaluó F. FCUR: vector de evaluación de F(XCUR). IJOB: Bandera que indica si se usara precondicionador. V: vector de dim N por el que se multiplicará el jacobiano. Z: vector de dim N resultado de multiplicar por el jacobiano. RPAR y IPAR vectores de parámetros reales y enteros respectivamente. ITRMJV Bandera que indica si el proceso fue exitoso.

Appendix Especificación de F y JAC Implementación de Jacobiano Detalles: SUBROUTINE JACV(N,XCUR,FCUR,IJOB,V,Z,RPAR,IPAR,ITRMJV) IF (IJOB.EQ. 0) THEN!Realiza el prod Jac por vector Código... Código... Código... ELSE (IJOB.EQ. 1) THEN!aplica el precondiciondor Código... Código... Código... END IF Aplicar un precondicionador, es aplicar un procedimiento que reciba un vector y devuelva otro!! Necesidad de XCUR y FCUR V J (x k ) d 1 {}}{ F(x k + h d ) F (x k ) h } {{ } Z

Appendix Especificación de F y JAC Implementación de Jacobiano Detalles: SUBROUTINE JACV(N,XCUR,FCUR,IJOB,V,Z,RPAR,IPAR,ITRMJV) IF (IJOB.EQ. 0) THEN!Realiza el prod Jac por vector Código... Código... Código... ELSE (IJOB.EQ. 1) THEN!aplica el precondiciondor Código... Código... Código... END IF Aplicar un precondicionador, es aplicar un procedimiento que reciba un vector y devuelva otro!! Necesidad de XCUR y FCUR V J (x k ) d 1 {}}{ F(x k + h d ) F (x k ) h } {{ } Z

Appendix Especificación de F y JAC A L F I N A C A B Ó