Metodos e´ todos Matem´ Matematicos a´ ticos de Especialidad
1/44
Ingenier´ıa Ingenier´ ıa El´ Electrica e´ ctrica
´ Metodos iterativos Sistemas lineales 1 Jos´e´ Luis de la Fuente O’Connor Jos
[email protected] [email protected]
Escuela T´ Tecnica e´ cnica Superior de Ingenieros Industriales Universidad Polit´ Politecnica e´ cnica de Madrid
Ant.
Clase_itera_1_06.pdf
2/44
´Indice Indice ´ 1. Introducci on 2. Velocidad o rapidez de convergencia
´ de Jacobi 3. Metodo ´ de Gauss-Seidel 4. Metodo ´ ´ de relajacion 5. Metodos ´ ´ de minimizacion 6. Metodos ´ de direcciones de descenso • Obtencion ´ de los gradientes conjugados • Metodo
´ numerica ´ ´ de los metodos 7. Comparacion
Ant.
2/44
´Indice Indice ´ 1. Introducci on 2. Velocidad o rapidez de convergencia
´ de Jacobi 3. Metodo ´ de Gauss-Seidel 4. Metodo ´ ´ de relajacion 5. Metodos ´ ´ de minimizacion 6. Metodos ´ de direcciones de descenso • Obtencion ´ de los gradientes conjugados • Metodo
´ numerica ´ ´ de los metodos 7. Comparacion
Ant.
´ Introduccion 3/44
´ – Al estudiar los metodos directos para resolver sistemas lineales vimos sus dificultades para tratar problemas de grand grandes es dimensione dimensiones s: el numero de operaciones era muy elevado: O(n3 /3). ´ – Si, por ejemplo, se desea modelizar la temperatura en las distintas partes de un cuerpo tridimensional con forma de paralelep´ paralelep ´ıpedo, ıpedo, suponiendo que la temperatura de una part´ part ´ıcula ıcula de ese cuerpo ´ , su valor se puede aproximar discretizando depende de su posici on on, cada una de las tres dimensiones del cuerpo en unos intervalos ˜ trocitos de la determinados y considerando cada uno de los peque nos malla que se obtiene.
• Si cada lado del paralelep´ paralelep´ıpedo ıpedo se divide en 100 intervalos, intervalos, la malla 1,000 000,,000 de elementos o resultante tendra´ 100 × 100 × 100 = 1, ˜ cuerpos; el modelo adoptado involucra pues c alculos ´ pequenos con ´ de variables: la temperatura en cada elemento. un millon ´ en los proximos, ´ • Si la influencia de un elemento es s olo la matriz tendr´ tendr´ıa ıa muy pocos coeficientes no nulos.
Ant.
4/44
´ ´ – La idea basica de los metodos iterativos consiste en partir de una ´ mas ´ o menos aproximada y llegar a la global o exacta del solucion ´ de soluciones que converja a ella. problema mediante una sucesion ´ ´ ´ exacta – Estos metodos no proporcionan, te oricamente, la soluci on aunque s´ı permiten, permit en, cuando funcionan bien, acercarse a ella tanto como se desee. desee. ´ • En la practica ese acercamiento lo rige alguna medida del error error,, ||b − Ax||. Ant.
5/44
´ simple de proceso iterativo es la que define la relaci on ´ – La forma mas de recurrencia
x(k+1) = Gx(k) + c donde la matriz G y la constante c se escogen de tal manera que en un ´ vectorial g (x) = Gx + c sea solucion ´ de Ax = b. punto la funcion ´ – El metodo de denomina estacionario si G y c son constantes a lo largo del proceso. ´ – El metodo iterativo sera´ convergente si
l´ım x(k) = x.
k→∞
Ant.
Velocidad o rapidez de convergencia
6/44
Definici´on 1 Sea una sucesi´on x(k) , x(k) ∈ Rn, convergente a x∗. Se define el orden de convergencia de x(k) como el m´aximo de los n u´ meros no negativos r que satisface
0 ≤ l´ım
x(k+1) − x∗
k→∞ x(k)
−
r x∗
< ∞.
´ se dice que converge linealmente; si r = 2, se – Si r = 1, la sucesion ´ ´ dice que lo hace cuadraticamente ; si r = 3, cubicamente , etc. – Orden de convergencia y velocidad de convergencia se suelen utilizar indistintamente.
• En cualquier caso, velocidad de convergencia es un t´ermino generalmente m´as usado.
Ant.
7/44
´ – Si la sucesion x(k) tiene una convergencia de orden r , el valor γ que satisface x(k+1) − x∗
γ = l´ım
k→∞
x(k)
−
r x∗
.
´ de convergencia. se denomina tasa de convergencia o relacion
• Cuando r = 1, para que exista convergencia, γ debe ser estrictamente menor que 1.
´ • Si γ = 0 y r = 1, la sucesion x(k) se dice que converge
superlinealmente.
Ant.
8/44
´ escalar definida por – Como ejemplo, consideremos la sucesi on k
x(k) = c2 , ´ converge a cero. donde la constante c cumple 0 ≤ c < 1. La sucesion
• Calculemos su orden de convergencia:
(k+1)
k+1
c2 l´ım = l´ım 2k+1 = 1. 2 (k) k→∞ |x k→∞ c − 0| x
−0
´ Es decir, converge cuadraticamente a 0. – La convergencia cuadr´atica quiere decir, grosso modo, que en las ´ el numero ´ de d´ıgitos significativos proximidades del l´ımite o soluci on que aporta cada paso del proceso al valor de ese l´ımite o soluci´on es el doble que el anterior.
Ant.
– En la columna 2 de la tabla que sigue se pueden ver los distintos puntos ´ del primer ejemplo analizado para c =0,99. de la sucesion k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
k
c2
(c = 0, 99)
0,9900000000000000 0,9801000000000000 0,9605960099999999 0,9227446944279201 0,8514577710948755 0,7249803359578534 0,5255964875255620 0,2762516676992083 0,0763149839065938 0,0058239767686636 0,0000339187054019 0,1150478576143195E-08 0,1323600954164474E-17 0,1751919485865107E-35 0,3069221884953861E-71 0,9420122979079730E-143 0,8873871694098596E-286
c2
−k
(c = 2, 2)
2,200000000000000 1,483239697419133 1,217883285630907 1,103577494166543 1,050512967157732 1,024945348376065 1,012395845692812 1,006178833852518 1,003084659364561 1,001541142122759 1,000770274400054 1,000385063063246 1,000192513000995 1,000096251868287 1,000048124776146 1,000024062098581 1,000012030976918
9/44
1/kk 1,000000000000000 0,250000000000000 0,037037037037037 0,003906250000000 0,000320000000000 0,000021433470507 0,000001214265678 0,000000059604644 0,000000002581174 0,100000000000000E-10 0,350493899481392E-12 0,112156654784615E-13 0,330169095523011E-15 0,899927452978128E-17 0,228365826052116E-18 0,542101086242752E-20 0,120883864830239E-21
Ant.
´ convergente a 1 que define, con c ≥ 0, – Consideremos la sucesion (k)
x
2−k
=c
10/44
.
• Analicemos su orden de convergencia:
(k+1)
−(k+1)
x −1 c2 −1 l´ım = l´ım 2−k k→∞ |x(k) − 1| k→∞ c −1 2−(k+1)
= l´ım
k→∞
c c2−(k+1) − 1
1
−1 c2−(k+1) + 1
1 = l´ım 2−(k+1) = . k→∞ c +1 2
• Converge linealmente: Esta convergencia significa que en cada ´ se a ˜ iteracion naden un numero ´ de d´ıgitos constante a la ´ final; concretamente, − logβ (γ ) base-β d´ıgitos por solucion ´ iteracion.
Ant.
´ que define – Analicemos por u´ ltimo la sucesi on
x(k) =
11/44
1 . k k
• Converge a cero. En la columna 4 de la tabla se pueden ver los ´ primeros puntos de esta sucesi on.
• Estudiemos su orden de convergencia: 1 x(k+1) 1 (k + 1)k+1 l´ım = l´ım = l´ım 1 k→∞ |x(k) | k→∞ k→∞ 1 k 1 + kk k
k+1
= 0.
Es decir, converge superlinealmente a cero.
nade un – La convergencia superlineal significa que cada iteraci´on a ˜ numero ´ creciente de d´ıgitos a la soluci´on final; concretamente r ´ que la iteraci on ´ precedente. d´ıgitos mas
Ant.
12/44
– La siguiente tabla resume las diferencias entre las diferentes velocidades de convergencia.
k
Error
Convergencia
1 2 3 4 5
10−2, 10−3,10−4, 10−5, . . . 10−2, 10−4,10−6, 10−8, . . . 10−2, 10−3,10−5, 10−8, . . . 10−2, 10−4,10−8, 10−16, . . . 10−2, 10−8,10−24, . . .
Lineal, con γ = 10−1 Lineal, con γ = 10−2 ´ Superlineal, aunque no cuadratica ´ Cuadratica Cubica ´ Ant.
13/44
´Indice ´ 1. Introducci on 2. Velocidad o rapidez de convergencia
´ de Jacobi 3. Metodo ´ de Gauss-Seidel 4. Metodo ´ ´ de relajacion 5. Metodos ´ ´ de minimizacion 6. Metodos ´ de direcciones de descenso • Obtencion ´ de los gradientes conjugados • Metodo
´ numerica ´ ´ de los metodos 7. Comparacion
Ant.
14/44
´ Metodo de Jacobi ´ – El primero de los metodos iterativos que estudiamos es el que Carl Gustav Jacobi (1804-1851) desarroll o´ alrededor de 1845. ´ – Su mecanica es muy simple: supongamos que se desea resolver el ´ sistema de tres ecuaciones lineales con tres inc ognitas
a11x1 + a12x2 + a13x3 = b1 a21x1 + a22x2 + a23x3 = b2 a31x1 + a32x2 + a33x3 = b3. Admitiendo que los coeficientes a11, a22 y a33 son distintos de cero, se ´ la incognita ´ x1, de la segunda x2 puede despejar de la primera ecuaci on y x3 de la tercera, resultando lo que sigue.
Ant.
1 x1 = (b1 − a12x2 − a13x3) a11 1 x2 = (b2 − a21x1 − a23x3) a22 1 x3 = (b3 − a31x1 − a32x2). a33
15/44
´ general que ve´ıamos sugieren emplear – Estas expresiones y la ecuacion ´ como metodo iterativo el que definen las siguientes relaciones de recurrencia:
x(k+1) 1 x(k+1) 2 x(k+1) 3
1 (k) = b1 − a12x(k) − a x 13 3 2 a11 1 (k) = b2 − a21x(k) − a x 23 3 1 a22 1 (k) = b3 − a31x(k) − a x . 32 2 1 a33
Ant.
´ ´ de esta idea es el metodo ´ – La generalizaci on de Jacobi. Su relacion general de recurrencia para un sistema n × n es:
x(k+1) i
1 = aii
16/44
n
aij x j(k)
bi −
;
i = 1, . . . , n .
j =1
j =i
– Si se descompone la matriz de coeficientes del sistema, A, de la forma
A = D − (D − A), donde D es la matriz diagonal formada con los elementos de la diagonal principal de A, es decir,
D=
a11 0 · · · 0 a22 · · ·
0 0
.. .
.. .
0 0
0 · · · an−1 n−1 0 0 ··· 0 ann
...
.. .
0 0 .. .
,
(1)
Ant.
17/44
– El esquema iterativo del m´etodo de Jacobi escrito en forma matricial resulta (k+1)
x
= I − D A x(k) + D−1b.
−1
• Si todos los elementos aii, i = 1, . . . , n, son no nulos, la matriz D es invertible. A la matriz
J = I − D−1 A ´ que caracteriza el m etodo de Jacobi se la denomina matriz de Jacobi. Ant.
´ Ax = b, partiendo de – El algoritmo de Jacobi para resolver la ecuacion un punto inicial x(0) dado, es el que esquematiza la tabla que sigue.
18/44
while x(k+1) − x(k)∞ /x(k+1) ∞ > T ol do for i = 1 to n
1 x(i) ← a(i, i)
n
b(i) −
j =1
j =i
end
a(i, j)x( j)
end % Resoluci´ o n por Jacobi function [x,k]=Jacobi_2(a,b) n=size(a,1); x=zeros(n,1); y=zeros(n,1); sm=1; k=0; while sm>=0.001 k=k+1; for i=1:n y(i)=(b(i)-a(i,[1:i-1,i+1:n]) *x([1:i-1,i+1:n]))/a(i,i); end sm=max(abs(x-y))/max(abs(y)); x=y; end
Ant.
Ejemplo
19/44
– Resolvamos el sistema de ecuaciones lineales
10x1 − x2 + 2x3 = 6 −x1 + 11x2 − x3 + 3x4 = 25 2x1 − x2 + 10x3 − x4 = −11 3x2 − x3 + 8x4 = 15. ´ general de recurrencia del m etodo ´ – Aplicando la relacion a este caso, ´ partiendo del punto inicial x(0) = [0, 0, 0, 0]T , se tendra:
x(1) = 1 x(1) = 2 x(1) = 3 x(1) = 4
1 (0) x 10 2 1 (0) x 11 1 − 15 x(0) 1
− +
+ −
1 (0) x 10 2 3 (0) x 8 2
1 (0) x 5 3 1 (0) x 11 3
+ − +
+
1 (0) x 8 3
3 (0) x 11 4 1 (0) x 10 4
+ − +
3 5 25 11 11 10 15 8
=
0,6000
=
2,2727
= −1,1000 =
1,8750.
Ant.
´ – Las iteraciones que siguen se generan de forma similar obteni endose los resultados de la siguiente tabla. k (k)
x1
(k)
x2
(k)
x3
(k)
x4
0
1
2
3
4
0,0000 0,6000 1,0473 0,9326 1,0152 0,0000 2,2727 1,7159 2,0533 1,9537 0,0000 -1,1000 -0,8052 -1,0493 -0,9681 0,0000 1,8750 0,8852 1,1309 0,9739
···
20/44
9 0,9997 2,0004 -1,0009 1,0006
´ de parar el proceso iterativo se puede basar en cualquier – La decision criterio que se estime adecuado. – En este caso hemos forzado a que la parada se produzca cuando
(k)
x
(k−1)
−x x(k)∞
∞
< 10−3.
Ant.
21/44
– En k = 9 se cumple que
x(9) − x(8)∞ 8,0 × 10−4 −3 = = 0,0003999 < 10 . x(9)∞ 2,0004 ´ a la La cantidad 10−3 se ha considerado suficiente como aproximaci on ´ de este ejemplo. solucion
u
Ant.
Ejemplo
22/44
´ – Resolvamos con el metodo de Jacobi el sistema
10x1 + x2 = 11 2x1 + 10x2 = 12 partiendo del punto x(0) = [0, 0]T . – Los puntos que se generan en el proceso iterativo son los de la tabla que sigue. k (k)
x1
(k) x2
0
1
2
3
4
5
0,0000 1,1000 0,9800 1,0020 0,9996 1,00004 0,0000 1,2000 0,9800 1,0040 0,9996 1,00008
T
´ exacta es [1, 1] . – La solucion
Ant.
– Resolvamos ahora el sistema
x1 + 10x2 = 11 10x1 + 2x2 = 12
23/44
´ es tambien ´ [1, 1]T . cuya solucion – Partiendo de x(0) = [0, 0]T , los cinco primeros puntos que se generan utilizando el esquema iterativo de Jacobi son esta vez los que recoge la tabla que sigue. k (k)
x1
(k)
x2
El proceso diverge.
0
1
2
3
4
5
0,0000 11 -49 501 -2499 25001 0,0000 6 -49 251 -2499 12501
u
– Los dos sencillos sistemas de este ejemplo nos permiten constatar que ´ de puntos que genera el metodo ´ la sucesion de Jacobi puede converger ´ a la soluci ´ o diverger de esta.
Ant.
24/44
– Para poderlo aplicar con garant´ıa, por tanto, se hace necesario definir en que´ condiciones converge y se puede aplicar. Teorema 1 Si la matriz A es de diagonal dominante, el m etodo ´ de Jacobi para resolver Ax = b converge a su soluci ´ on.
´ de la convergencia m as ´ adelante – Seguiremos con la cuestion
Ant.
25/44
´Indice ´ 1. Introducci on 2. Velocidad o rapidez de convergencia
´ de Jacobi 3. Metodo ´ de Gauss-Seidel 4. Metodo ´ ´ de relajacion 5. Metodos ´ ´ de minimizacion 6. Metodos ´ de direcciones de descenso • Obtencion ´ de los gradientes conjugados • Metodo
´ numerica ´ ´ de los metodos 7. Comparacion
Ant.
´ Metodo de Gauss-Seidel 26/44
´ – En el metodo de Jacobi cada uno de los componentes del vector ´ en la iteracion ´ k + 1 se determina a partir de las de la iteraci on ´ solucion k. – En el de Carl Friedrich Gauss (1777-1855) y Phillip Ludwig Seidel ´ (1874)1 se modifica el de Jacobi utilizando en el c alculo de cada ´ en una iteraci on ´ el valor de aquellos ya componente de la solucion ´ calculados en esa misma iteracion. ´ – Volviendo a un sistema simbolico de tres ecuaciones,
a11x1 + a12x2 + a13x3 = b1 a21x1 + a22x2 + a23x3 = b2 a31x1 + a32x2 + a33x3 = b3, ´ que a11, a22 y a33 son distintos de cero, el suponiendo una vez mas ´ esquema iterativo del m etodo de Gauss-Seidel es el que sigue. 1
Lo introdujo Gauss en 1823 y lo perfeccion´o Seidel (alumno de Jacobi), as´ı como el an´alisis de su
Ant.
27/44
x(k+1) 1 x(k+1) 2 x(k+1) 3
1 (k) b1 − a12x(k) − a x = 13 3 2 a11 1 (k) = b2 − a21x(k+1) − a x 23 3 1 a22 1 (k+1) = b3 − a31x(k+1) − a x . 32 2 1 a33
´ de recurrencia general para un sistema n × n es la – La relacion siguiente:
x(k+1) i
1 = aii
i−1
bi −
j=1
n
aij x j(k+1) −
aij x j(k)
;
i = i,...,n.
j=i+1
Ant.
– Si se introducen las matrices
E = −
0 a21 .. .
··· ···
0 0 .. .
0 0 .. .
an 1 1 an 1 2 · · · 0 an1 an2 · · · an n
0 0
−
0 0 .. . −
1
−
y F = −
0 a12 0 0 .. .. . . 0 0 0 0
· · · a1 n · · · a2 n .. .
1
−
1
−
··· ···
0 0
a1 n a2n .. . an
1n
−
0
´ el metodo de Gauss-Seidel descompone la matriz A de la forma
28/44
,
A = (D − E ) − F , ´ donde D es la misma matriz diagonal que en el caso del m etodo de Jacobi. – El esquema iterativo del m´etodo de Gauss-Seidel escrito en forma matricial resulta
x(k+1) = (I − (D − E )−1 A)x(k) + (D − E )−1b.
´ • La matriz que caracteriza al m etodo es en este caso
I − (D − E )−1 A
Ant.
29/44
´ anterior tambi en ´ se puede – Como A = (D − E ) − F , la expresion representar de la siguiente forma
x(k+1) = (D − E )−1 [(D − E ) − A] x(k) + (D − E )−1b = (D − E )−1F x(k) + (D − E )−1b.
• A la matriz G = (D − E )−1 F se la denomina matriz de Gauss-Seidel. Ant.
´ Ax = b con el – El esquema del algoritmo para resolver la ecuacion ´ metodo de Gauss-Seidel es el que se describe en la tabla que sigue.
30/44
while x(k+1) − x(k)∞/x(k+1)∞ > T ol do for i = 1 to n
1 x(i) ← a(i, i) end
i−1
b(i) −
j=1
n
a(i, j)x( j) −
a(i, j)x( j)
j=i+1
end – En Matlab: % Resoluci´ o n por Gauss-Seidel function [x,k]=Gauss_Seidel_1_1(a,b) n=size(a,1); x=zeros(n,1); sm=1; k=0; while sm>0.001 k=k+1; sm=0; for i=1:n; xi=(b(i)-a(i,[1:i-1,i+1:n]) *x([1:i-1,i+1:n]))/a(i,i); sm=max(abs(x(i)-xi),sm); x(i)=xi; end sm=sm/max(abs(x)); end
Ant.
Ejemplo 31/44
´ – Resolvamos por el metodo de Gauss-Seidel el sistema lineal de ecuaciones del ejemplo anterior:
10x1 − x2 + 2x3 = 6 −x1 + 11x2 − x3 + 3x4 = 25 2x1 − x2 + 10x3 − x4 = −11 3x2 − x3 + 8x4 = 15. ´ general de recurrencia de Gauss-Seidel a este – Aplicando la relacion caso, partiendo del punto inicial x(0) = [0, 0, 0, 0]T , se tiene
x(1) = 1 x(1) = 2 x(1) = 3 x(1) = 4
1 (0) x 10 2 1 (1) x 11 1 − 15 x(1) 1
− +
+ −
1 (1) x 10 2 3 (1) x 8 2
1 (0) x 5 3 1 (0) x 11 3
+ − +
+
1 (1) x 8 3
3 (0) x 11 4 1 (0) x 10 4
+ − +
3 5 25 11 11 10 15 8
=
0,6000
=
2,3273
= −0,9873 =
0,8789.
Ant.
32/44
– Las iteraciones que se generan son las de la tabla. k (k)
x1
(k)
x2
(k)
x3
(k)
x4
0
1
2
3
4
5
0,0000 0,6000 1,0302 1,0066 1,0009 1,0001 0,0000 2,3273 2,0369 2,0036 2,0003 2,0000 0,0000 -0,9873 -1,0145 -1,0025 -1,0003 -1,0000 0,0000 0,8789 0,9843 0,9984 0,9998 0,9999
´ ´ – Observese que con este m etodo el problema, con el mismo criterio de convergencia, necesita 5 iteraciones; el de Jacobi lo hac´ıa en 9.
u
Ant.
Proposici o´ n 1 Si la matriz A es de diagonal dominante entonces se cumple que
33/44
G∞ ≤ J ∞. Teorema 2 El m´ etodo de Gauss–Seidel para resolver Ax = b converge a su soluci ´ on para el caso de una matriz de coeficientes de diagonal dominante.
Teorema 3 El esquema iterativo
x(k+1) = Gx(k) + c ´ si el radio espectral de G es menor que 1. es convergente si y s olo En ese caso la sucesi ´ on x(k) converge a la soluci ´ on de la ecuaci ´ on
x = Gx + c. ´ – El metodo de Gauss-Seidel puede resultar muy lento si el radio ´ espectral ρ(G) es muy proximo a la unidad.
Ant.
34/44
Teorema 4 El m´ etodo iterativo de Gauss–Seidel es convergente para todo ´ sistema de ecuaciones cuya matriz de coeficientes es sim etrica definida positiva.
Teorema 5 Sea A una matriz sim etrica ´ ´ y definida positiva, el m etodo ite´ si la matriz 2D − A es definida rativo de Jacobi es convergente si y s olo positiva.
Ant.
35/44
´Indice ´ 1. Introducci on 2. Velocidad o rapidez de convergencia
´ de Jacobi 3. Metodo ´ de Gauss-Seidel 4. Metodo ´ ´ de relajacion 5. Metodos ´ ´ de minimizacion 6. Metodos ´ de direcciones de descenso • Obtencion ´ de los gradientes conjugados • Metodo
´ numerica ´ ´ de los metodos 7. Comparacion
Ant.
´ ´ Metodos de Relajacion
36/44
´ – Los metodos de Jacobi y Gauss-Seidel se pueden generalizar: sus relaciones de recurrencia se pueden escribir de la forma (k) (k) x(k+1) = x + r i i i ,
i = 1, . . . , n .
´ • En el caso del metodo de Jacobi, n
bi − ri(k) =
aij x j(k)
j=1
;
aii
• En el de Gauss-Seidel, bi − ri(k)
=
i−1
n
aij x j(k+1) −
j=1
j=i
aii
aij x j(k)
.
Ant.
37/44
´ a – Visto as´ı, estos dos procedimientos iterativos llegan a la soluci on ´ de unos pasos, en cada uno de los cuales se avanza una traves cantidad r (k) . ´ ´ consiste, en cada iteraci on, ´ en – La idea de los metodos de relajacion ´ de recurrencia, aplicar la relacion (k) (k) x(k+1) = x + ωr i i i ,
i = 1, . . . , n ,
de tal forma que se mejoren las prestaciones del procedimiento ´ amplio, ω > 1, o mas ´ corto, ω < 1. avanzando un paso mas
´ ´ . ´ de relajacion • Al parametro ω se le conoce como parametro Ant.
´ ´ mas ´ conocido es el SOR, Successive – El metodo de relajacion ´ Overrelaxation: resulta de aplicar esta idea sobre la base del m etodo de Gauss-Seidel.
38/44
´ de recurrencia es: – Su relacion
x(k+1) i
ω = aii
i−1
bi −
j=1
n
aij x j(k+1) −
aij x j(k)
+ (1 − ω)x(k) i , i = 1, . . . , n .
j=i+1
´ adecuada del valor de ω puede mejorar la convergencia – Una eleccion ´ del metodo: ´ que introduce en cada iteraci on ´ es excesiva, se • Si la correccion puede disminuir con un factor ω < 1; ´ tiende a quedarse corta, se puede aumentar con un • Si la correccion factor ω > 1.
Ant.
´ del parametro ´ ω plantea dos problemas: – La eleccion
39/44
´ • Que ha de estudiarse el conjunto de valores del par ametro que ´ hacen que el metodo SOR converja; ´ • Que hay que determinar el valor del par ametro que haga que la ´ rapida ´ convergencia sea lo m as posible. – Si la matriz A se representa como antes de la forma
A = D − E − F , el esquema iterativo del m´etodo SOR en forma matricial es
x(k+1) = (D − ω E )
−1
((1 − ω)D + ω F ) x(k) + ω (D − ω E )
−1
b.
´ y convergencia del m etodo ´ • La matriz que caracteriza la iteraci on es
G(ω) = (D − ω E )
−1
((1 − ω)D + ω F ) .
Ant.
´ – El esquema algor´ıtmico del metodo es el que sigue. while x(k+1) − x(k) /x(k+1) for i = 1 to n ∞
ω x(i) ← a(i, i)
end
∞
i−1
b(i) −
j =1
40/44
> Tol do n
a(i, j)x( j) −
j =i+1
a(i, j)x( j)
+ (1 − ω)x(i)
end
% Resoluci´ on por SOR function [x,k]=SOR(a,b,w) n=size(a,1); x=zeros(n,1); sm=1; k=0; if nargin<3 w=1.25; end while sm>=0.0001 k=k+1; sm=0; for i=1:n; su=b(i)-a(i,[1:i-1,i+1:n])*x([1:i-1,i+1:n]); xi=(1-w)*x(i)+w*su/a(i,i); sm=max(abs(x(i)-xi),sm); x(i)=xi; end sm=sm/max(abs(x)); end
Ant.
Ejemplo
41/44
´ – Resolvamos por el metodo SOR el sistema de ecuaciones lineales
4x1 + 3x2 = 24 3x1 + 4x2 − x3 = 30 − x2 + 4x3 = −24. ´ general de recurrencia del m etodo, ´ – Aplicando la relacion partiendo del punto inicial x(0) = [1, 1, 1]T , con ω = 1,25, se obtienen los resultados de la siguiente tabla. k (k)
x1
(k) x2 (k) x3
0
1
2
3
4
5
6
7
1,0000 6,3125 2,6223 3,1333 2,9570 3,0037 2,9963 3,0000 1,0000 3,5195 3,9585 4,0102 4,0074 4,0029 4,0009 4,0002 1,0000 -6,6501 -4,6004 -5,0966 -4,9734 -5,0057 -4,9982 -5,0003
Ant.
42/44
– Por el contrario, partiendo del mismo punto pero esta vez con ω = 2,25, los resultados que se obtienen son los de la siguiente tabla. k (k)
x1 (k) x2 (k) x3
0
1
2
3
4
1,0000 10,5625 3,0588 1,3328 -10,8367 1,0000 -1,6367 4,9442 13,4344 8,7895 1,0000 -15,6706 8,8695 -17,0300 12,7316
5
6
12,2136 10,9919 -7,5608 -11,1607 -33,6674 22,3064
´ diverge. Como se puede ver, en este caso la soluci on
7 18,5938 11,9961 -34,6352
u
Ant.