Sunteți pe pagina 1din 42

Metodos de Solucin Iterativos

Empezar con una aproximacin inicial


para el vector solucin (x0)

Actualizar en cada iteracin el vector x


usando el sistema Ax=b

Cada iteracin involucra el producto


matriz-vector.

Si A es esparcida este producto es


realizado eficientemente.
1

Procedimiento de solucin
Iterativa
Escribir el sistema Ax=b en una

forma

equivalente x=Tx+c
Empezando con x0, genere una secuencia
de aproximaciones {xk} iterativamente
por
xk+1=Txk+c
Representacin de T y c dependen del
tipo de mtodo usado.
Pero para cada mtodo T y c son
obtenidas a partir de A y b.
2

Convergencia

Cuando k, la secuencia {xk} converge a


un vector solucin bajo algunas condiciones
en la Matriz T.
Esto impone condiciones diferentes en la
matriz A para diferentes mtodos.
Para la misma matriz A, un mtodo puede
converger mientras que otro puede divergir.
Por lo tanto para cada mtodo la relacin
entre A y T deben ser encontradas para
decidir la convergencia.
3

Diferentes metodos Iterativos

Iteracin de Jacobi
Iteracin de Gauss-Seidel
Successive Over Relaxation (S.O.R)

SOR es un mtodo usado para acelerar la


convergencia.
La iteracin de Gauss-Seidel es un caso
especial del mtodo SOR.

Iteracin de Jacobi
a11 x1 a12 x2 a1n xn b1
a21 x1 a22 x2 a2 n xn b2

an1 x1 an 2 x2 ann xn bn

x0

x10
0
x2

0
xn

1
i 1

1
(b1 a12 x20 a1n xn0 )
k 1
k
x

a
x
i ij j
a11
i
aii
j 1
1
x12
(b2 a21 x10 a23 x30 a2 n xn0 )
a22
1
x1n
(bn an1 x10 an 2 x20 ann 1 xn01 )
ann
x11

j i 1

ij

k
j

Mtodo de Jacobi. Forma Matricial

Descomponiendo A = D - L - U. -U=triu(A)-D
-U
D

-L

-L=tril(A)-D

D=diag(diag(A))

xk+1=Txk+c - iteracin por el mtodo de


Jacobi
Se puede escribir como A=D-L-U (No es una
factorizacin)

0 0
0
0 0 a12 a13
a11 a12 a13 a11 0
a
0 a
a
0

a
a
0
0
0
0

a
22
21
23
21 22 23


a31 a32 a33 0
0 a33 a31 a32 0 0
0
0

Ax=b (D-L-U)x=b
1
k 1
xi
aii
Dxk+1

i 1

k
b

a
x
i ij j
j 1

Lx

j i 1

Dxk+1 = (L+U)xk+b

ij

Ux

xj

xk+1=D-1(L+U)xk+D1
b
T=D-1(L+U)
c=D-1b

iteracin Gauss-Seidel (GS)


a11 x1 a12 x2 a1n xn b1
Use lo ltimo a x a x a x b
21 1
22 2
2n n
2
al actualizar

an1 x1 an 2 x2 ann xn bn

x0

1
i 1

1
(b1 a12 x20 a1n xn0 )
k 1
k 1
x

a
x
i ij j
a11
i
aii
j 1
1
1
1
0
0
x2
(b2 a21 x1 a23 x3 a2 n xn )
a22
1
x1n
(bn an1 x11 an 2 x12 ann 1 x1n 1 )
ann
x11

x10
0
x2

0
xn

a x

j i 1

ij

k
j

x(k+1)=Tx(k)+x iteracin de GaussSeidel


Ax=b (D-L-U)x=b
k 1
i

Dx

aii
k+1

i 1

bi aij x
j 1

Lxk1

k 1
j

a x

j i 1

ij

k
j

(D-L)xk+1 =Uxk+b

Uxk

xk+1=(D-L)-1Uxk+(D-L)-1b
Tgs=(D-L)-1U
cgs=(D-L)-1b
9

Comparacin

teracin de Gauss-Seidel converge ms


rpidamente que la iteracin de
Jacobi
desde que este usa la ltima actualizacin.

