47
ALN - Métodos Iterativos basados en subespacios de Krylov In.Co. Facultad de Ingeniería Universidad de la República

ALN - Métodos Iterativos basados en subespacios de Krylov

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ALN - Métodos Iterativos basados en subespacios de Krylov

ALN - Métodos

Iterativos basados en

subespacios de Krylov

In.Co.

Facultad de Ingeniería

Universidad de la República

Page 2: ALN - Métodos Iterativos basados en subespacios de Krylov

Repaso…

Intentamos resolver el problema:

y lo transformamos en uno equivalente

multiplicando por una matriz M invertible

que “mejora” el problema:

bAx

bxAMMxbMAxMbAx )(11

Page 3: ALN - Métodos Iterativos basados en subespacios de Krylov

Repaso…

Luego trabajamos con iteraciones de la

siguiente forma:

Definimos el residuo como:

Nos dice cuán lejos está de pero no

cuán lejos está de la solución

bxAMMxbAx )(

bxAMMx kk )()1( )(

)()( kk Axbr )()( kk Axbr

)(kAx b)(kx x

Page 4: ALN - Métodos Iterativos basados en subespacios de Krylov

Repaso…

Si introducimos el residuo en la ecuación

anterior vemos que:

La iteración corrige en cada paso

sumándole el residuo del sistema

)()()()1( )( kkkk rMxbxAMMx

)(1)()1( kkk rMxx

)(kx

bMAxM 11

Page 5: ALN - Métodos Iterativos basados en subespacios de Krylov

Repaso…

Asumamos (por simplicidad) que

Tomamos y calculamos las

primeras iteraciones:

es una combinación lineal de los

vectores !!!

AbbbbAIx 2)()1(

IM

bx )0(

bAAbbbAbbAIx 2)2( 33)2)((

)(kx bAAbb k,...,,

Page 6: ALN - Métodos Iterativos basados en subespacios de Krylov

Krylov les puso nombre…

Subespacio de Krylov

Se define el subespacio de Krylov de

dimensión m asociado a la matriz A y al

vector v, como el subespacio generado por la

base

Se denota

2 1, , ,..., mv Av A v A v

,mK A v

Page 7: ALN - Métodos Iterativos basados en subespacios de Krylov

Se puede ver que:

Ortogonalidad

Si entonces

1m mAK K

mv K1mAv K

1 2 ... ...mK K K

Cualquier vector ortogonal a un espacio de Krylov se

transforma bajo A en otro también ortogonal, pero al espacio

de Krylov un orden menor.

Algunas propiedades…

Page 8: ALN - Métodos Iterativos basados en subespacios de Krylov

Métodos Iterativos basados en

subespacios de Krylov

Buscan la solución iterativamente en el subespacio

K(A,b) según distintos criterios.

No estacionarios:

Hacen uso de información evaluada en cada iteración, esto

les permite obtener la solución de modo dinámico.

Suelen ser más eficientes que los métodos

estacionarios vistos anteriormente.

Page 9: ALN - Métodos Iterativos basados en subespacios de Krylov

Volviendo al ejemplo anterior…

Agrego un parámetro para intentar mejorar la

convergencia.

Cómo elijo ?

)()()1( kkk rxxIM

)(k

)()()()1( kkkk rxx

)(k

Page 10: ALN - Métodos Iterativos basados en subespacios de Krylov

Un criterio puede ser minimizar la norma-2 del

residuo de la siguiente iteración:

Elijo tal que sea la proyección de

sobre

)(k

)()()()1( kkkk Arrr

)(kr)(kAr

)()( kk Ar

)(kr

)()( kk Ar

)()()()1( kkkk Arrr

)(

)()(

)()(

,

,k

kk

kk

ArArAr

Arr

)()(

)()(

)(

,

,

kk

kk

k

ArAr

Arr

Page 11: ALN - Métodos Iterativos basados en subespacios de Krylov

Definimos el error en el paso k como:

Se relaciona con el residuo de la siguiente manera:

bAxxxe kkk 1

kkkk rAAxAbAxbAe 1111

Page 12: ALN - Métodos Iterativos basados en subespacios de Krylov

Otro criterio puede ser minimizar la norma-2 del error

de la siguiente iteración:

El problema es que para calcular

necesitamos

Si es simétrica y definida positiva una alternativa

es minimizar el error de la siguiente iteración usando

la norma-A, de esta forma:

1A)()(

)()(

)(

,

,

kk

kk

k

rr

re

)()()()1( kkkk ree

A

)()(

)()(

)()(

)()(1

)()(

)()(

)()(

)()(

)(

,

,

,

,

,

,

,

,

kk

kk

kk

kk

kk

kk

A

kk

A

kk

k

Arr

rr

Arr

ArrA

Arr

Are

rr

re

Page 13: ALN - Métodos Iterativos basados en subespacios de Krylov

Con esta elección de obtenemos el

llamado “método del máximo descenso”

Por qué se llama así?

Veamos otra forma de interpretar el problema de

resolver cuando es simétrica y definida

positiva

)(k

bAx A

Page 14: ALN - Métodos Iterativos basados en subespacios de Krylov

Si es simétrica y definida positiva y ,

entonces la función cuadrática

alcanza un único mínimo en el vector solución

del sistema .

Nota:

n nA R nb R

: nR R

1 1

, ,2 2

T Tx Ax x b x x Ax x b

nx R

Ax b

1

, ,2

x Ax x b x

bAx como problema de

minimización

Page 15: ALN - Métodos Iterativos basados en subespacios de Krylov

A es simétrica entonces

Entonces:

Además

y, por lo tanto si A es definida positiva, el punto crítico de es un mínimo.

1

2

Tx x Ax A x b Ax bx

0x Ax b

2

( ) ij

i j

H x x a Ax x

Page 16: ALN - Métodos Iterativos basados en subespacios de Krylov

Gráficamente:

a) Forma cuadrática definida positiva

b) Definida negativa

