• No se han encontrado resultados

Met Iterativos

N/A
N/A
Protected

Academic year: 2021

Share "Met Iterativos"

Copied!
98
0
0

Texto completo

(1)

et

et

o

o

do

do

s

s

it

it

er

er

at

at

iv

iv

os

os

Da

Dami´mi´an an GiGineneststar ar PeirPeir´´oo

Departamento

Departamento de de Matem´Matem´atica atica AplicadaAplicada

Universida

Universidad d Polit´Polit´ecnica ecnica de de ValenciaValencia

Curso 2013-2014

(2)
(3)

´

´

Indice

Indice

1 1   Introducci´  Introducci´onon 2 2 CoConcncepeptotos b´s b´asasicicosos 3

3 M´M´etoetodos itedos iteratrativos esivos estactacionionariosarios

M´etetoodo do de de RicRichardhardsosonn M´

M´etoetodo do de de direccdirecciones iones alteralternadasnadas M´

M´etetoododos s a a blblooququeses

4

4   Precondicionadores  Precondicionadores

Introducci´ Introducci´onon Pre

Preconcondicdicionionadoreadores s cl´cl´asiasicoscos

Precondicionadores polinomiales Precondicionadores polinomiales

5

5 M´M´eetotodo do de de dedescscenenso so r´r´apapididoo

6

(4)
(5)

´

´

Indice

Indice

1 1   Introducci´  Introducci´onon 2 2 CoConcncepeptotos b´s b´asasicicosos 3

3 M´M´etoetodos itedos iteratrativos esivos estactacionionariosarios

M´etetoodo do de de RicRichardhardsosonn M´

M´etoetodo do de de direccdirecciones iones alteralternadasnadas M´

M´etetoododos s a a blblooququeses

4

4   Precondicionadores  Precondicionadores

Introducci´ Introducci´onon Pre

Preconcondicdicionionadoreadores s cl´cl´asiasicoscos

Precondicionadores polinomiales Precondicionadores polinomiales

5

5 M´M´eetotodo do de de dedescscenenso so r´r´apapididoo

6

(6)
(7)

I

I

n

n

t

t

r

r

o

o

d

d

u

u

c

c

c

c

i

i

´

´

o

o

n

n

Dada una matriz invertible de tama˜

Dada una matriz invertible de tama˜nono nn

×

×

nn y un vector y un vector b b 

∈∈

RRnn la ´´unicala unica

soluci´

soluci´on del sistemaon del sistema

Ax  Ax  == b b  es es x  x  == AA−−11b b  Nosotros

Nosotros trabajaremos trabajaremos con con matrices matrices vacvac´´ıas ıas (sparse) es (sparse) es decir decir matricesmatrices con un n´

con un n´umero de elementos no nulos (nnz(umero de elementos no nulos (nnz(AA)) del orden)) del orden

nnz 

nnz ((AA) ) == c c 

··

nn

con

(8)
(9)

I

I

n

n

t

t

r

r

o

o

d

d

u

u

c

c

c

c

i

i

´

´

o

o

n

n

No se puede hacer la inversi´

No se puede hacer la inversi´on deon de AA ya que: ya que:

1

1 AA−−11 puede puede dejar de dejar de ser ser vacvac´´ıa, ıa, es es decir decir se se llena, llena, ==

 no se puede no se puede almacenar.

almacenar.

2

2 C´aallccuC´ ullo deo de AA−−11 puede costarpuede costar O O ((nn33) operaciones (tiempo de CPU:) operaciones (tiempo de CPU: a˜

a˜nos).nos).

Buscaremo

Buscaremos s m´m´etoetodos dos aproximados aproximados para para la la resoluresoluci´ci´on del sistema queon del sistema que se basan esencialmente en el producto

(10)
(11)

Conceptos b´asicos

Un m´etodo iterativo obtiene una soluci´on aproximada de Ax = b 

construyendo una sucesi´on de vectores:

1, x 2, . . . , x 

desde un vector inicial arbitrario x 0.

Un m´etodo iterativo se dice convergente si

lim

k →∞x k  = x  .

El vector error, en cada iteraci´on, se define como

(12)
(13)

Conceptos b´asicos

El vector residuo, en cada iteraci´on, se define como

= b 

Ax  .

Se puede probar

lim

(14)
(15)

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.

< TOL, (error absoluto) o

e k 

< TOL (error relativo)

