You are on page 1of 20

Mtodos iterativos para

sistemas de ecuaciones
lineales
Introduccin
Ecuacin del Calor
Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo de Sobrerrelajacin
Problema del Condensador
Mtodos directos frente a
mtodos iterativos
DIRECTOS
Ax =b
x = A\

b
Tamao moderado
Modifican la
estructura
Error de redondeo
ITERATIVOS
x = Cx + d
x
(k+1)
= Cx
(k)
+ d
Tamao grande
Conservan los ceros
Error de truncamiento
Convergencia y nmero de
operaciones
Coste (para matrices densas)
Directos: n
3
Iterativos: k.n
2

Convergencia
Criterio de parada:

x x tol; p 1,2,...,inf
(k+1) (k)
p
< =
Ax b tol; p 1,2,...,inf
(k)
p
< =
Ecuacin del Calor
Sistema de ec. lin. Matriz asociada
T (T T ) / 2
T (T T ) / 2
T (T T ) / 2
T (T T ) / 2
1 0 2
2 1 3
3 2 4
n n-1 n+1
= +
= +
= +
= +

2 - 1
- 1 2 - 1
- 1 2
- 1
- 1 2


|
\

|
.
|
|
|
|
|
|
T
0
T
1
T
2
. . . T
n
T
n+1
Matriz de la Ecuacin del Calor
con MATLAB

function A = mcalor1(n)
v = ones(1,n-1);
A = 2*eye(n) - diag(v,1) -
diag(v,-1);

El mtodo de Jacobi
Sistema de ecuaciones lineales
a x
a x
a x
a x
a x a x a x
a x a x a x
a x a x a x
a x a x a x
b
b
b
b
11 1
21 1
31 1
n1 n
12 2 13 3 1n n
22 2 23 3 2n n
32 2 33 3 3n n
n2 2 n3 3 nn n
1
2
3
n
+
+
+
+
+ +
+ +
+ +
+ +
=
=
=
=

Ecuacin de punto fijo


x (b
x (b
x (b
x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1 1
1 2
2 3
n n
12 2 13 3 1n n 11
21 1 23 3 2n n 22
31 1 32 2 3n n 33
n1 1 n2 2 n,n 1 n 1 nn
=
=
=
=



Iteracin de Jacobi
x (b
x (b
x (b
x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1
(k+1)
1
2
(k+1)
2
3
(k+1)
3
n
(k+1)
n
12 2
(k)
13 3
(k)
1n n
(k)
11
21 1
(k)
23 3
(k)
2n n
(k)
22
31 1
(k)
32 2
(k)
3n n
(k)
33
n1 1
(k)
n2 2
(k)
n,n 1 n 1
(k)
nn
=
=
=
=



Expresin matricial
Resolucin con MATLAB
U = triu(A,1); L = tril(A,-1);
d = diag(A);
x = (b-(L+U)*x)./d
A L D U
x D (b (L U)x )
(k 1) 1 (k)
= + +
= +
+
Condicin suficiente de
convergencia
Matriz estrictamente diagonalmente
dominante: para i=1,2,...,n

Si A es estrictamente diagonalmente
dominante, los iterados de Jacobi
convergen a la solucin del sistema
partiendo de cualquier estimacin inicial.
|a | |a | |a | |a | |a |
ii i1 i,i 1 i,i 1 in
> + + + + +
+

Iteracin de Gauss-Seidel
x (b
x (b
x (b
x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1
(k+1)
1
2
(k+1)
2
3
(k+1)
3
n
(k+1)
n
12 2
(k)
13 3
(k)
1n n
(k)
11
21 1
(k+1)
23 3
(k)
2n n
(k)
22
31 1
(k+1)
32 2
(k+1)
3n n
(k)
33
n1 1
(k+1)
n2 2
(k+1)
n,n 1 n 1
(k+1)
nn
=
=
=
=



Expresin matricial
Resolucin con MATLAB
A L D U
(L D)x b Ux
x (L D) (b Ux )
(k 1) (k)
(k 1) 1 (k)
= + +
+ =
= +
+
+
d = diag(A); D = diag(d);
U = triu(A,1); L = tril(A,-1);
x = (L + D)\(b - U*x)



Mtodo de sobrerrelajacin
Gauss Seidel:
x x z
Sobrerrelajacion:
x x wz ; 0 < w < 2
z x x
x (1 w)x wx
i
(k+1)
i
(k)
i
i
(k+1)
i
(k)
i
i i
(k+1)
i
(k)
i
(k+1)
i
(k)
i
(k+1)

= +
= +
=
= +

x
i
k
z
i
x
i
k+1

i
k+1
x
Paso de sobrerrelajacin
x (1 )x (b
x (1 )x (b
x (1 )x (b
x (1 )x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1
(k+1)
1
(k)
1
2
(k+1)
2
(k)
2
3
(k+1)
3
(k)
3
n
(k+1)
n
(k)
n
12 2
(k)
13 3
(k)
1n n
(k)
11
21 1
(k+1)
23 3
(k)
2n n
(k)
22
31 1
(k+1)
32 2
(k+1)
3n n
(k)
33
= +
= +
= +
= +



e e
e e
e e
e e


a x a x a x ) / a
n1 1
(k+1)
n2 2
(k+1)
n,n 1 n 1
(k+1)
nn


Expresin matricial
Resolucin con MATLAB
D = diag(diag(A));
c = e*b; C = (1-e)*D - e*U
x = (eL + D)\(c + C*x)
( L D)x (1 )Dx (b Ux
(k+1) (k)
e e e + = +
(k)
)
( L D)x b ((1 )D U)x
(k+1) (k)
e e e e + = +



A L D U = + +
Condicin suficiente de
convergencia
Matriz simtrica definida positiva:
A
T
= A, x
T
Ax > 0

Si A es simtrica definida positiva y 0<w<2,
los iterados de SR convergen a la nica
solucin del sistema, partiendo de cualquier
estimacin inicial.
Ecuacin del Calor en un
rectngulo
V
C
= (V
N
+ V
S
+ V
E
+ V
W
)/4
C
N
E W
S
Generacin de la matriz
con MATLAB
function A = mcalor2(m,n)
p = m*n;
v = ones(1,p-1);
for k=n:n:p-1, v(k) = 0; end
w = ones(1,p-n);
A = 4*eye(p) ...
- diag(v,1) - diag(v,-1)
...
- diag(w,n) - diag(w,-n);

Resumen
Los mtodos iterativos se aplican a
matrices grandes y dispersas.
El coste por iteracin es O(n
2
) o menor si
se aprovecha la dispersidad
Se espera que converjan en menos de n
pasos.
La matriz ha de cumplir ciertas
condiciones para que el mtodo converja.

You might also like