Pero existen algunos casos que la iteracin


de Jacobi converge pero Gauss-Seidel no.

El mtodo de sobre relajacin sucesiva es


usada para acelerar la convergencia del
mtodo de Gauss-Seidel.
10

Metodo Sobre Relajacin


Sucesiva (SOR)
Puede ser escrita como sigue
k 1
i

1
x
aii
k
i

i 1

j 1

bi aij x

xik 1 xik ik

k 1
j

aij x
j i

k
j

trmino Corrector
i2

xi3
xi2
xi1
0
i

i1

2
i

i1
i0

Multiplicando por

Converge ms
rpido

i0
11

SOR
xik 1 xik ik
k 1
i

k 1
i

xik 1

1
x
aii
k
i

i 1

j 1

bi aij x

k 1
j

j i

i 1
1
k 1
(1 ) x
b

a
x
i ij j
aii
j 1
(1 ) xik ~
xik 1
k
i

aij x
k
j

j i 1

ij

k
j

Donde el ultimo termino es la estimacin de


Gauss-Seidel
1<<2 Sobre-relajacin (convergencia rpida)
0<<1 Sub-relajacin (convergencia ms lenta)
Existe un valor ptimo para
12

x(k+1)=Tx(k)+c iteracin para SOR


k 1
i

1
(1 ) x
aii
k
i

i 1

bi aij x
j 1

k 1
j

j i 1

ij

k
j

Dxk+1=(1-)Dxk+b+Lxk+1+Uxk
(D- L)xk+1=[(1-)D+U]xk+b
T=(D- L)-1[(1-)D+U]
c= (D- L)-1b
13

Convergencia de los mtodos


iterativos
Define el vector solucin comox
Define el vector error comoe k

x e x
k

Substituye esto enx k 1 Tx k c

e k 1 x T (e k x ) c Tx c Te k
e k 1 Te k TTe k 1 TTTe k 2 T ( k 1) e 0
14

Convergencia de los Mtodos


Iterativos
iteracin

k 1

( k 1) 0

e T

( k 1)

potencia

El mtodo iterativo convergera para cualquier ve


inicial arbitrario si la siguiente condicin es satisf
Condicin de Convergencia

Lim e k 1 0 si Lim T ( k 1) 0
k

15

Norma de un vector

La norma de un vector debe satisfacer estas


condiciones:
x 0 Para cualquier vector no nulo x

x 0 si y solo si x es un vector nulo


x x

Para un escalar

x y x y
Las normas Vectoriales pueden ser definidas
de diferentes formas en tanto que la
definicin de norma sea satisfecha.
16

Normas de vectores
Comunmente usadas
norma Suma o norma 1

x 1 x1 x2 xn
norma Euclideana norma
2

x 2 x12 x22 xn2

norma Mxima o norma

max i xi
17

Norma de una matriz


La norma de una matriz debe
satisfacer estas condiciones:

A 0
A 0 si y solo si A es una matriz nula
A A

para escalar

A B A B
Importante identidad

Ax A x

x es un vector
18

Normas de matrices mas usadas


Norma Mxima suma_columna o norma
m
1

A 1 max aij
1 j n

i 1

Norma Espectral o norma 2

A 2 maximo valor propio de A A


T

Norma Maxima suma_fila o norma


n

A max aij
1i m

j 1

19

Ejemplo

Calcule las normas 1 y de la matriz

3 9 5
7 2 4

6 8 1

17 A
13
15

16 19 10
A1
20

Condicin de Convergencia
lim e

k 1

0 si lim T

( k 1)

Expresar T en terminos de matriz modal P y


: Matriz Diagonal con valores propios de T en la diago

T P P
T

( k 1)

( k 1)

1k 1

1
1

P P P P P P
( k 1)

k2 1

k 1

kn 1

lim T ( k 1) 0 lim P( k 1) P 1 0 lim ( k 1) 0


k

lim ki 1 0 i 1 for i 1,2,...,n


k

21

Condicin Suficiente para


Si convergencia
la magnitud de todos los valores propios de l
Matriz de iteracin T es menor que 1 entonces
iteracin es convergente
Los valores propios son mas fcil de calcular
que la norma de una matriz