Pero x , y e  no son conocidos el criterio de parada no es ´util. Se utiliza el criterio del residuo 

< TOL (absoluto) o

r k 

(16)
(17)

Conceptos b´asicos

La relaci´on entre el error y el residuo es

= b 

Ax  = Ax 

 −

Ax  = Ae  .

Usando normas matriciales:

 ≤ 

A



(1a);

 ≤ 

A−1



(1b ) Notar adem´as

(18)
(19)

Conceptos b´asicos

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

A



A−1

 ≤

 

 ≤ 

A



A −1



Finalmente, recordando que κ(A) =

A



A−1

: 1 κ(A)

 ≤

 

 ≤

κ(A)

(20)
(21)

etodos iterativos estacionarios

Sea A la matriz del sistema Ax = b . Podemos considerar la partici´on (splitting)

A = M 

donde M 

 

= A es una matriz invertible. Se construye el sistema iterativo

+1 = M −1Nx  + M −1b = Hx  + 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

Ax k 

= x k  + M −1r k 

Definici´on

(22)
(23)

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  =

(L + D )

+1 =

D −1(L + U )x  + D −1b , k  = 0, 1, . . .

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

(24)
(25)

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.

1k +1 = 1 a11

a12x  k  2

 −

a13x 3k 

 − · · · −

a1nx nk  + b 1

2k +1 = 1 a22

a21x  k  1

 −

a23x 3k 

 − · · · −

a2nx nk  + b 2

.. . x nk +1 = 1 ann

an1x  k  1

 −

an3x 3

 − · · · −

an,n−1x nk −1 + b n

(26)
(27)

etodos iterativos estacionarios

Una iteraci´on Gauss-Seidel es barata. Adem´as tiene que resolver un sistema triangular inferior (D + L)x +1 = b 

Ux  “vac´ıo”. Recordar que hay que evitar invertir matrices.

En el m´etodo de Gauss-Seidel las componentes de x +1 que ya conocemos se utilizan en la propia iteraci´on k + 1.

(28)
(29)

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 

x . Como Mx  = Nx + b ,

x k +1

= N 

x k 

(30)
(31)

etodos iterativos estacionarios

Definici´on

Una matriz A = [aij ] de tama˜no n

×

n se dice que es estrictamente diagonal dominante si

|

aii 

|

>

n

 j =1, j =i 

|

(32)
(33)

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.

(34)
(35)

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 

 −

 j =1  j =i  aij  j 

+ (1

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 −1r k 

Se cumple que si el m´etodo de Jacobi converge, entonces el m´etodo JOR converge si 0

 ≤

1

(36)
(37)

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 k  + ωb  ,

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

ωL + (1

ω)D )x k  + ωb  .

Un m´etodo SOR sim´etrico, SSOR, viene definido por las ecuaciones

(D + ωL)x k +1/2 = (

ωU + (1

ω)D )x k  + ωb  ,

(38)
(39)

etodos iterativos estacionarios

Lema de Kahan

Sea A

Cn×n con elementos diagonales no nulos. Entonces el m´etodo

SOR converge solamente si

(40)
(41)

M´etodo de Richardson

Consideremos la iteraci´on

x k +1 = x k  + α

Ax k 

que se puede reescribir como

x k +1 = (I 

 −

αA) x k  + αb 

La matriz de iteraci´on es H α = I 

 −

αA.

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

λmin

 ≤

λ

 ≤

λmax

los autovalores de H α satisfacen

(42)
(43)

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 1

αλmax >

1 esto es 0 < α < 2 λmax El valor de α ´optimo es α = 2 λmin + λmax

(44)
(45)

etodo de direcciones alternadas

Los m´etodos de direcciones alternadas (ADI) se introdujeron para resolver problemas el´ıpticos ∂  ∂ x 

a(x , y )∂ u  ∂ x 

+ ∂  ∂ y 

(x , y )∂ u  ∂ y 

= f  

Al discretizar el problema se llega a un sistema

Hu  + Vu = b 

donde H  est´a asociada a la discretizacion de

∂  ∂ x 

a(x , y ) ∂  ∂ x 

y V  est´a asociada a la discretizaci´on de

∂ 

(46)
(47)

etodo de direcciones alternadas

El m´etodo ADI resuelve el sistema (H + ρI ) u +1

2 = (ρI 

 −

V ) u k  + b 

(V  + ρI ) u +1 = (ρI 

 −

H ) u +1

