Análisis aplicado. Ax = b. Gradiente conjugado. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Departamento de Matemáticas. ITAM. 2009. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Cuadráticas estrictamente convexas. 1 T x Ax − b T x, A ∈ Rn×n 2 minimizar φ(x) ⇐⇒ Ax = b. φ(x) = José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Cuadráticas estrictamente convexas. 1 T x Ax − b T x, A ∈ Rn×n 2 minimizar φ(x) ⇐⇒ Ax = b. φ(x) = A simétrica positiva definida. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Cuadráticas estrictamente convexas. 1 T x Ax − b T x, A ∈ Rn×n 2 minimizar φ(x) ⇐⇒ Ax = b. φ(x) = A simétrica positiva definida. ∇φ(x) = Ax − b. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Cuadráticas estrictamente convexas. 1 T x Ax − b T x, A ∈ Rn×n 2 minimizar φ(x) ⇐⇒ Ax = b. φ(x) = A simétrica positiva definida. ∇φ(x) = Ax − b. x ∗ = A−1 b. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Cuadráticas estrictamente convexas. 1 T x Ax − b T x, A ∈ Rn×n 2 minimizar φ(x) ⇐⇒ Ax = b. φ(x) = A simétrica positiva definida. ∇φ(x) = Ax − b. x ∗ = A−1 b. Factorización de Cholesky: A = LLT . José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Método iterativo: GC José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Método iterativo: GC Lejos de la solución: Ax̂ ≈ b. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Método iterativo: GC Lejos de la solución: Ax̂ ≈ b. Relajar la condición: spd → s. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Método iterativo: GC Lejos de la solución: Ax̂ ≈ b. Relajar la condición: spd → s. Residuo: r (x̂) = Ax̂ − b = ∇φ(x̂). José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Método iterativo: GC Lejos de la solución: Ax̂ ≈ b. Relajar la condición: spd → s. Residuo: r (x̂) = Ax̂ − b = ∇φ(x̂). Aproximación inicial: x0 . x ∗ = x0 + α0 p0 + α1 p1 + · · · + αn−1 pn−1 sucesión (finita) de aproximaciones {xk }n−1 0 . Forma general del método xk = xk−1 + αk−1 pk−1 Residuo rk = b − Axk = ∇φ(xk ) José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Recursos para construir el método. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Recursos para construir el método. Direcciones de descenso: {pk }n−1 0 . José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Recursos para construir el método. Direcciones de descenso: {pk }n−1 0 . Paso (búsqueda lineal exacta) αk = − José Luis Morales http://allman.rhon.itam.mx/∼jmorales rkT pk pkT Apk Análisis aplicado. Ax = b. Gradiente conjugado. Recursos para construir el método. Direcciones de descenso: {pk }n−1 0 . Paso (búsqueda lineal exacta) αk = − rkT pk pkT Apk Base de Rn . B = {p0 , p1 , . . . , pn−1 } José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Recursos para construir el método. Direcciones de descenso: {pk }n−1 0 . Paso (búsqueda lineal exacta) αk = − rkT pk pkT Apk Base de Rn . B = {p0 , p1 , . . . , pn−1 } Pregunta: ¿Cómo obtener {pk }n−1 0 ? José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 1 Teorema 5.1: Utilizar una base A-ortogonal. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 1 Teorema 5.1: Utilizar una base A-ortogonal. Producto interior definido por A: < u, v >= u T Av José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 1 Teorema 5.1: Utilizar una base A-ortogonal. Producto interior definido por A: < u, v >= u T Av √ Norma inducida: ||u||A = u T Au José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 1 Teorema 5.1: Utilizar una base A-ortogonal. Producto interior definido por A: < u, v >= u T Av √ Norma inducida: ||u||A = u T Au A-ortogonalidad: u ⊥ v = 0 = u T Av José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 1 Teorema 5.1: Utilizar una base A-ortogonal. Producto interior definido por A: < u, v >= u T Av √ Norma inducida: ||u||A = u T Au A-ortogonalidad: u ⊥ v = 0 = u T Av Base A-ortogonal: piT Apj = 0 si i 6= j José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 2 A-Ortogonalización de Gram-Schmidt José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 2 A-Ortogonalización de Gram-Schmidt Dirección inicial: p0 = −r0 . José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 2 A-Ortogonalización de Gram-Schmidt Dirección inicial: p0 = −r0 . Primer iterando: x1 = x0 + α0 p0 . José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 2 A-Ortogonalización de Gram-Schmidt Dirección inicial: p0 = −r0 . Primer iterando: x1 = x0 + α0 p0 . Residuo asociado con x1 : r1 = Ax1 − b. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Respuestas 2 A-Ortogonalización de Gram-Schmidt Dirección inicial: p0 = −r0 . Primer iterando: x1 = x0 + α0 p0 . Residuo asociado con x1 : r1 = Ax1 − b. A-ortogonalizar p0 y −r1 para obtener p1 . β1 p0 + p1 = −r1 . p1 = −r1 + en donde β1 = José Luis Morales http://allman.rhon.itam.mx/∼jmorales r1T Ap0 p0 p0T Ap0 r1T Ap0 p0T Ap0 Análisis aplicado. Ax = b. Gradiente conjugado. Algoritmo de direcciones conjugadas Supongamos que el conjunto B = {p0 , . . . , pn−1 } es A-conjugado, i.e. piT Apj = 0, ∀i 6= j. x0 una aproximación inicial xk+1 = xk + αk pk r T pk αk = − Tk pk Apk José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Propiedades del algoritmo de direcciones conjugadas Teorema 5.1 Supongamos que B es cualquier base A-ortogonal y x0 es cualquier punto inicial. Entonces la sucesión generada por el algoritmo de direcciones conjugadas termina en a lo más n pasos. Teorema 5.2 Los residuos y las direcciones satisfacen la relación: rkT pi = 0, i = 0, 1, . . . , k − 1. Además xk es el minimizador de φ en el conjunto {x|x = x0 + gen{p0 , p1 , . . . , pk−1 }}. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Teorı́a de soporte Teorema 5.2.1 Supongamos que obtenemos B a partir de los residuos por A-ortogonalización de Gram-Schmidt. Entonces: José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Teorı́a de soporte Teorema 5.2.1 Supongamos que obtenemos B a partir de los residuos por A-ortogonalización de Gram-Schmidt. Entonces: 1 Los residuos son ortogonales riT rj = 0, José Luis Morales http://allman.rhon.itam.mx/∼jmorales ∀i 6= j. Análisis aplicado. Ax = b. Gradiente conjugado. Teorı́a de soporte Teorema 5.2.1 Supongamos que obtenemos B a partir de los residuos por A-ortogonalización de Gram-Schmidt. Entonces: 1 Los residuos son ortogonales riT rj = 0, 2 ∀i 6= j. Se cumple la propiedad T Api = 0, rk+1 i = 0, 1, . . . , k − 1. Corolario La propiedad 2) implica que la recurrencia para el cálculo de la dirección involucra sólo 1 término, i.e. pk+1 = −rk+1 + T Ap rk+1 k pkT Apk pk Tarea José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Algoritmo GC Escoger x0 una aproximación inicial; fijar TOL > 0. r0 ← Ax0 − b, p0 ← −r0 , k ← 0; mientras ||rk ||/||r0 || ≥ TOL αk xk+1 rkT rk pkT Apk ← xk + αk pk ← rk+1 ← rk + αk Apk r T rk+1 βk+1 ← k+1T rk rk pk+1 ← −rk+1 + βk+1 pk k ← k +1 fin Tarea José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Teorı́a de GC Teorema 5.3 Propiedades del algoritmo GC gen{r0 , . . . , rk } = gen{r0 , Ar0 , . . . , Ak r0 } gen{p0 , . . . , pk } = gen{r0 , Ar0 , . . . , Ak r0 } Teorema 5.4 Si A tiene r valores propios distintos entonces GC converge en a lo más r iteraciones. José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Base de la prueba del Teorema 5.4 xk+1 = x0 + α0 p0 + α1 p1 + · · · + αk pk = x0 + γ0 r0 + γ1 Ar0 + · · · + γk Ak r0 = x0 + Pk∗ (A)r0 ||xk+1 − x ∗ ||2A = φ(xk+1 ) − φ(x ∗ ) = ||x0 + Pk∗ (A)r0 − x ∗ ||2A Pk∗ = arg min ||x0 + Pk (A)r0 − x ∗ ||2A Pk xk+1 − x ∗ = [I + Pk∗ (A)A](x0 − x ∗ ) José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado. Análisis con valores y vectores propios A= n X λi vi viT , Avi = λi vi , i = 1, . . . , n i =1 x0 − x ∗ = ||xk+1 − x ∗ ||2A n X ξ i vi i =1 ≤ min max [1 + λi Pk (λi )]2 ||x0 − x ∗ ||2A Pk 1≤i ≤n Estimar min max [1 + λi Pk (λi )]2 . Pk 1≤i ≤n José Luis Morales http://allman.rhon.itam.mx/∼jmorales Análisis aplicado. Ax = b. Gradiente conjugado.