c) singular indefinida positiva

d) indefinida.

En (a) el punto crítico es un mínimo y corresponde a Ax=b.

Page 17: ALN - Métodos Iterativos basados en subespacios de Krylov

Métodos de Descenso

Partiendo de un vector , en cada paso k=0,1,2,… se determina un nuevo “punto”

de la siguiente manera:

1 - Se calcula una dirección de búsqueda

2 - Se considera la recta que pasa por el punto con dirección

3 - Se elige el punto donde alcanza su mínimo (sobre )

1 1k n k ku R u u

kpkL ku

kp

1k

ku L

kL

0 nu R

Page 18: ALN - Métodos Iterativos basados en subespacios de Krylov

Como , entonces

Por lo tanto,

Donde es el residuo de

Luego

21 1, , , ,

2 2

k k k k k k k k ku p Au u b u Au b p Ap p

:k k

kL u p R

,

0,

k k

k k k

k k

r pdu p

d Ap p

k kr b Au ku

1k k k ku u p

Page 19: ALN - Métodos Iterativos basados en subespacios de Krylov

Método del Máximo Descenso

Los distintos métodos de descenso se distinguen por

la manera de escoger la dirección

La elección más simple es escoger la dirección de

máximo descenso de

Esta elección conduce al Método del Máximo

Descenso o del Gradiente.

kp

k k k kp u b Au r

Page 20: ALN - Métodos Iterativos basados en subespacios de Krylov

Método del Máximo Descenso

Tenemos todo lo necesario !

k k k kp u b Au r

1k k k ku u p

,

0,

k k

k k k

k k

r pdu p

d Ap p

Page 21: ALN - Métodos Iterativos basados en subespacios de Krylov

Método del Máximo Descenso

Page 22: ALN - Métodos Iterativos basados en subespacios de Krylov

Método del Máximo Descenso

a) Dada una solución inicial se elige la dirección de

máximo descenso (igual al residuo r = b – Ax)

b) Intersección entre la forma cuadrática y el plano

determinado por la dirección de máximo descenso y

la vertical

c) La intersección es una parábola. Nos quedamos con

el mínimo