(48)
(49)

M´etodos a bloques

Dado un sistema a bloques

A11

· · ·

A1 .. . ... A1

· · ·

Aqq 

1 .. . X 

=

1 .. . B 

M´etodo de Jacobi a bloques for i  = 1, . . . q  do X k +1 = A−ii 1

 −

 j =1  j =i  Aij  j 

end for

(50)
(51)

M´etodos a bloques

M´etodo de Gauss-Seidel a bloques for i  = 1, . . . q  do X k +1 = A−ii 1

B i 

 −

i −1

 j =1 Aij  j k +1

 j =i +1 Aij  j k Aij  j 

end for

(52)
(53)

Precondicionadores. Introducci´

on

Precondicionar un sistema lineal no es otra cosa que (pre)multiplicar el sistema por una matriz nonsingular, denotada por M −1,

Produce el sistema equivalente

M −1Ax  = M −1b 

 Qu´e hay que tener en cuenta para elegir el precondicionador? Condicionar mejor el sistema inicial,

El precondicionador M −1, debe ser f´acil de invertir, es decir, debe producir un sistema lineal

My  = c 

(54)
(55)

Precondicionadores. Introducci´

on

Dado un m´etodo iterativo

x k +1 = Gx k  + f  

puede verse como una t´ecnica para resolver el sistema (I 

 −

G ) x  = f  

comparando con

x k +1 = M −1Nx k  + M −1b 

se tiene que I 

 −

G  = M −1N , G  =

M −1N  = M −1 (M 

N ) = M −1A. As´ı el m´etodo iterativo se puede ver como una t´ecnica para resolver el sistema precondicionado

(56)
(57)

Precondicionadores cl´asicos

= D    Jacobi

GS  = D 

L   Gauss

Seidel

SOR  = 1

ω (D 

ωL) SOR

Factorizaci´on incompleta de Cholesky

M = ˜L˜LT  donde ˜L es una aproximaci´on del factor triangular obtenido por la factorizaci´on de Cholesky. Tenemos que resolver un sistema con la matriz M  queremos que e L sea lo mas vac´ıa posible. Para ello se permite que ˜L tenga los elementos no cero en las posiciones donde los tiene A, esto es

(58)
(59)

Precondicionadores cl´asicos

LU incompleta

Se construye M  = ˜LU ˜   donde ˜L es una matriz vac´ıa triangular inferior que aproxima a L y ˜U  es una matriz vac´ıa triangular superior que aproxima a U . Fijado un subconjunto S 

 ⊂

[1, . . . , n]

×

[1, . . . , n] de posiciones de

elementos en la matriz, entonces

aij  :=

aij 

 −

aik a

−1

kk  akj  si (i , j )

aij  si (i , j )

∈

(60)
(61)

Precondicionadores cl´asicos

Si se hace una factorizaci´on LU con el mismo patr´on de ceros que la matriz A se obtiene el precondicionador ILU(0). ILU(m), si se permite que se llenen m posiciones en cada fila.

La factorizaci´on incompleta puede fallar incluso si la matriz inicial admite factorizaci´on.

El fallo ocurre cuando akk  = 0. Sin embargo, en la pr´actica es raro que hayan fallos.

(62)
(63)

Precondicionadores polinomiales

Estos precondicionadores son de la forma

M −1 = p (A)

Un caso particular son los precondicionadores de Neuman. Se supone que la matriz A se escribe

A = D 

C  =

 −

CD −1

con lo que

A−1 = D −1

 −

CD −1

−1 = D −1

I + CD −1 +

CD −1

2 +

· · ·

Se obtienen los precondicionadores de Neuman truncando la serie. Est m´etodo funcio si (CD −1) < 1.

(64)
(65)

M´etodo de descenso r´apido

Resolver Ax  = b , con A sim´etrica y definida positiva (SPD). Definimos la funci´on cuadr´atica φ : Rn

R

φ(y ) = 1 2(y 

 −

x ) T A(

 −

x ) = 1 2e  T Ae  .

Se tiene φ(y )

0

 ∀

 

= 0 ( definici´on de matriz SPD). Error e  = y 

 −

x .

Teorema

(66)
(67)

M´etodo de descenso r´apido

φ(y ) = 12(y 

 −

x )T A(y 

 −

x ) = 12e T Ae 

φ (y ) = constant representa un hiperelipsoide en un espacio de

dimensi´on n.

