Metodos de Solución Iterativos




Empezar con una aproximación inicial para el
vector solución (x0)
Actualizar en cada iteración el vector x usando
el sistema Ax=b
Cada iteración involucra el producto matrizvector.
Si A es esparcida este producto es realizado
eficientemente.
1
Procedimiento de solución 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
Representación de T y c dependen del tipo de
método usado.
Pero para cada método T y c son obtenidas a
partir de A y b.
2
Convergencia




Cuando k, la secuencia {xk} converge a un
vector solución bajo algunas condiciones en la
Matriz T.
Esto impone condiciones diferentes en la matriz
A para diferentes métodos.
Para la misma matriz A, un método puede
converger mientras que otro puede divergir.
Por lo tanto para cada método la relación entre
A y T deben ser encontradas para decidir la
convergencia.
3
Diferentes metodos Iterativos



Iteración de Jacobi
Iteración de Gauss-Seidel
Successive Over Relaxation (S.O.R)


SOR es un método usado para acelerar la
convergencia.
La iteración de Gauss-Seidel es un caso especial del
método SOR.
4
Iteración de Jacobi
a 11 x1  a 12 x 2    a 1 n x n  b1
 x10 
 0
x2 
0

x 
  
 0
 x n 
a 21 x1  a 22 x 2    a 2 n x n  b 2

a n 1 x1  a n 2 x 2    a nn x n  b n
x1 
1
x2 
1
xn 
1
1
a11
1
a 22
1
a nn
( b1  a12 x 2    a1 n x n )
0
0
k 1
i
x
i 1
1 
k

b

a
x
 i  ij j 
aii 
j 1

 aij x 
j i 1

n
k
j
( b 2  a 21 x1  a 23 x 3    a 2 n x n )
0
0
0
( b n  a n 1 x1  a n 2 x 2    a nn 1 x n 1 )
0
0
0
5
Método de Jacobi. Forma Matricial
 Descomponiendo A = D - L - U.
-U=triu(A)-D
-U
D
=
-L
-L=tril(A)-D
D=diag(diag(A))
6
xk+1=Txk+c - iteración por el método de
Jacobi
Se puede escribir como A=D-L-U (No es una
factorización)
 a 11

a
 21
 a 31
a 12
a 22
a 32
a 13   a 11
 
a 23  0
 
a 33   0
0
a 22
0
0 

0 

a 33 
 0

a
 21
  a 31
Ax=b  (D-L-U)x=b
k 1
xi
i 1
1 
k

b

a
x
 i  ij j 
aii 
j 1
Dxk+1

Lx
k
0
0
 a 32
0

0 

0 
0

0

 0
 a12
0
0
 a 13 

 a 23

0 
Dxk+1 = (L+U)xk+b

k
 aij x j 
j i 1

n

k
Ux
xk+1=D-1(L+U)xk+D-1b
T=D-1(L+U)
c=D-1b
7
iteración Gauss-Seidel (GS)
Use lo último
al actualizar
a 11 x1  a 12 x 2    a 1 n x n  b1
a 21 x1  a 22 x 2    a 2 n x n  b 2

a n 1 x1  a n 2 x 2    a nn x n  b n
x1 
1
x2 
1
xn 
1
1
a11
1
a 22
1
a nn
( b1  a12 x 2    a1 n x n )
0
0
k 1
i
x
( b 2  a 21 x1  a 23 x 3    a 2 n x n )
1
0
0
 x10 
 0
x2 
0

x 
  
 0
 x n 
i 1
1 
k 1

b

a
x
 i  ij j 
aii 
j 1

 aij x 
j i 1

n
k
j
( b n  a n 1 x1  a n 2 x 2    a nn 1 x n 1 )
1
1
1
8
x(k+1)=Tx(k)+x iteración de Gauss-Seidel
Ax=b  (D-L-U)x=b
k 1
i
x
i 1
1 
k 1

b

a
x
 i  ij j 
aii 
j 1
Dxk+1

Lx
k 1

 aij x 
j i 1

n
k
j

(D-L)xk+1 =Uxk+b
k
Ux
xk+1=(D-L)-1Uxk+(D-L)-1b
Tgs=(D-L)-1U
cgs=(D-L)-1b
9
Comparación



İteración de Gauss-Seidel converge más
rápidamente que la iteración de Jacobi desde
que este usa la última actualización.
Pero existen algunos casos que la iteración de
Jacobi converge pero Gauss-Seidel no.
El método de sobre relajación sucesiva es
usada para acelerar la convergencia del
método de Gauss-Seidel.
10
Metodo Sobre Relajación Sucesiva
(SOR)
Puede ser escrita como sigue