d) La dirección del gradiente en el punto elegido es

ortogonal a la dirección de máximo descenso inicial.

Page 23: ALN - Métodos Iterativos basados en subespacios de Krylov

Método del Máximo Descenso

Page 24: ALN - Métodos Iterativos basados en subespacios de Krylov

Algoritmo del Método del Máximo Descenso:

Dado el vector inicial

Para k = 0,1,2,… hasta algún criterio de detención do

end

,

,

k k

k

k k

r r

Ar r

1k k k ku u r

0u

k kr b Au Requiere 2 productos

matriz–vector por

iteración

Page 25: ALN - Métodos Iterativos basados en subespacios de Krylov

Algoritmo del Método del Máximo Descenso II

Dado el vector inicial ,

Para k = 0,1,2,… hasta algún criterio de detención do

end

,

,

k k

k

k k

r r

Ar r

1k k k ku u r

1 1k k k k kr b Au r Ar

0 0r b Au 0u

Requiere 1 producto

matriz–vector por

iteración

Page 26: ALN - Métodos Iterativos basados en subespacios de Krylov

Propiedad de convergencia finita

Tras n iteraciones (como máximo) se alcanza la

solución exacta suponiendo que no haya efecto de los

errores de redondeo (aritmética exacta).

Sin embargo, en aritmética finita este resultado ya no

es válido. Debido a los errores de redondeo, pueden

ser necesarios más de n pasos del método.

Page 27: ALN - Métodos Iterativos basados en subespacios de Krylov

Criterio de detención

Debido a errores de redondeo no se puede alcanzar

cualquier nivel de precisión en el residuo.

Establecer una cota de la precisión alcanzable en

relación con factores como la precisión de la máquina, las

normas de los vectores que manejamos y el número de

condición del problema.

𝑟𝑖 ≤ 𝑐𝑜𝑡𝑎(𝑐𝑜𝑛𝑑 𝐴 , 𝑏 , 𝜀𝑀 , … )

Notar que el vector del residuo se computa en el

método !!

.

Page 28: ALN - Métodos Iterativos basados en subespacios de Krylov

Gradiente Conjugado

Como se ve en la figura, el

método de Máximo Descenso

frecuentemente toma varios

pasos en la misma dirección.

Sería bueno poder seleccionar

la dirección y longitud

adecuadas en cada paso.

GC utiliza las direcciones

conjugadas.

Page 29: ALN - Métodos Iterativos basados en subespacios de Krylov

Una elección de la dirección de descenso que genera un

método más eficiente se basa en ortogonalizar el residuo

respecto a todas las direcciones de descenso anteriores ,

j = 1, … ,k-1, en el producto interno

Las direcciones obtenidas satisfacen

y son llamadas direcciones conjugadas o A-ortogonales.

El procedimiento anterior conduce a otro método llamado

Método del Gradiente Conjugado.

kp

jp

, , , , n

Ax y Ax y x y R

, 0k jAp p j k

kr

Direcciones conjugadas

Page 30: ALN - Métodos Iterativos basados en subespacios de Krylov

La idea básica del método del gradiente conjugado

consiste en construir una base de vectores ortogonales

y utilizarla para realizar la búsqueda de la solución en

forma eficiente.

La ventaja del método radica en que únicamente

necesita asegurar la ortogonalidad de un nuevo

miembro con respecto al último que se ha construido.

Page 31: ALN - Métodos Iterativos basados en subespacios de Krylov

En las sucesivas iteraciones se obtienen soluciones

aprox. al sistema (iterandos).

Para cada iteración se calcula el residuo

correspondiente a las distintas soluciones y una

dirección de búsqueda ( ).

Residuo de la resolución del sistema

Variable de escalado .

La elección de asegura que y sean

ortogonales (a todos los previos).

1 1k kr b Au

1k

k1kr kr

1kp

Page 32: ALN - Métodos Iterativos basados en subespacios de Krylov

Método del Gradiente Conjugado

Page 33: ALN - Métodos Iterativos basados en subespacios de Krylov

