Está en la página 1de 2

Práctica 12: Método de sobrerelajación sucesiva

(SOR)

1. Introducción
Recuerde que se trata de un método iterativo estacionario

x(0) = 0, M x(k+1) = N x(k) + b , k = 0, 1, . . .

para resolver un sistema

Ax = b, A=L+D+U.

El algoritmo anterior es convergente si y sólo si el radio espectral ρ(M −1 N ) <


1. Más aun, la magnitud

R = − log ρ(M −1 N )

es la velocidad asintótica de convergencia del método, de modo que el valor


del radio espectral es inversamente proporcional a la velocidad de conver-
gencia.
En el caso de SOR,

M = τ −1 (D + τ L), N = τ −1 (−τ U + (1 − τ )D) ,

donde τ ∈ (0, 2) es un parámetro real. El objetivo de esta práctica es estudiar


la influencia de este parámetro en la velocidad de convergencia.

2. Trabajo de laboratorio
1. Escriba una función,

[x,iter,radio]=sor(A,b,tau,tol,maxiter)

que, dadas la matriz A, el vector b y el parámetro τ , aplica al sistema


Ax = b el método SOR, hasta que

kx(k) − x(k+1) k ≤ tol ó la cantidad de iteraciones > maxiter,


Práctica de ordenador XII 2

devolviendo en la salida la aproximación x, la cantidad de iteraciones


realizadas iter, y el radio espectral de la matriz de iteración M −1 N .
Puede utilizar para ello la función jac construida en la práctica ante-
rior.
Implemente un control que impida a la función realizar iteraciones si
detecta que el radio espectral es ≥ 1.

2. Considere el mismo sistema lineal Ax = b de la práctica anterior:


   
62 24 1 8 15 110
 23 50 7 14 16   110 
   
A=  4 6 58 20 22  , b =  110
 .
 
 10 12 19 66 3   110 
11 18 25 2 54 110

Obtenga la gráfica de los valores del radio espectral de la matriz de


iteración, ası́ como de la cantidad de iteraciones necesarias para re-
solver el sistema Ax = b por medio de la función sor implementada,
con tol=2*eps, para los valores del parámetro τ =0.01:0.01:1.99.
Encuentre el valor óptimo τopt del parámetro.

3. Dado n ∈ N, se considera la matriz A = (aij ) ∈ Rn×n y b = (bi ) ∈


Rn×1 , con

20 + i , si i = j , 1
aij = (−1)i+j y bi = .
 , si i 6= j . i
i+j
Escribir una función de MATLAB que, dado el valor de n, encuentre
(con un error absoluto ≤ 0,01) el valor óptimo del parámetro τ ∈ (0, 2)
del método SOR aplicado al sistema Ax = b, y resuelva dicho sistema
con tol=2*eps. Compruebe el funcionamiento para n = 100, comente
los resultados.

4. Para los valores n = 10 : 10 : 200 se resuelve el sistema anterior usando


dos métodos:

a) Usando el método de Gauss-Seidel (si converge);


b) Usando el algoritmo SOR con el valor del parámetro τopt corres-
pondiente en cada caso.

Dibuje las gráficas de los números de iteración requeridos y de los


radios espectrales de las matrices de iteración en cada caso. Comente
los resultados.

Andrei Martı́nez Finkelshtein

También podría gustarte