k 1
i
x
k 1
xi
i 1
n

1 
k 1
k
x 
bi   aij x j   aij x j 
aii 
j 1
j i

k
i
 xi   i
k
k
término Corrector
 i
2
3
xi
i
2
xi
0
1
i
Converge más
rápido
1
i
0
xi

i
1
xi
2
Multiplicando por
 1
 i
0
11
SOR
k 1
xi
k 1
i
x
k 1
i
x
k 1
xi
 xi   i
k
k
i 1
n

1 
k 1
k
 x 
bi   aij x j   aij x j 
aii 
j 1
j i

k
i
i 1

1
k
k 1
 (1   ) xi  
b

a
x
 i  ij j 
aii 
j 1
k
k 1
 (1   ) xi   ~
xi

 aij x 
j  i 1

n
k
j
Donde el ultimo termino es la estimación de Gauss-Seidel
1<<2 Sobre-relajación (convergencia rápida)
0<<1 Sub-relajación (convergencia más lenta)
Existe un valor óptimo para 
Encontrarlo por prueba y error
12
x(k+1)=Tx(k)+c iteración para SOR
k 1
i
x
i 1
1 
k 1
 (1   ) x  
b

a
x
 i  ij j 
aii 
j 1
k
i

 aij x 
j i 1

n
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 métodos iterativos
Define el vector solución como
Define el vector error como
e
xˆ
k
x  e  xˆ
k
k
Substituye esto en
e
e
k 1
k 1
x
k 1
 Tx  c
k
k
k
 xˆ  T ( e  xˆ )  c  T xˆ  c  Te
 Te
k
 TTe
k 1
 TTTe
k 2
T
( k 1)
e
0
14
Convergencia de los Métodos Iterativos
iteración
e
k 1
 T
( k 1)
e
0
 T
( k 1)
e
0
potencia
El método iterativo convergería para cualquier vector
inicial arbitrario si la siguiente condición es satisfecha
Condición de Convergencia
Lim e
k
k 1
0
si
Lim T
k
( k 1)
0
15
Norma de un vector
La norma de un vector debe satisfacer estas
condiciones:
x 0
P ara cualquier
x 0
s i y solo si x es un vector
αx   x
vector no nulo x
nulo
P ara un escalar α
x y  x  y
Las normas Vectoriales pueden ser definidas de
diferentes formas en tanto que la definición de
norma sea satisfecha.
16
Normas de vectores
Comunmente usadas
norma Suma o norma ℓ1
x
1
 x1  x 2    x n
norma Euclideana ó norma ℓ2
x
2

x  x   x
2
1
2
2
2
n
norma Máxima o norma ℓ
x

 max
i
xi
17
Norma de una matriz
La norma de una matriz debe
satisfacer estas condiciones:
A 0
A 0
s i y solo si A es una matriz
αA   A
nula
p ara α escalar
AB  A  B
Importante identidad
Ax  A x
x es un vector
18
Normas de matrices mas usadas
Norma Máxima suma_columna o norma ℓ1
m
A
1
 max
1 j  n

a ij
i 1
Norma Espectral o norma ℓ2
A
2

maximo
T
valor propio de A A
Norma Maxima suma_fila o norma ℓ
n
A

 max
1 i  m

a ij
j 1
19
Ejemplo

Calcule las normas ℓ1 y ℓ de la matriz
3

7

 6
9
16
19
5

4

1 
2
8
 A
17
 A

13
15
10
1
20
Condición de Convergencia
lim e
k 1
0
k
si
lim T
( k 1)
k
0
Expresar T en terminos de matriz modal P y 
: Matriz Diagonal con valores propios de T en la diagonal
T  PP
T
T
( k 1)
( k 1)
lim T
k
1
 PP
 P
( k 1)
1
( k 1)
PP
P
1
 PP
1
1
 0  lim P 
( k 1)
k
k 1
 lim  i
k
P
1

k 1
  1k  1

 



 0  lim 
k
k 1
2

( k 1)





k 1
 n 
 0
 0   i  1 for i  1 ,2 ,...,n
21
Condición Suficiente para convergencia
Si la magnitud de todos los valores propios de la
Matriz de iteración T es menor que 1 entonces la
iteración es convergente
Los valores propios son mas fácil de calcular que la
norma de una matriz
Tx   x
Tx   x 

   x  T x    T   (T )  T
