ALN - Métodos Iterativos basados en subespacios de Krylov

Post on 24-Jul-2022

6 views 0 download

Transcript of 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

Repaso…

Intentamos resolver el problema:

y lo transformamos en uno equivalente

multiplicando por una matriz M invertible

que “mejora” el problema:

bAx

bxAMMxbMAxMbAx )(11

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

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

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,...,,

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

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…

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.

Volviendo al ejemplo anterior…

Agrego un parámetro para intentar mejorar la

convergencia.

Cómo elijo ?

)()()1( kkk rxxIM

)(k

)()()()1( kkkk rxx

)(k

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

Definimos el error en el paso k como:

Se relaciona con el residuo de la siguiente manera:

bAxxxe kkk 1

kkkk rAAxAbAxbAe 1111

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

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

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

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

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.

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

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

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

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

Método del Máximo Descenso

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.

Método del Máximo Descenso

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

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

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.

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 !!

.

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.

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

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.

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

Método del Gradiente Conjugado

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

,

,

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

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

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

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

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

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.

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.

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.

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.

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

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.

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

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.

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