Algoritmo del Método del Gradiente Conjugado:

Entrada: el sistema y un vector de búsqueda inicial .

Se calcula para iniciar el algoritmo y

Para k = 1,2,… hasta que se satisfaga un criterio de detención do

end

Ax b 0u0 0r b Au 0 0p r

1k k k ku u p

k kr b Au

11

1

1

,

,

kk

kk

k

pAp

rAp

11 kkk prpk

kk

kk

k

pAp

pr

,

,

Page 34: ALN - Métodos Iterativos basados en subespacios de Krylov

Algoritmo del Método del Gradiente Conjugado:

Entrada: el sistema y un vector de búsqueda inicial .

Se calcula para iniciar el algoritmo y

Para k = 1,2,… hasta que se satisfaga un criterio de detención do

end

1,k k

k

k k

r p

Ap p

1k k k ku u p

1k k k kr r Ap

11

1

,

,

kk

kk

k

rr

rr

11 kkk prpk

Ax b 0u0 0r b Au 0 0p r

Page 35: ALN - Métodos Iterativos basados en subespacios de Krylov

El método del gradiente conjugado necesita

muy poca memoria extra para ser ejecutado.

Se basa en la operación multplicación matriz

vector.

Para cada iteración del algoritmo básico (sin

precondicionador ni condición de convergencia)

es necesario realizar:

un producto matriz-vector

Pocas actualizaciones vectoriales

Pocos productos escalares entre vectores.

En el caso disperso, SPMV !!!

Algoritmo del Método del Gradiente Conjugado

Page 36: ALN - Métodos Iterativos basados en subespacios de Krylov

La velocidad de convergencia de los métodos

iterativos es difícil de predecir con exactitud.

En general se dispone de cotas más o menos ajustadas.

La convergencia del método dependerá, en gran

manera, de las propiedades espectrales de la matriz.

Un mal condicionamiento de la matriz provoca que

converja lentamente.

Velocidad de convergencia

Page 37: ALN - Métodos Iterativos basados en subespacios de Krylov

Velocidad de convergencia

Se verifica que:

es la solución obtenida para la iteración i-ésima.

es la solución exacta del sistema.

es el número de condición .

2 0

2

12

1

i

ik

u x u xk

iu

x

2k

max

2

min

Ak

A

Page 38: ALN - Métodos Iterativos basados en subespacios de Krylov

Precondicionadores

Matriz invertible M que provoca que el sistema:

tenga la misma solución de pero que sea

más fácil de resolver.

La ventaja que se obtiene mediante su uso es que la

nueva matriz de coeficientes presenta propiedades

espectrales favorables, que permiten una

convergencia más rápida (PCG).

1 1M Ax M b

Ax b

Page 39: ALN - Métodos Iterativos basados en subespacios de Krylov

Precondicionadores

La inclusión de un precondicionador en el PCG implica

la resolución de un sistema lineal Mx=y en cada

iteración del método.

Se trata de elegir M tal que M-1 se asemeje de cierta

forma a A-1 pero que el sistema Mx=y sea fácil de

calcular de forma directa.

Usualmente se reduce la cantidad de iteraciones necesrias

para converger pero aumenta el costo de cada iteración.

Existen varios tipos de precondicionadores y su

desempeño depende del tipo de problema.

Page 40: ALN - Métodos Iterativos basados en subespacios de Krylov

Algunos precondicionadores

Jacobi, Gauss-Seidel, SOR, SSOR:

Las matrices Jacobi, GS, SOR y SSOR pueden ser usadas

como precondicionadores de otros métodos iterativos (por

ejemplo GC o GMRES).

Son simples de calcular pero frecuentemente tienen un bajo

desempeño (depende del problema).

Factorizaciones Incompletas (Incomplete LU o ILU)

Consisten en factorizar la matriz A pero permitir solo cierto

grado de fill-in. La variante ILU0 produce una factorización con

el mismo patrón de dispersión que A.

Inversa Aproximada

El precondicionador es una aproximación de la inversa de A,

por lo que no es necesario resolver un sistema en cada

iteración.