Tx  T x 

 (T )  1
condición suficiente para convergencia
22
Convergencia de la iteración de Jacobi
T=D-1(L+U)





T 







0

a 12


a 11
a 21
a 22

a n1
a nn
0



a 23

a 22






a nn 1
a nn
a1 n 

a 11 

a2n 

a 22 


a n 1 n 


a n 1 n 1 

0


23
Convergencia de la iteración de Jacobi
Evaluar la norma infinita (suma máxima fila) de T
n
T

1

j 1
i j
a ij
 1 Para i  1,2,..., n
a ii
n
 a ii 

j 1
i j
a ij
Matriz Diagonal
estrictamente
Dominante
Si A es una matriz con diagonal estrictamente
dominante, entonces la iteración de Jacobi
converge para cualquier valor inicial
24
Criterios de Parada

Ax=b

En cualquier iteración k, el término residual es
rk=b-Axk

Verificar la norma del término residual
||b-Axk||

Si esto es menor que la cota del valor de
parada
25
Ejemplo 1 (Iteración de Jacobi)
 4

4

  2
1
1   x1   7 
  

1 x 2   21
  

5   x 3   15 
8
1
0 
 
0
x  0
 
 0 
b  Ax
 26 . 7395
0
2
Matriz Diagonal estrictamente dominante
7  x2  x3
0
x 
1
1
0
x 
21  4 x1  x 3
1
0
8
15  2 x1  x 2
5

21
 2 . 625
8
0
x3 
 1 . 75
4
0
1
2

4
7
0

15
b  Ax
 10 . 0452
1
2
 3 .0
5
26
Ejemplo 1 continuación...
7  x 2  x3
1
x 
2
1
x2 
2
1
4
x 
x1 
3
x 
3
2
x3 
3
7  2 . 625  3
 1 . 65625
4
21  4 x  x
1
1
1
3
8

21  4  1 . 75  3
b  Ax
 6 . 7413
2
2
 3 . 875
8
15  2 x1  x 2
1
2
3

1
5

15  2  1 . 75  2 . 625
 4 . 225
5
7  3 . 875  4 . 225
 1 . 6625
4
21  4  1 . 65625  4 . 225
 3 . 98125
8
15  2  1 . 65625  3 . 875
b  Ax
 1 . 9534
3
2
 2 . 8875
5
Matriz es diagonal estrictamente dominante, las iteraciones de
Jacobi son convergentes.
27
Ejemplo 2
 2

4

 4
5   x1   15 
  

1 x 2   21
  

1   x 3   7 
1
8
1
0 
 
0
x  0
 
 0 
b  Ax
 26 . 7395
0
2
La matriz no es diagonal estrictamente dominante
 15  x 2  5 x 3
0
x 
1
1
x2 
1
0
2
21  4 x  x
0
1
8
0
 15
  7 .5
2
0
3

21
b  Ax
 2 . 625
 54 . 8546
1
2
8
x 3  7  4 x1  x 2
1

0
 7 .0
28
Ejemplo 2 continuación...
x1 
1
x 
1
2
 15  2 . 625  5  7
 11 . 3125
2
21  4  7 . 5  7
  0 . 25
b  Ax
 208 . 3761
2
2
8
x 3  7  4  7 . 5  2 . 625  39 . 625
1
El término del residual aumenta en cada iteración,
de tal forma que las iteraciones divergen.
Note que la matriz no es diagonalmente
estrictamente dominante
Cuando la matriz no tiene diagonal estrictamente
dominante, puede converger como no.
29
Convergencia de la iteración de
Gauss-Seidel

Iteración GS converge para cualquier vector
inicial si A es una matriz diagonal
estrictamente dominante

Iteración GS converge para cualquier vector
inicial si A es una matriz simétrica y definida
positiva – La matriz A es definida positiva si
xTAx>0 para cualquier vector x no nulo.
30
Ejemplo1 (Iteración de Gauss-Seidel)
 4

4

  2
1
1   x1   7 
  

1 x 2   21
  

5   x 3   15 
8
1
0 
 
0
x  0
 
 0 
b  Ax
 26 . 7395
0
2
Matriz Diagonal estrictamente dominante
7  x2  x3
0
x 
1
1
0
x 
21  4 x1  x 3
x 
0

 1 . 75
b  Ax
15  2 x1  x 2
5
1

 3 . 0414
1
2
21  4  1 . 75
 3 .5
b  Ax
8
8
1
1
3
7
4
4
1
1
2

