Met Iterativos
Short Description
Descripción: metodos iterativos...
Description
M´ eto do eto doss it iter erat ativ ivos os Dami´ Dami´an an Gine Ginest star ar Peir´ Peiro´ Departamento de Matem´atica atica Aplicada Universidad Universida d Polit´ ecnica de Valencia ecnica
Curso 2013-2014
´Indice 1
Introducci´ on on
2
Conc Co ncep epto toss b´ asicos asic os
3
M´etodos eto dos iterat ite rativos ivos estac es tacion ionarios arios M´eto etodo de Richard Ric hardso son n M´etodo eto do de direcciones direcc iones alternadas alter nadas M´eto etodos dos a blo bloques ques
4
Precondicionadores Introducci´on on Precon Precondic dicion ionadore adoress cl´asicos asicos Precondicionadores polinomiales
5
M´eto todo do de de desc scen enso so r´apid ap idoo
6
M´ eto do del gradi etodo gradiente ente conjug conjugado ado
´Indice 1
Introducci´ on on
2
Conc Co ncep epto toss b´ asicos asic os
3
M´etodos eto dos iterat ite rativos ivos estac es tacion ionarios arios M´eto etodo de Richard Ric hardso son n M´etodo eto do de direcciones direcc iones alternadas alter nadas M´eto etodos dos a blo bloques ques
4
Precondicionadores Introducci´on on Precon Precondic dicion ionadore adoress cl´asicos asicos Precondicionadores polinomiales
5
M´eto todo do de de desc scen enso so r´apid ap idoo
6
M´ eto do del gradi etodo gradiente ente conjug conjugado ado
Intro ducci´ on Dada una matriz invertible de tama˜ no no n n y un vector b soluci´ on on del sistema Ax = b
×
n
∈R
la unica u ´nica
es x = A−1 b
Nosotros trabajaremos con matrices vac´ vac´ıas (sparse) es decir matrices con un n´ umero de elementos no nulos (nnz(A)) del orden umero nnz (A) = c n
·
con c independiente de n.
Intro ducci´ on
No se puede hacer la inversi´ on on de A ya que: 1
vac´ıa, es decir se llena, = no se puede A−1 puede dejar de ser vac´
2
almacenar. C´alculo de A−1 puede costar O (n3 ) operaciones (tiempo de CPU: a˜ nos). nos).
⇒
Buscaremos Buscaremo s m´etodos eto dos aproximados para la resoluci´ resolu ci´ on on del sistema que se basan esencialmente en el producto matriz-vector producto matriz-vector..
Conceptos b´asicos
Un m´etodo iterativo obtiene una soluci´ on aproximada de Ax = b construyendo una sucesi´ on de vectores: x 1 , x 2 , . . . , x k
desde un vector inicial arbitrario x 0 . Un m´etodo iterativo se dice convergente si lim x k = x .
k →∞
El vector error, en cada iteraci´ on, se define como e k = x
− x
k
.
Conceptos b´asicos
El vector residuo, en cada iteraci´ on, se define como r k = b
− Ax
k
.
Se puede probar lim x k = x
k →∞
⇐⇒
lim
k →∞
e = 0 ⇐⇒ k
lim
k →∞
r = 0 k
Conceptos b´asicos Un m´ etodo iterativo nunca da la soluci´ on exacta incluso en precisi´ on infinita. Los m´etodos directos te´oricamente producen la soluci´ on exacta; pero en un ordenador dan errores num´ericos. Se da a priori una precisi´ on para nuestra soluci´ on. Sea TOL el error m´aximo permitido.
e < TOL, (error absoluto)
e < TOL (error relativo) x k
o
k
Pero x , y e k no son conocidos el criterio de parada no es u ´til. Se utiliza el criterio del residuo
r < TOL (absoluto) k
o
r < TOL (relativo) b k
Conceptos b´asicos
La relaci´ on entre el error y el residuo es r k = b
− Ax
k
= Ax
− Ax
k
= Ae k .
Usando normas matriciales:
r ≤ Ae (1a); k
k
e ≤ A 1r (1b ) −
k
k
Notar adem´as
x ≤ A 1b (2a); −
b ≤ AA 1b = Ax (2b) −
Conceptos b´asicos
Combinando (1a) con (2a) y (1b) con (2b) obtenemos 1
r ≤ e ≤ AA 1 r AA 1 b x b Finalmente, recordando que κ(A) = AA 1 : 1 r e r ≤ ≤ κ(A) x b κ(A) b k
k
−
k
−
−
k
k
k
Conclusi´ on: Test del residuo es fiable si κ(A) no es muy grande.
M´ etodos iterativos estacionarios Sea A la matriz del sistema Ax = b . Podemos considerar la partici´ on (splitting) A = M N donde M = A es una matriz invertible.
−
Se construye el sistema iterativo x k +1 = M −1 Nx k + M −1 b = Hx k + q ,
k = 0, 1, . . .
donde H es la matriz de iteraci´ on y x 0 el vector inicial. Esto es equivalente a x k +1 = x k + M −1 b Ax k = x k + M −1 r k
−
Definici´ on Se dice que un m´etodo iterativo es estacionario si la matriz de iteraci´ on H
M´ etodos iterativos estacionarios Sea A tal que aii = 0 y consideremos la partici´on
A = L + D + U
L es la parte estrictamente triangular superior de A, D es la parte diagonal de A, U es la parte estrictamente triangular superior de A. 1
M´etodo de Jacobi: M = D y N = x k +1 =
2
− (L + D )
−D 1(L + U )x + D 1b , −
k
−
M´etodo de Gauss-Seidel: M = D + L y N =
k = 0, 1, . . .
−U
(D + L)−1 Ux + (D + L)−1 b
k
0 1
M´ etodos iterativos estacionarios
Una iteraci´ on de Jacobi es muy barata. S´ olo hay que hacer multiplicaci´on matriz-vector “vac´ıa”. El n´ umero de multiplicaciones es del orden nz(A) adem´as de invertir los elementos diagonales de A. k +1
x 1
k +1
x 2
= = .. .
x nk +1
=
1 a11
1 a22
1 ann
− −
k
k
a1n x nk + b 1
k
k
k n n + b 2
− a13x 3 − · · · − a21 x 1 − a23 x 3 − · · · − a2 x a12 x 2
−
an1 x 1k
k
k n n−1 x n−1 + b n
− a 3x 3 − · · · − a , n
M´ etodos iterativos estacionarios
Una iteraci´ on Gauss-Seidel es barata. Adem´as tiene que resolver un sistema triangular inferior (D + L)x k +1 = b Ux k “vac´ıo”. Recordar que hay que evitar invertir matrices.
−
En el m´etodo de Gauss-Seidel las componentes de x k +1 que ya conocemos se utilizan en la propia iteraci´ on k + 1.
M´ etodos iterativos estacionarios Teorema Sea A invertible. Un m´ etodo iterativo estacionario converge, para cualquier vector inicial x 0 Rn , a la soluci´on exacta del sistema lineal, si y s´ olo si,
∈
ρ(H ) < 1
es decir, el mayor valor propio en valor absoluto de la matriz de iteraci´ on es menor que uno. Introduciendo el error e k = x k M
− x . Como Mx = Nx + b , x +1 − x = N x − x
k +1
e
k
−1
k
k
−1
= M Ne = M N
k
e 0
M´ etodos iterativos estacionarios
Definici´ on Una matriz A = [aij ] de tama˜ no n diagonal dominante si
× n se dice que es estrictamente
n
|a | > ii
j =1, j =i
|a |, ij
para todo i = 1, 2, . . . , n.
M´ etodos iterativos estacionarios
Teorema Si la matriz A es estrictamente diagonal dominante entonces el m´ etodo de Jacobi y de Gauss-Seidel son convergentes.
Se llama radio de convergencia a R = log10 (ρ(H )). Cuanto m´as peque˜ no sea ρ(H ) mayor ser´a la convergencia.
−
M´ etodos iterativos estacionarios Una generalizaci´ on del m´ etodo de Jacobi es el m´etodo de sobre-relajaci´ on (JOR)
x k +1 =
w aii
− b i
j =1
j =i
aij x j k
+ (1
k i
− w )x
donde se ha introducido un par´ ametro de relajaci´ on w . Este m´etodo es equivalente a la iteraci´ on x k +1 = x k + wD −1 r k
Se cumple que si el m´etodo de Jacobi converge, entonces el m´etodo JOR converge si 0 w 1
≤ ≤
M´ etodos iterativos estacionarios Podemos definir otra descomposici´on de la matriz A de la forma ωA = (D + ωL)
− (−ωU + (1 − ω)D ) ,
que da lugar al m´etodo iterativo conocido como el m´etodo SOR (successive over relaxation) (D + ωL)x k +1 = ( ωU + (1
−
k
− ω)D )x
+ ωb ,
An´alogamente, se puede definir otro m´etodo SOR de la forma (D + ωU )x k +1 = ( ωL + (1
−
k
− ω)D )x
+ ωb .
Un m´etodo SOR sim´etrico, SSOR, viene definido por las ecuaciones (D + ωL)x k +1/2 = ( ωU + (1
k
− − ω)D )x + ωb , (D + ωU )x +1 = (−ωL + (1 − ω )D )x +1/2 + ωb . k
k
M´ etodos iterativos estacionarios
Lema de Kahan Sea A Cn×n con elementos diagonales no nulos. Entonces el m´etodo SOR converge solamente si 0 < ω < 2
∈
M´ etodo de Richardson Consideremos la iteraci´ on
−
x k +1 = x k + α b
que se puede reescribir como
Ax k
x k +1 = (I
k
− αA) x La matriz de iteraci´ on es H α = I − αA.
+ αb
Si los autovalores de A son λi , I = 1, . . . , n
≤ λ ≤ λ
λmin
i
max
los autovalores de H α satisfacen 1
− αλ ≤ µ ≤ 1 − αλ max
i
min
M´ etodo de Richardson
Si λmin < 0 y λmax > 0 el m´etodo diverge. Si los autovalores de A son todos positivos, se ha de cumplir 1
min
< 1
max
>
− αλ 1 − αλ esto es
0 0 el m´ınimo de φ se alcanza cuando
≡
αk
Otra forma: ∂φ Resolver ∂β = 0.
r k T r k β = T r k Ar k
M´etodo de descenso r´apido La k + 1 iteraci´on se puede representar como r k = b Ax k r k T r k αk = r k T Ar k y k +1 = y k + αk r k
−
Notar que el coste computacional es principalmente dos productos matriz-vector. De y k +1 = y k + αk r k se sigue que r k +1 = b
− Ax +1 = b − Ax − Aα r k
k
k k
= r k
− α Ar , k
k
Los residuos consecutivos r k +1 , r k son ortogonales (demostraci´ on: Ejercicio). El error e k +1 es A ortogonal a la direcci´ on r k . (demostraci´ on:
M´etodo de descenso r´apido
Algoritmo: Descenso r´apido Input: y 0 , A, b , k max , tol r 0 = b
− Ay 0, k = 0 while r > tol b k
1 2 3 4 5
z = Ar k r k T r k αk = T z r k y k +1 = y k + αk r k r k +1 = r k αk z k = k + 1
end while
−
and k < k max do
M´etodo de descenso r´apido Lema Sea A sim´etrica definida positiva y sean 0 < λn λ2 valores propios. Si P (t ) es un polinomio real, entonces
≤ ··· ≤ ≤ λ1 sus
||P (A)x || ≤ 1max |P (λ )|·||x || √ A
donde x
|| ||
A
=
A,
j
≤ j ≤n
n
∈ R
x
x T Ax .
Teorema Sean las mismas condiciones que en el lema anterior. La sucesi´on y k del m´etodo de descenso r´apido satisface
{ }
||y
− || ≤
k
x
A
−
λ1 λn λ1 + λn
k
||
y 0
− x ||
A
M´etodo de descenso r´apido
Teorema
φ(y k ) =
e k T Ae k
= e k
k
,2 ≤ µ e 0 ,2, donde A
A
κ(A) 1 µ = κ(A) + 1
−
Cuando los sistemas vienen de discretizar ecuaciones EDPs, κ(A) puede ser muy grande.
M´etodo de descenso r´apido
Se estima el n´ umero de iteraciones para ganar p digitos en la aproximaci´on de la soluci´ on:
e ≤ 10 e 0 k A
−p
resolviendo
A
κ(A) 1 κ(A) + 1
−
k
≤
10−p
Tomando logaritmos y usando la aproximaci´on de primer orden de κ(A) 1 2 Taylor log , se obtiene κ(A) + 1 κ(A) + 1
− ≈ − ≈
k
log 10 p (κ(A) + 1) 2
M´ etodo del gradiente conjugado Es una mejora del Descenso r´apido. La sucesi´ on de recurrencia es similar y k +1 = y k + αk p k Las direcciones se construyen como p 0
= r 0
p k = r k + β k p k −1 ,
k > 0
Se exige que las direcciones sean A conjugadas T p k −1 Ap k = 0 ,
es decir, p k y p k −1 son A-ortogonales. Por tanto, se debe cumplir β k =
r k T Ap k −1
M´ etodo del gradiente conjugado
Como en el m´etodo de descenso m´as r´apido, la elecci´ on de αk se obtiene minimizando φ(y k +1 ) = φ(y k + αk p k ) dando la expresi´ on r k T p k αk = T p k Ap k
Residuos consecutivos como en el m´etodo de descenso m´as r´apido satisfacen la relaci´ on de recurrencia r k +1 = r k +αk Ap k
M´ etodo del gradiente conjugado
Teorema Las sucesiones de vectores r i y p i satisfacen las siguientes relaciones (i) p i T r j = 0, 0 0 i tol b and k < k max do 1 z = Ap k
2 3 4 5 6 7
−
p k T r k αk = T z p k y k +1 = y k + αk p k r k +1 = r k αk z r k T +1 r k +1 β k = r k T r k p k +1 = r k +1 + β k p k k = k + 1
end while
−
M´ etodo del gradiente conjugado
Ejercicio Aplicar el algoritmo del gradiente conjugado para el problema
−
2 1
−1
2
x 1 x 2
=
usando como aproximaci´ on inicial x 0 = (0, 0)T .
1 0
M´ etodo del gradiente conjugado Soluci´ on: x 0 = (0, 0)T . p 0 = r 0 = b = (1, 0)T . α0 =
T
r 0 r 0 p 0t Ap 0
r 1 = r 0
=
1 2,
β 0 =
r 1T r 1 r 0T r 0
α1 =
r 1T r 1 p 1T AP 1
=
1 4,
=
0 0
x 1 = x 0 + α0 p 0 =
− α0Ap 0 =
1 0
2 1
1 2
+
+
1 2
1 0
1 2
0
=
0
p 1 = r 1 + β 0 p 0 =
1 4
1 2
1 4 1 2
2 3 1 3
0
+
2 3
=
=
0
, r 1T r 0 = 0
1 2
2 3
x 2 = x 1 + α1 p 1 =
1 2
− − 1 0
=
1 4 1 2
View more...
Comments