El centro geom´etrico es la soluci´on x  del sistema lineal (m´ınimo). Construir una sucesi´on

 {

}

 tal que lim→∞ = x .

+1 = y  + α

(68)
(69)

M´etodo de descenso r´apido

Este m´etodo construye una sucesi´on que va hacia el centro del hiperelipsoide en la direcci´on del gradiente.

El gradiente de φ en el punto y  es

φ(y k ) = 1 2

e  T  k  Ae k  =

1 2y  T  k  Ay k 

 −

y k T b  + 1 2x  T Ax 

= Ay 

 −

b =

r k 

Como la direcci´on del vector gradiente es hacia fuera, la direcci´on buscada coincide con el residuo r  en la aproximaci´on actual.

En consecuencia la nueva aproximaci´on es

+1 = y  + α

donde α es una constante a determinar. ¿C´omo? Minimizando φ(y ) en la direcci´on buscada r .

(70)
(71)

M´etodo de descenso r´apido

Desarrollando la funci´on φ(y  + β r ) se tiene un polinomio de segundo grado en la variable β .

φ(y  + β r ) = (y  + β r 

 −

x )T A(y  + β r 

 −

x ) = (y  + β r 

 −

x )T (Ay  + β Ar 

 −

b ) = (y  + β r 

 −

x )T (β Ar 

 −

)

= (β r 

 −

)T (β Ar 

 −

)

= β 2r T Ar 

 −

β 

T r  + e T Ar 

+ x T r 

(72)
(73)

M´etodo de descenso r´apido

Como r T Ar  > 0 el m´ınimo de φ se alcanza cuando

α

 ≡

β = r  T  k  r k  r T Ar  Otra forma: Resolver ∂φ∂β = 0.

(74)
(75)

M´etodo de descenso r´apido

La k  + 1 iteraci´on se puede representar como

= b 

Ax  α = r  T  k  r k  r T Ar +1 = y  + α

Notar que el coste computacional es principalmente dos productos matriz-vector.

De y +1 = y  + α se sigue que

+1 = b 

Ax +1 = b 

Ax 

 −

= r 

 −

αAr ,

Los residuos consecutivos r +1, r  son ortogonales (demostraci´on: Ejercicio).

(76)
(77)

M´etodo de descenso r´apido

Algoritmo: Descenso r´apido Input: y 0, A, b , k max, tol

0 = b 

Ay 0, k  = 0

while

 

> tol

 

and k  < k max do

1 z = Ar  2 α = r  T  k  r k  z T  k  3 y +1 = y  + α 4 r +1 = r 

 −

αz  5 k = k + 1 end while

(78)
(79)

M´etodo de descenso r´apido

Lema

Sea A sim´etrica definida positiva y sean 0 < λn

 ≤ · · · ≤

λ2

 ≤

λ1 sus valores propios. Si P (t ) es un polinomio real, entonces

||

P (A)x 

||

A

 ≤

max

1≤ j ≤n

|

P (λ j )

| · | |

||

A, x 

 ∈

Rn

donde

 ||

||

A =

√ 

x T Ax . Teorema

Sean las mismas condiciones que en el lema anterior. La sucesi´on

 {

}

del m´etodo de descenso r´apido satisface

||

 −

||

A

 ≤

λ1

λn λ1 + λn

(80)
(81)

M´etodo de descenso r´apido

Teorema

 

φ() =

 

k  Ae k  =

e k 

A,2

 ≤

µk 

e 0

A,2,   donde µ =

κ(A)

1

κ(A) + 1 Cuando los sistemas vienen de discretizar ecuaciones EDPs, κ(A) puede ser muy grande.

(82)
(83)

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:

A

0

A

10 −p  resolviendo

κ(A)

1 κ(A) + 1

10−p 

Tomando logaritmos y usando la aproximaci´on de primer orden de Taylor log κ(A)

1 κ(A) + 1

 ≈

2 κ(A) + 1, se obtiene k 

 ≈

 log 10 2 p (κ(A) + 1)

(84)
(85)

etodo del gradiente conjugado

Es una mejora del Descenso r´apido. La sucesi´on de recurrencia es similar

+1 = y  + α

Las direcciones se construyen como

0 = r 0

= r  + β 1, k  > 0

Se exige que las direcciones sean A conjugadas

1Ap  = 0 ,

es decir, p  y p 1 son A-ortogonales. Por tanto, se debe cumplir