15  2  1 . 75  3 . 5
5
 10 . 0452
1
2
 3 .0
İteración de
Jacobi
31
Ejemplo 1 continuación...
7  x2  x3
1
x 
2
1
1
4
x 
21  4 x1  x 3
x 
1
8
 1 . 875
 0 . 4765
2
2
15  2 x1  x 2
5

21  4  1 . 875  3
 3 . 9375
8
2
2
3
b  Ax
4
2
2
2

7  3 .5  3
2

b  Ax
 6 . 7413
2
2
15  2  1 . 875  3 . 9375
5
 2 . 9625
Iteración de Jacobi
Cuando ambos métodos de Jacobi y GaussSeidel convergen, Gauss-Seidel converge más
rápido.
32
Convergencia del método SOR



Si 0<<2, método SOR converge para
cualquier valor inicial si A es una matriz
simétrica y definida positiva.
Si >2, método SOR diverge
Si 0<<1, SOR método converge pera la
velocidad de convergencia es mas lenta que el
método de Gauss-Seidel.
33
Conteo de operaciones




El # de operaciones para la Eliminación gaussiana o la
descomposición LU es de 0 (n3), orden de n3
Para los métodos iterativos, el número de
multiplicaciones escalares es 0 (n2) en cada iteración.
Si el número total de las iteraciones requeridas para la
convergencia es mucho menos que n, entonces los
métodos iterativos son más eficiente que métodos
directos.
Los Métodos iterativos también se satisfacen bien para
las matrices esparcidas.
34
Formas Matriciales. Resumen
La solución del sistema A x = b se obtiene
mediante la siguiente expresión recursiva:
x ( k ) = Tx ( k-1 ) + c
Método
Jacobi
Gauss-Seidel
SOR
A= D - L - U
T
c
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 método SOR,
considere ω=1.25.
4 x1  x 2  2
 x1  4 x 2  x 3  6
 x 2  4 x3  2
0
x1  0
0
x2  0
0
x3  0
Aplicamos el metodo de SOR:
k 1
xi
 (1   ) xi   ~
xi
k
k 1
36
Problema 1
1
~
x1 
1
x1
2  x2
0

20
 0.5
4
4
0
1
 ~
x1  1    x1  1.25 x 0.5  1  1.25x 0  0.625
1
1
~
x2 
6  x1  x3
0

6  0.625  0
4
 1.65625
4
1
0
1
x2   ~
x2  1    x2  1.25 x1.65625  1  1.25x 0 
 2.0703125
1
1
~
x3 
1
x3
2  x2

2  2.0703125
 1.017578125
4
4
0
1
 ~
x3  1    x3 
 1.25 x1.017578125  1  1.25x 0  1.24197265625
37
Problema 1
k
x1
x2
x3
0
0
0
0
1
0.625
2.0703125
1.2719727
2
1.1157227
2.1035767
0.9643745
3
1.003437
1.9640469
0.997671
4
0.9879054
2.0044809
1.0019825
5
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
método de Gauss-Seidel?
 Hacer 03 iteraciones de Gauss-Seidel para k=-3
 2

 1
k   x1   6 
    
3   x2  9 
39
Problema 2
A es definida positiva si:
x Ax  0 , para todo vector columna
T
 x1
 2
x 2 
 1
x no nulo
 1   x1 
2
2
2

2
x

(
x

x
)

2
x
0
1
1
2
2
 
3   x2 
para todo x no nulo.
Observese que también satisface el criterio de
Silvester
40
Problema 2
1
TG  ( D  L ) U
 2
(D  L)  
 1
(D  L)
1
0

3
1 / 2
 
1 / 6
 1/ 2
TG  
 1 / 6
0 

1 / 3
0  0

1 / 3 0
Det T G   I  ( 
k
convergenc
Esto se cumple
 k / 2

 k / 6
  )(   )
6
1  0  2   k / 6
Existe
 k  0
  
0  0
 (T G )   max   k / 6
ia cuando :  (T G )  1
siempre
que : - 6  k  6
41
Problema 2
Para Gauss
- Seidel
( n 1)
 3  1 .5 x 2
( n 1)
 3  x1
x1
x2
n
(k  -3)
(n)
( n 1)
x1
/3
x2
0
0
0
1
3
4
2
9
6
3
12
7
4
13.5
7.5
5
14.25
7.75
6
14.625
7.875
7
14.8125
7.9375
42
Descargar

Sistema de Ecuaciones Lineales Metodos Iterativos