Page 41: ALN - Métodos Iterativos basados en subespacios de Krylov

Otros métodos

Generalized Minimal Residual (GMRES).

Ampliamente utilizado

Se basa en formar explícitamente una base ortogonal del

subespacio de Krylov (A,r0) utilizando la ortogonalización de

Grahm-Schmidt (método de Arnoldi).

En cada paso, el iterando xi es una combinación lineal de esta

base que minimiza || b - Axi ||

Posee grandes requerimientos de memoria debido a que es

necesario almacenar la base y el costo crece con cada iteración.

Se suele utilizar una variante que reinicia el método cada cierto

número de pasos utilizando el iterando calculado hasta el

momento como solución inicial. Se la suele llamar Restarted

GMRES o GMRES(m) donde m es la cantidad de iteraciones

cada cual se reinicia el método.

Page 42: ALN - Métodos Iterativos basados en subespacios de Krylov

Otros métodos

Gradiente Bi-conjugado (BiCG).

No exige que la matriz sea simétrica.

Se basa en reemplazar las secuencias ortogonales de residuos por dos secuencias mutuamente ortogonales.

La actualización de relaciones para los residuos son aumentadas por relaciones que son similares pero basadas en AT en lugar de A.

Para matrices simétricas y definidas positivos obtiene los mismos resultados que el método del GC.

Page 43: ALN - Métodos Iterativos basados en subespacios de Krylov

Algoritmo del Método del Gradiente Bi-conjugado:

1 ' ,k k kr r

Elegir , calcular y elegir

Para k = 0,1,2,… hasta que se satisfaga un criterio de detención do

end

11

kk

k

1 1k k k kp r p

1 1' ' 'k k k kp r p

11

1 1' ,

kk

k kp Ap

1 1 1k k k kr r Ap

1 1 1' ' 'T

k k k kr r A p

0x0 0r b Ax 0 0 0 0 0' ; ' ; 0r r p p

1 1 1k k k kx x p

Page 44: ALN - Métodos Iterativos basados en subespacios de Krylov

Otros métodos

Gradiente Conjugado Cuadrático (CGS).

Variante del Gradiente Bi-Conjugado.

Cantidad de operaciones muy similar al BiCG, pero

no es necesario usar AT.

En la práctica la convergencia puede ser mucho más

irregular que para el BiCG.

Page 45: ALN - Métodos Iterativos basados en subespacios de Krylov

Algoritmo del Método del Gradiente Conjugado Cuadrático:

1 0' ,k kr r

Elegir , calcular y elegir

Para k = 0,1,2,… hasta que se satisfaga un criterio de detención do

end

0x0 0r b Ax 0 0 0 0 0' ; ; 0r r p q

11

kk

k

1k k ku r q

1 1 1k k k k kp u q p

11

0 1' ,

kk

kp Ap

1 1 1k k kq u p

1 1 1k k k kx x u q

1 1 1k k k kr x u q

Page 46: ALN - Métodos Iterativos basados en subespacios de Krylov

Otros métodos

Gradiente Bi-conjugado Estabilizado (BiCGSTAB).

Resuelve sistemas lineales no simétricos.

Evita la irregular convergencia del método de Gradiente Conjugado Cuadrático modificando el polinomio que se usa para el cálculo del residuo.

Requiere dos productos internos más que BiCG y CGS.

Page 47: ALN - Métodos Iterativos basados en subespacios de Krylov

Elegir , calcular y elegir

Para k = 0,1,2,… hasta que se satisfaga un criterio de detención do

end

Algoritmo del Método del Gradiente Bi-conjugado Estabilizado:

1 0' ,k kr r

0x0 0r b Ax 0 0 0 0 0 1 0' ; 0; 1r r p q

1 11

k kk

k k

1 1k k k k k kp r p q

1 1k kq Ap

11

0 1' ,

kk

kr q

1 1 1k k k ks r q

1 1k kt As

1 1

1

1 1

,

,

k k

k

k k

t s

t t

1 1 1 1 1k k k k k kx x p s

1 1 1 1k k k kr s t