β  = r 

(86)
(87)

etodo del gradiente conjugado

Como en el m´etodo de descenso m´as r´apido, la elecci´on de α se obtiene minimizando φ(y +1) = φ(y  + α) dando la expresi´on

α = r 

T  k  p k 

T Ap 

Residuos consecutivos como en el m´etodo de descenso m´as r´apido satisfacen la relaci´on de recurrencia

(88)
(89)

etodo del gradiente conjugado

Teorema

Las sucesiones de vectores

 {

}

y

 {

}

 satisfacen las siguientes relaciones (i) p T r  j  = 0, 0

0

i  < j 

 ≤

k ,

(ii) r T r  j  = 0, i 

 

= j , 0

i , j 

 ≤

k ,

(iii) p T Ap  j  = 0, i 

 

= j , 0

i , j 

 ≤

k ,

(iv) env

{

0, r 1, . . . , r 

}

= env

{

0, p 1, . . . , p 

}

=

K

(A, r 0, k + 1),

donde

 K

(A, r 0, k  + 1) = env

{

0, Ar 0, . . . , Ak r 0

}

.

Corolario

El m´etodo del gradiente conjugado obtiene la soluci´on del sistema de n

(90)
(91)

etodo del gradiente conjugado

Otras relaciones ´utiles

1 = r  . Ya que de Ap  j  = 0 se sigue  j  = 0 y, por tanto, p T r k  = (r k  + β k 1p k 1)T r k  = r k T r k 

2 Ap  = p Ap .

3   Combinando 1 y 2, se obtiene una definici´on alternativa de α:

αk  = r T p k  p T Ap k  = r  T  k  r k  r T Ap k 

4   Formulaci´on alternativa de β . Como Ap  = T  1

αk  (r  +1) = 1 αk  r T r +1Ap k  = r k T +1 1 αk  (r k  r k +1) = − 1 αk  r +1r k +1 Por tanto β  r  T  k +1p k  r k T +1r k +1

(92)
(93)

etodo del gradiente conjugado

Algoritmo: Gradiente conjugado Input: y 0, A, b , k max, tol

0 = p 0 = b 

Ax 0, k  = 0

while

 

> tol

 

and k  < k max do

1 z = Ap  2 α = p  T  k  r k  z T  k  3 y +1 = y  + α 4 r +1 = r 

 −

αz  5 β  = r  T  k +1r k +1 r T r  6 p +1 = r +1 + β  7 k = k + 1 end while

(94)
(95)

etodo del gradiente conjugado

Ejercicio

Aplicar el algoritmo del gradiente conjugado para el problema

2

1

1 2

 

12

=

1 0

(96)
(97)

etodo del gradiente conjugado

Soluci´on: x 0 = (0,0)T . p 0 = r 0 = b = (1,0)T . α0 = r 0T r 0 p 0t Ap 0 = 12, x 1 = x 0 + α0p 0 =

0 0

+ 1 2

1 0

=

1 2 0

1 = r 0

α0Ap 0 =

1 0

12

2

1

=

0 1 2

, T  1 r 0 = 0 β 0 = r 1T r 1 r 0T r 0 = 1 4, p 1 = r 1 + β 0p 0 =

0 1 2

+ 1 4

1 0

=

1 4 1 2

α1 = r 1T r 1 p 1T AP 1 = 2 3 x 2 = x 1 + α11 =

1 2 0

+ 2 3

1 4 1 2

=

23 1 3

(98)

Referencias

Documento similar

Pero cuando vio a Mar sacar el fuego de bajo su ala, voló de vuelta a su tribu a contarles lo que había visto.... Justo antes de que el sol saliera, Tatkanna se despertó y comenzó

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

— La «guillotina» del Tribunal Europeo contra el nega- cionismo del Holocausto y la más modesta respuesta ante discursos revisionistas y negacionistas de otros graves

En definitiva el profesor deberá tratar de desarrollar en los alumnos una serie de habilidades tanto mentales como mo- trices, con la finalidad de conseguir desa- rrollar un

El Programa de Mecenazgo organiza un concurso para &#34;Amigos del IAC&#34; en el cual podrán realizar una propuesta de observación para un telescopio robótico 1. Aquellas que

Este proyecto fin de carrera tiene como objetivo principal el desarrollo de un sistema de inferencia filogen´ etica a partir de secuencias de ADN, uti- lizando m´ etodos de selecci´