Met Iterativos

Share Embed Donate


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 



.

Conceptos b´asicos

El vector residuo, en cada iteraci´ on, se define como r k  = b 

− Ax 



.

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



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 



= Ax 

 − Ax 



= Ae k  .

Usando normas matriciales:

r   ≤ Ae   (1a); k 



e   ≤ A 1r   (1b ) −





Notar adem´as

x  ≤ A 1b  (2a); −

b  ≤ AA 1b  = Ax  (2b) −

Conceptos b´asicos

Combinando (1a) con (2a) y (1b) con (2b) obtenemos 1

r   ≤ e   ≤ AA 1 r   AA 1 b  x  b  Finalmente, recordando que κ(A) = AA 1 :  1 r    e   r   ≤ ≤ κ(A) x  b  κ(A) b  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 , −





M´etodo de Gauss-Seidel: M  = D  + L y N  =

k  = 0, 1, . . .

−U 

(D  + L)−1 Ux  + (D  + L)−1 b 



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

− −





a1n x nk  + b 1





k  n n + b 2

 − a13x 3 − · · · − a21 x 1  − a23 x 3  − · · · − a2 x  a12 x 2

−

an1 x 1k 



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





−1

   k 



−1

 

= M  Ne  = M  N 



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





− ω)D )x 

+ ωb  ,

An´alogamente, se puede definir otro m´etodo SOR de la forma (D  + ωU )x k +1 = ( ωL + (1





− ω)D )x 

+ ωb  .

Un m´etodo SOR sim´etrico, SSOR, viene definido por las ecuaciones (D  + ωL)x k +1/2 = ( ωU  + (1



− − ω)D )x  + ωb  , (D  + ωU )x  +1 = (−ωL + (1 − ω )D )x  +1/2 + ωb  . 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 



 − αA) x  La matriz de iteraci´ on es H α = I  − αA.

+ αb 

Si los autovalores de A son λi , I  = 1, . . . , n

 ≤ λ  ≤ λ

λmin



max

los autovalores de H α  satisfacen 1

− αλ  ≤ µ  ≤ 1 − αλ max



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 

= r k 

 − α Ar  , 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 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 

  − ||  ≤





A



λ1 λn λ1  + λn



 ||

y 0

− x ||

A

M´etodo de descenso r´apido

Teorema

 

φ(y k ) =

 

e k T Ae k 

= e 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





≤

10−p 

Tomando logaritmos y usando la aproximaci´on de primer orden de κ(A) 1 2 Taylor log , se obtiene κ(A) + 1 κ(A) + 1

−  ≈ −  ≈



 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 =



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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF