Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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