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 convergencia. 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 anterior. 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 62 24 1 8 23 50 7 14 A= 4 6 58 20 10 12 19 66 11 18 25 2 Ax = b de la práctica anterior: 110 15 110 16 . 110 22 , b = 110 3 110 54 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 resolver 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 si i = j , 20 + i , 1 aij = (−1)i+j y bi = . i , si i 6= j . 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 correspondiente 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