Parte 4. Métodos iterativos para la resolución de sistemas de

Anuncio
Parte 4. Métodos iterativos para la
resolución de sistemas de ecuaciones
lineales
Gustavo Montero
Escuela Técnica Superior de Ingenieros Industriales
Universidad de Las Palmas de Gran Canaria
Curso 2006-2007
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Introducción
Ventaja frente a los métodos directos
Son menos sensibles a los errores de blackondeo y esto se aprecia en sistemas de orden elevado donde los errores de
blackondeo de los métodos directos son considerables
Definición de método iterativo
Un método iterativo construye una sucesión de vectores xm tal que
lim
m→∞
xm = x
siendo x la solución del sistema Ax = b.
Construcción de un método iterativo
Se parte de una aproximación inicial x0 y luego se calcula
xm+1 = F (xm ),
m = 0, 1, . . .
donde F se toma de forma lineal: F (x) = B x + c
xm+1 = B xm + c,
m = 0, 1, . . .
La matriz B se denomina matriz de iteración y de sus propiedades va a depender la convergencia del método.
Definición de convergencia
Definición de convergencia
Un método se dice que es convergente si:
lim
m→∞
xm = x = A
−1
b
Teorema del Punto Fijo
Aplicando el Teorema del Punto Fijo,
0
00
0
00
||F (x ) − F (x )|| ≤ L||x − x ||
es decir,
0
00
0
00
||Bx − Bx || ≤ L||x − x ||
0
Luego si v = x − x
00
=⇒
||Bv || ≤ L||v ||
Teorema general para la convergencia de los métodos
iterativos
Un método iterativo del tipo anterior es convergente si y sólo si se cumplen simultáneamente las siguientes
condiciones,
I
I
c = (I − B)A−1 b
ρ(B) < 1
Construcción de métodos iterativos
Sea A = M − N, con M invertible
Teorema de caracterización de métodos iterativos
Si se toma,
B
c
=
M
=
M
−1
−1
N
b
el método considerado cumple la primera condición anterior.
Pero además se debe cumplir la segunda condición,
ρ(M
−1
N) < 1
||M
o también
−1
N|| < 1
Teorema de construcción de los métodos iterativos
Todo método del tipo estudiado verifica las condiciones del teorema anterior con M − N = A y M invertible.
El método resulta,
xm+1 = M
−1
Nxm + M
−1
b
es decir,
Mxm+1 = Nxm + b
Por tanto, conviene elegir M tal que sea fácilmente invertible (diagonal o triangular).
El número de operaciones de los métodos iterativos es O(n2 ) × no iter
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Algoritmo de Jacobi
Matriz de iteración de Jacobi
Descomposición suma de una matriz
La matriz de iteración de Jacobi resulta,
Sea A = D − L − U, con
0
0
B −a21
B
B −a31
L=B
B
.
B
.
@
.
−an1
Algoritmo
···
0
−a32
.
.
.
−an2
a
0 − 12
0
aa11
B
11
B
a
B
B − 21 B 00
B
D
.
a22= B
B
B
a.
a
B
B − 31 @ − . 32
B
a33
a033
B
B
.
.
B
. ···
. 0
·B
·
·
B
.
.
an2
an1· · ·
·@
··
0
−
−
0
0
ann· · ·
ann
.
.
..
.
.
.
.
.
···
−ann−1
0
0
a13
0− a · · · · · · 0
11
a22 a23· · ·
0
−
···
. a22 .
.
.
..
.
. 0
···.
0
···
ann
1 ..
0. .
.0
.
C an3 B 0
C−
B· · ·
C a
B .
nn = B
C; U
C
B ..
C
B
A
@ ···
0
1
a
1 1n
−
a11 C
Ca2n C
C
C
−
C
Ca;
Ca22 C
A 3n C
C
−
a33 C
C
C
.
C
C
.
−a
. 12 C −a13
0 A −a23
0
.
..
.
.
.
···
···
···
···
El método de Jacobi consiste en elegir M = D y N = L + U, resultando en forma matricial,
Dxm+1 = (L + U)xm + b
es decir,
aii (xm+1 )i = −
n
X
j=1
j6=i
aij (xm )j + bi ;
i = 1, 2, . . . , n
···
···
.
.
.
0
···
−a1n
−a2n
.
.
.
−an−1n
0
1
C
C
C
C
C
C
A
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Algoritmo de Gauss-Seidel
Algoritmo
El método de Gauss-Seidel consiste en elegir M = D − L y N = U, resultando en forma matricial,
(D − L)xm+1 = Uxm + b
es decir,
i
X
aij (xm+1 )j = −
j=1
o, finalmente,
aii (xm+1 )i = −
n
X
aij (xm )j + bi ;
i = 1, 2, . . . , n
j=i+1
i−1
X
aij (xm+1 )j −
j=1
n
X
aij (xm )j + bi ;
i = 1, 2, . . . , n
j=i+1
Ventaja frente a Jacobi
I
Menor requerimiento de almacenamiento respecto a Jacobi, ya que no necesita dos vectores para la
solución (xm+1 , xm ). En el método de Gauss-Seidel las actualizaciones de la solución se guardan en las
posiciones de los valores anteriores
I
El método de Gauss-Seidel tiene mejores condiciones de convergencia que el de Jacobi
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Algoritmo de Relajación Sucesiva
Algoritmo
Si tomamos un parámetro ω 6= 0, podemos hacer la descomposición de A de la forma,
A=D−L−U =
y eligiendo M =
1
ω
D − L, N =
1
aii (xm+1 )i +
i−1
X
D−L−
1−ω
ω
D−U
1−ω
„
ω
1
ω
D + U, resulta
ω
«
„
«
1
1−ω
D − L xm+1 =
D + U xm + b
ω
ω
aij (xm+1 )j =
1−ω
j=1
ω
aii (xm )i −
n
X
aij (xm )j + bi ;
i = 1, 2, . . . , n
j=i+1
Algoritmo en dos pasos
El algoritmo SSOR se puede expresar en dos pasos, un primer paso que coincide con el método de Gauss-Seidel un
segundo paso de relajación de la solución,
i−1
n
X
X
aii (x̄m+1 )i +
aij (xm+1 )j
=
aij (xm )j + bi ;
i = 1, 2, . . . , n
j=1
(xm+1 )i − (xm )i
j=i+1
=
ω ((x̄m+1 )i − (xm )i )
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Resumen de resultados de Convergencia
Si A es simétrica y definida positiva, el método de Gauss-Seidel converge.
Si A es simétrica y la matriz
a11
B −a12
B
D+L+U =B
.
B
.
@
.
−a1n
0
−a12
a22
.
.
.
−a2n
···
···
..
.
···
−a1n
−a2n
.
.
.
ann
1
C
C
C
C
A
es definida positiva, el método de Jacobi es convergente.
Si A es simétrica y definida positiva, el método de relajación converge si y sólo si 0 < ω < 2.
Si ω < 1 el método se denomina de subrelajación y si ω > 1, de sobrerrelajación.
Si A es simétrica, definida positiva y tridiagonal, el valor óptimo de ω para la convergencia del método de
relajación es,
2
ω=
q
1 + 1 − ρ2j
siendo ρj el radio espectral de la matriz de iteración del método de Jacobi.
Generalidades de los métodos iterativos
Metodo de Jacobi
Método de Gauss-Seidel
Método de Relajación Sucesiva
Convergencia de los métodos
Resumen
Resumen
I Los métodos iterativos tienen un coste computacional de O(n2 ) × no iteraciones.
Si el número de iteraciones es pequeño comparado con n, los métodos iterativos
son preferibles a los directos. Asimismo, los errores de blackondeo no se
acumulan después de cada iteración, lo que supone una ventaja adicional.
I El método de Gauss-Seidel es usualmente más eficiente que el de Jacobi
I Podemos acelerar la convergencia mediante la técnica de relajación.
Generalmente se suele utilizar valores de ω entre 1 y 2 (sobrerelajación)
I En la actualidad los métodos iterativos estudiados en esta asignatura están
obsoletos. Los métodos más utilizados son los basados en los subespacios de
Krylov.
Descargar