Tx x
Tx x
x T x T (T ) T
Tx T x

(T ) 1

condicin suficiente para convergenc


22

Convergencia de la iteracin de
Jacobi
-1
T=D (L+U)

a21
a22
T

an1
a
nn

a12

a11
0

a23

a22

ann 1

ann

a1n

a11

a2 n

a22

an 1n

an 1n 1
0

23

Convergencia de la iteracin de
Jacobi

Evaluar la norma infinita (suma mxima fila) de


T

1
j 1
i j

aij
aii
n

1 Para i 1,2,..., n

aii aij
j 1
i j

Matriz Diagonal
estrictamente
Dominante

Si A es una matriz con diagonal


estrictamente dominante, entonces la
iteracin de Jacobi converge para cualquier

24

Criterios de Parada

Ax=b

En cualquier iteracin k, el trmino residual


es
rk=b-Axk

Verificar la norma del trmino residual


||b-Axk||

Si esto es menor que la cota del valor de


parada
25

Ejemplo 1 (Iteracin de Jacobi)


4 1 1 x1 7
4 8 1 x 21

2 1 5 x3 15

0
x 0 0
0

b Ax 0

26.7395

Matriz Diagonal estrictamente dominante


7 x20 x30
7
x
1.75
4
4
0
0
21

4
x

x
21
1
3
x12
2.625
8
8
0
0
15

2
x

x
15
1
1
2
x3
3.0
5
5
1
1

b Ax1 10.0452
2

26

Ejemplo 1 continuacin...
7 x12 x31
7 2.625 3
x

1.65625
4
4
21 4 x11 x31 21 4 1.75 3
2
x2

3.875
8
8
15 2 x11 x12 15 2 1.75 2.625
2

4.225
x3
5
5
2
1

7 3.875 4.225
1.6625
4
21 4 1.65625 4.225
x23
3.98125
8
15 2 1.65625 3.875
x33
2.8875
5

b Ax 2

6.7413

x13

b Ax 3

1.9534

Matriz es diagonal estrictamente dominante, las


iteraciones de Jacobi son convergentes.

27

Ejemplo 2
2 1 5 x1 15
4 8 1 x 21

4 1 1 x3 7

0
x 0 0
0

b Ax 0

26.7395

La matriz no es diagonal estrictamente dominante


15 x20 5 x30 15
x

7.5
2
2
21 4 x10 x30
21
1
x2
2.625
8
8
x31 7 4 x10 x20
7.0
1
1

b Ax1 54.8546
2

28

Ejemplo 2 continuacin...
15 2.625 5 7
11.3125
2
21 4 7.5 7
x12
0.25
8
x31 7 4 7.5 2.625 39.625
x11

b Ax 2

208.3761

El trmino del residual aumenta en cada


iteracin, de tal forma que las iteraciones
divergen.
Note que la matriz no es diagonalmente
estrictamente dominante
Cuando la matriz no tiene diagonal
29

Convergencia de la iteracin de
Gauss-Seidel

Iteracin GS converge para cualquier vector


inicial si A es una matriz diagonal
estrictamente dominante

Iteracin GS converge para cualquier vector


inicial si A es una matriz simtrica y definida
positiva La matriz A es definida positiva si
xTAx>0 para cualquier vector x no nulo.

30

Ejemplo1 (Iteracin de GaussSeidel)


4 1 1 x 7
0
1

4 8 1 x 21

2 1 5 x3 15

x 0 0
0

b Ax 0

26.7395

Matriz Diagonal estrictamente dominante


7
7 x20 x30

1.75
x
4
4
21 4 x11 x30 21 4 1.75
1

3.5
x2
8
8
15 2 x11 x12 15 2 1.75 3.5
1

3.0
x3
5
5
1
1

b Ax1 3.0414
2

b Ax1 10.0452
2

teracin de
Jacobi

31

Ejemplo 1 continuacin...
7 3.5 3
7 x12 x31
x

1.875
4
4
21 4 x12 x31 21 4 1.875 3
2
x2

3.9375
8
8
15 2 x12 x22 15 2 1.875 3.9375
2

2.9625
x3
5
5
2
1

Cuando ambos mtodos


Gauss-Seidel
convergen,
converge ms rpido.

b Ax 2
b Ax 2

0.4765
6.7413

Iteracin de Jacobi

de Jacobi y
Gauss-Seidel

32

Convergencia del mtodo SOR

Si 0<<2, mtodo SOR converge para


cualquier valor inicial si A es una matriz
simtrica y definida positiva.
Si >2, mtodo SOR diverge
Si 0<<1, SOR mtodo converge pera la
velocidad de convergencia es mas lenta
que el mtodo de Gauss-Seidel.
33

Conteo de operaciones

El # de operaciones para la Eliminacin gaussiana


o la descomposicin LU es de 0 (n3), orden de n3
Para los mtodos iterativos, el nmero de
multiplicaciones escalares es 0 (n2) en cada
iteracin.
Si el nmero total de las iteraciones requeridas
para la convergencia es mucho menos que n,
entonces los mtodos iterativos son ms eficiente
que mtodos directos.
Los Mtodos iterativos tambin se satisfacen bien
para las matrices esparcidas.
34

Formas Matriciales. Resumen


La solucin del sistema A x = b se obtiene
mediante la siguiente expresin recursiva:
x ( k ) = Tx ( k-1 ) + c
Mtodo
Jacobi
Gauss-Seidel
SOR

A= D - L - U
T

D-1 (L+U)

D-1 b

( D -L)-1 U

( D -L)-1 b

(D-w L)-1 [(1-w) D + w U ]

w(D-w L)-1 b

35

Problema 1
Resolver el siguiente sistema por el mtodo SOR,
considere =1.25.

4 x1 x2 2
x1 4 x2 x3 6
x2 4 x3 2
0

x1 0 x2 0 x3 0
Aplicamos el metodo de SOR:
x k 1 (1 ) x k ~
x k 1
i

36

Problema 1
0

2 x2
20
1
~
x1

0.5
4
4
1
0
x1 ~
x11 1 x1 1.25 x0.5 1 1.25 x0 0.625
1

6 x1 x3
6 0.625 0
1
~
x2

1.65625
4
4
1
0
x2 ~
x21 1 x2 1.25 x1.65625 1 1.25 x0
2.0703125
1

2 x2
2 2.0703125
~
x

1.017578125
4
4
1
0
x3 ~
x31 1 x3
1
3

1.25 x1.017578125 1 1.25 x0 1.24197265625


37

Problema 1
k

x1

x2

x3

0.625

2.0703125

1.2719727

1.1157227

2.1035767

0.9643745

1.003437

1.9640469

0.997671

0.9879054

2.0044809

1.0019825

1.0044239

2.0008818

0.9997799

38

Problema 2
Sea el sistema A x = b :
Para k=-1, es la matriz A definida positiva?
Para que valores de k el sistema converge, al usar el mtodo de Gauss-Seidel?
Hacer 03 iteraciones de Gauss-Seidel para k=-3

2 k x1
6
1 3 x 9

39

Problema 2
A es definida positiva
si:

x T Ax 0, para todo vector columna x no nulo

x1

2 1 x1
2
2
2
x2

2
x

(
x

x
)

2
x
para todo x no nulo.
1
1
2
2 0

1 3 x2
Observese que tambin satisface el
criterio de Silvester

40

Problema 2
TG ( D L) 1U
2 0

1 3
1/ 2 0
( D L) 1

1
/
6
1
/
3

( D L)

0 0 k
1/ 2
0 k / 2
TG

0 k / 6
1 / 6 1 / 3 0 0

k
Det TG I ( )( )
6
1 0 2 k / 6
(TG ) max k / 6
Existe convergencia cuando : (TG ) 1
Esto se cumple siempre que : - 6 k 6
41

Problema 2
Para Gauss - Seidel (k -3)
x1( n 1) 3 1.5 x2( n )
x2( n 1) 3 x1( n 1) / 3

x1

x2

12

13.5

7.5

14.25

7.75

14.625

7.875

14.8125

7.9375

42

S-ar putea să vă placă și