Está en la página 1de 34

Métodos Iterativos

Jacobi
Los métodos itera,vos cons,tuyen una alterna,va a los métodos directos para
aproximar la solución.

Estos métodos consisten en obtener los valores que simultáneamente sa,sfagan un


conjunto de ecuaciones.

El método Jacobi es el método itera,vo para resolver sistemas de ecuaciones lineales


más simple y se aplica sólo a sistemas cuadrados, es decir a sistemas con tantas
incógnitas como ecuaciones.

Este método calcula un conjunto de nuevas x con base en un conjunto de x


anteriores. De esta forma, conforme se generan nuevos valores, no se usan en forma
inmediata sino que se re,enen para la siguiente iteración.

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi

Sea Ax = b, un sistema de ecuaciones lineales, donde todos los elementos de la


diagonal de la matriz A son diferentes de cero: aii ≠ 0 (i = 1, …, n), tal que:

a11x1 + a12x2 + … + a1nxn = b1

a21x1 + a22x2 + … + a2nxn = b2

.
.
.

an1x1 + an2x2 + … + annxn = bn

Se realiza primero pivoteo y se garan6za la convergencia de ser


necesario.

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Se despeja de cada ecuación la incógnita correspondiente:

x1 = (b1 − a12x2 − … − a1nxn)/a11 x1 = − a12 x2 − … − a1n xn + b1


a11 a11 a11

x2 = (b2 − a21x1 − … − a2nxn)/a22 x2 = − a21x1 − … − a2nxn + b2


. a22 . a22 a22
. .
. .
xn = (bn − an1x1 − … − annxn)/ann xn = − an1x1 − an2x2 − … − + bn
ann ann ann

Se plantea entonces el siguiente esquema iterativo, si algún elemento de la diagonal


es nulo se reordena la matriz. (Hacer siempre pivoteo parcial)

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Para un sistema 3x3:

x1(k) = − a12x2(k-1) − a13x3(k-1) + b1


a11 a11 a11

x2(k) = − a21x1(k-1) − a23x3(k-1) + b2


a22 a22 a22

x3(k) = − a31x1(k-1) − a32x2(k-1) + b3


a33 a33 a33

Los componentes xi(k) de x(k) son computados a partir de los componentes x(k−1),
para i > 1, los componentes x1(k), . . . , xi-1(k) de x(k) ya han sido computados, pero se
guardan para la siguiente iteración.

Facultad de Ciencias Básicas


Métodos Itera,vos
Jacobi
x1(k) = − a12 x2(k-1) − … − a1n xn(k-1) + b1
a11 a11 a11

x2(k) = − a21x1(k-1) − … − a2nxn(k-1) + b2 Sistema equivalente


a22 a22 a22

(k) (k−1)
x = Tx +C
xn(k) = − an1x1(k-1) − an2x2(k-1) − … − + bn
ann ann ann
k = 1, 2, …
Demostración:
Sea Lj la parte triangular inferior de A,
Uj la parte triangular superior de A,
multiplicadas por (-1).

Métodos Numéricos
Facultad de Ciencias Básicas
Facultad de Ciencias Básicas
Métodos Iterativos
Jacobi
Se puede expresar matricialmente el proceso reescribiendo la matriz del sistema
como:

A=D–L–U

donde D = diag(a11, a22, …, ann)

0 … … 0 0 -a21 … -an1
L = -a21 … … 0 , U =
0 … … -an-1,n
-an1 … -an,n-1 0 0 … … 0

Facultad de Ciencias Básicas


Métodos Itera,vos
Jacobi

Partiendo de Ax = b, podemos reescribir dicha ecuación como (D – Lj – Uj)x = b:

Dx = (Lj + Uj)x + b

Luego x = D-1 (Lj + Uj)x + D-1b

Si D-1 existe, esto es si aii ≠ 0 para cada i. Por la regla iterativa, la definición del
método de Jacobi puede ser expresado de la forma:
Métodos Iterativos
Jacobi
x(k) = D-1 (Lj + Uj)x(k-1) + D-1b , k = 1, 2, ….

Donde k es el contador de iteraciones.

Introduciendo la notación:

Tj = D−1(Lj + Uj) y Cj = D−1b

Tenemos la técnica itera,va de Jacobi:

x(k) = Tjx(k−1) + Cj

x empezando con un vector inicial x(0) = (0, 0, 0, …0)

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Para cada k ≥ 1, se generan los componentes xi(k) de x(k) a partir de los componentes
x(k−1) por:

1 n
xi(k) = Σ (-aijxj(k-1)) + bi , i = 1, 2, 3 … n
aii j=1
j≠i

x empezando con un vector inicial x(0) = (0, 0, 0, …0)

Cabe destacar que al calcular xi(k) se necesitan todos los elementos en x(k-1), excepto
el que tenga el mismo i. Por eso, al contrario que en el método de Gauss-Seidel, no
se puede sobreescribir xi(k-1) con xi(k), ya que su valor será necesario para el resto de
los cálculos.

Esta es la diferencia más significativa entre los métodos de Jacobi y Gauss-Seidel.

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Criterio de parada

El algoritmo parará cuando la solución varíe poco,

εa,i = xi(k) − xi(k-1) < εs


xi(k)

para todas las i, donde k y k – 1 son las iteraciones actuales y previas, respec,vamente.

Convergencia

El método de Jacobi siempre converge si la matriz A es estrictamente diagonal


dominante y puede converger incluso si esta condición no se sa,sface.

Es necesario que los elementos de la diagonal en la matriz sean mayores.

Facultad de Ciencias Básicas


Métodos Iterativos

Criterio de convergencia

Los métodos de Jacobi y Gauss-Seidel son similares a la técnica de iteración de punto


fijo usado para obtener las raíces de una sola ecuación.

La iteración de punto fijo presenta dos problemas fundamentales:

1. En algunas ocasiones no es convergente.

2. Cuando converge, con frecuencia lo hace en forma muy lenta.

Los métodos de Jacobi y Gauss-Seidel pueden también presentar estas desventajas.

Es necesario que los elementos de la diagonal en la matriz sean mayores. Este criterio
es suficiente pero no necesario para la convergencia.

Facultad de Ciencias Básicas


Métodos Iterativos

Criterio de convergencia

El elemento diagonal debe ser


mayor que el elemento fuera de
la diagonal para cada renglón. La
generalización de lo anterior para
n ecuaciones es directa y se
expresa como:

n
⎪aii⎪ > ∑ ⎪ai,j⎪
j=1
j≠i

a) convergencia y b) divergencia del método de


Jacobi/Gauss-Seidel.

Facultad de Ciencias Básicas


Métodos Iterativos

Criterio de convergencia

El coeficiente diagonal en cada una de las ecuaciones debe ser mayor que la suma del
valor absoluto de los otros coeficientes de la ecuación.

Este criterio es suficiente pero no necesario para la convergencia.

Es decir, el método puede funcionar aunque no se sa,sfaga la ecuación, la convergencia


se garan,za cuando la condición se sa,sface.

A los sistemas que cumplen con la ecuación se les conoce como diagonalmente
dominantes. Por fortuna, en la ingeniería, muchos problemas de importancia prác,ca
sa,sfacen este requerimiento.

Facultad de Ciencias Básicas


Métodos Iterativos

Criterio de convergencia

Ejemplo: para el sistema, después del pivoteo,


3x1 – 0.1x2 – 0.2x3 = 7.85
0.1x1 + 7x2 – 0.3x3 = –19.3
0.3x1 – 0.2x2 + 10x3 = 71.4

Se cumple que:

ü 3 > (0.1 + 0.2)


ü 7 > (0.1 + 0.3)
ü 10 > (0.3 + 0.2)

Por lo que la convergencia se garan,za.

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Ejemplo: Resolver el siguiente sistema:
– x1 + 4x2 – x3 = 6
4x1 – x2 = 2
– x2 + 4x3 = 2

Solución: Reordenando (pivoteo parcial):


Se garantiza la convergencia
4x1 – x2 = 2 4>1
– x1 + 4x2 – x3 = 6 4>2
– x2 + 4x3 = 2 4>1
Despejando x1 de la primera ecuación, x2 de la segunda y x3 de la tercera, se ,ene:
x1 = 0.25x2 + 0.5
x2 = 0.25x1 + 0.25x3 + 1.5
x3 = 0.25x2 + 0.5

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Por lo que:
x1(k) = 0.25x2(k-1) + 0.5
x2(k) = 0.25x1(k-1) + 0.25x3(k-1) + 1.5
x3(k) = 0.25x2(k-1) + 0.5
0
Se considera como aproximación inicial al vector: x(0) = 0 , esto es:
0
x1(0) = 0 ; x2(0) = 0 ; x3(0) = 0

Este primer valor de solución puede tener cualquier valor, y entre más cercano sea al
valor supuesto con respecto al valor final, la convergencia será más rápida.

En general no se conocen los signos de los resultados y por esta razón se escoge el
vector inicial supuesto igual a cero.

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Sus,tuyendo en el sistema, haciendo k=1, se ob,ene:

x1(1) = 0.25(0) + 0.5


x2(1) = 0.25(0) + 0.25(0) + 1.5
x3(1) = 0.25(0) + 0.5

Por lo que: 0.5


x(1) = 1.5
0.5

Siguiendo en igual forma las iteraciones, resulta:

x1(2) = 0.25(1.5) + 0.5 + 0.875


x2(2) = 0.25(0.5) + 0.25(0.5) + 1.5 = 1.75
x3(2) = 0.25(1.5) + 0.5 = 0.875

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi
Por lo que: 0.875 εa,1(2) = 0.875 – 0.5 = 43%
x(2) = 1.75 0.875
0.875 εa,2(2) = 14%, εa,3(2) = 43%

Siguiendo de igual forma las iteraciones, resulta:

εa,i(8) = 0

y la solución del sistema es: x1 = 1 ; x2 = 2 ; x3 = 1

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel

El método de Gauss-Seidel es el método itera,vo más comúnmente usado.

Suponga que se da un sistema de n ecuaciones:

[A]{x} = {b}

Suponga que se limita a un conjunto de ecuaciones de 3 × 3.

Si los elementos de la diagonal no son todos cero, la primera ecuación se puede


resolver para x1, la segunda para x2 y la tercera para x3, para obtener:

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel
x1 = − a12x2 − a13x3 + b1 (1)
a11 a11 a11

x2 = − a21x1 − a23x3 + b2 (2)


a22 a22 a22

x3 = − a31x1 − a32x2 + b3 (3)


a33 a33 a33

Se puede empezar el proceso de solución al escoger valores iniciales para las x.

Una forma simple para obtener los valores iniciales es suponer que todos son cero.
Estos ceros se sus,tuyen en la ecuación (1), la cual se u,liza para calcular un nuevo
valor

x1 = b1/a11

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel
Después, se sus,tuye este nuevo valor de x1 junto con el valor previo cero de x3 en la
ecuación (2) y se calcula el nuevo valor de x2.

Este proceso se repite con la ecuación (3) para calcular un nuevo valor de x3.

Después se regresa a la primera ecuación y se repite todo el procedimiento hasta que la


solución converja suficientemente cerca a los valores verdaderos.

La convergencia se verifica usando el critererio:

εa,i = xi(k) − xi(k-1) < εs


xi(k)

para todas las i, donde k y k – 1 son las iteraciones actuales y previas, respec,vamente.

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel
Generalizando: x1(k) = − a12x2(k-1) − a13x3(k-1) + b1
a11 a11 a11

x2(k) = − a21x1(k) − a23x3(k-1) + b2


a22 a22 a22

x3(k) = − a31x1(k) − a32x2(k) + b3


a33 a33 a33

Los componentes xi(k) de x(k) son computados a partir de los componentes x(k−1), pero
para i > 1, los componentes x1(k), . . . , xi-1(k) de x(k) ya han sido computados, por lo
tanto, para computar xi(k) se usan los valores mas recientemente calculados.

1 i-1 n
xi(k) = - Σ (aijxj ) - Σ (aijxj(k-1)) + bi ,
(k) i = 1, 2, 3 … n
aii j=1 j=i+1

x empezando con un vector inicial x(0) = (0, 0, 0, …0)

Facultad de Ciencias Básicas


Métodos Itera,vos
Gauss-Seidel

Con la definición de D, L, y U dadas, el método de Gauss-Seidel se puede


representar:

(D − L)x(k) = Ux(k−1) + b
y
x(k) = (D − L)−1Ux(k−1) + (D − L)−1b, k = 1, 2,....

Tomando Tg = (D − L)−1U y Cg = (D − L)−1b, tenemos la técnica itera,va de


Gauss-Seidel

x(k) = Tgx(k−1) + Cg

x empezando con un vector inicial x(0) = (0, 0, 0, …0)

Métodos Numéricos Catalina Tobón Z


Facultad de Ciencias Básicas ctobon@udem.edu.co
Facultad de Ciencias Básicas
Métodos Iterativos
Gauss-Seidel
Ejemplo:

Use el método de Gauss-Seidel para obtener la solución del sistema

0.1x1 + 7x2 – 0.3x3 = –19.3


0.3x1 – 0.2x2 + 10x3 = 71.4
3x1 – 0.1x2 – 0.2x3 = 7.85

La verdadera solución es x1 = 3, x2 = –2.5 y x3 = 7.

Solución:

Primero, pivoteo y se garan,za convergencia:

3x1 – 0.1x2 – 0.2x3 = 7.85


0.1x1 + 7x2 – 0.3x3 = –19.3
0.3x1 – 0.2x2 + 10x3 = 71.4

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel
Segundo, despeje la incógnita sobre la diagonal para cada una de las ecuaciones.

x1(1) = 0.1x2(0) + 0.2x3(0) + 7.85 (1)


3
x2(1) = – 0.1x1(1) + 0.3x3(0) –19.3 (2)
7
x3(1) = – 0.3x1(1) + 0.2x2(1) + 71.4 (3)
10
Ya que los valores iniciales de x2 y x3 son cero, se u,liza la ecuación (1) para calcular
x1 = 0 + 0 + 7.85 = 2.616667
3
Este valor, junto con el valor de x3 = 0, se sus,tuye en la ecuación (2) para calcular
x2 = − 0.1(2.616667) + 0 −19.3 = −2.794524
7

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel
La primera iteración termina al sus,tuir los valores calculados para x1 y x2 en la ecuación
(3) para dar
x3 = − 0.3(2.616667) + 0.2(−2.794524) + 71.4 = 7.005610
10

En la segunda iteración, se repite el mismo proceso para calcular Error relativo verdadero

x1(2) = 0.1(−2.794524) + 0.2(7.005610) + 7.85 = 2.990557 εt = 0.31%


3
x2(2) = − 0.1(2.990557) + 0.3(7.005610) −19.3 = −2.499625 εt = 0.015%
7
x3(2) = − 0.3(2.990557) + 0.2(−2.499625) + 71.4 = 7.000291 εt = 0.0042%
10

Facultad de Ciencias Básicas


Métodos Iterativos
Gauss-Seidel
El método es, por lo tanto, convergente hacia la verdadera solución.

Es posible aplicar iteraciones adicionales para mejorar los resultados. Sin embargo, en
un problema real, no se podría saber a priori el resultado correcto. En consecuencia, la
ecuación εa,i da un medio para es,mar el error.

Por ejemplo, para x1,

εa,1 = 2.990557 − 2.616667 100% = 12.5%


2.990557

Para x2 y x3, los errores es,mados son εa,2 = 11.8% y εa,3 = 0.076%.

Las formulaciones como la ecuación εa,i usualmente ofrecen una valoración


conserva,va de la convergencia. Así, cuando éstas se sa,sfacen, aseguran que el
resultado se conozca con, al menos, la tolerancia especificada por εs.

Facultad de Ciencias Básicas


Métodos Iterativos

Conforme un nuevo valor de x se calcula con el método de Gauss-Seidel, éste se usa


inmediatamente en la siguiente ecuación para determinar el otro valor de x.

De esta forma, si la solución es convergente, se empleará la mejor aproximación


disponible.

El método alterna,vo de Jacobi, más que usar inmediatamente el úl,mo valor


disponible de x, calcula un conjunto de nuevas x con base en un conjunto de x
anteriores. De esta forma, conforme se generan nuevos valores, no se usan en forma
inmediata sino que se re,enen para la siguiente iteración.

Aunque hay ciertos casos donde es ú,l el método de Jacobi, la u6lización de Gauss-
Seidel da la mejor aproximación y usualmente lo hace el método itera6vo preferido.

Facultad de Ciencias Básicas


Métodos Iterativos

Diferencia entre los


métodos de

a) Gauss-Seidel y

b) Jacobi,

para resolver sistemas


de ecuaciones
algebraicas lineales.

Facultad de Ciencias Básicas


Métodos Iterativos
Ejemplo: Resolver por Jacobi y Gauss-Seidel, para es <= 1%, redondeo a 4 decimales.

–x1 + 3x2 + x3 = –4 4x1 + x2 – x3 = 5


Pivoteo Convergencia 4 > (1 + 1)
4x1 + x2 – x3 = 5 –x1 + 3x2 + x3 = –4 3 > (1 + 1) ü
2x1 + 2x2 + 5x3 = 1 2x1 + 2x2 + 5x3 = 1 5 > (2 + 2)

x1 = (5 – x2 + x3)/4
x2 = (–4 + x1 – x3)/3 , con x(0) = (0, 0, 0)
x3 = (1 – 2x1 – 2x2)/5

Jacobi Gauss-Seidel

x1 = (5 – 0 + 0)/4 = 1.25 x1 = (5 – 0 + 0)/4 = 1.25


x2 = (–4 + 0 – 0)/3 = –1.3333 x2 = (–4 + (1.25) – 0)/3 = –0.9167
x3 = (1 – 2(0) – 2(0))/5 = 0.2 x3 = (1 – 2(1.25) – 2(–0.9167))/5 = 0.0667
x(1) = (1.25, –1.3333, 0.2) x(1) = (1.25, –0.9167, 0.0667)

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi Gauss-Seidel

x1 = (5 – (–1.3333) + 0.2)/4 = 1.6333 x1 = (5 – (–0.9167) + 0.0667)/4 = 1.4958


x2 = (–4 + 1.25 – 0.2)/3 = –0.9833 x2 = (–4 + (1.4958) – 0.0667)/3 = –0.857
x3 = (1 – 2(1.25) – 2(–1.3333))/5 = 0.2333 x3 = (1 – 2(1.4958) – 2(–0.857))/5 = –0.0555

x(2) = (1.6333, –0.9833, 0.2333) x(2) = (1.4958, –0.857, –0.0555)

e1 = 23% , e2 = 36% , e3 = 14% e1 = 16% , e2 = 7% , e3 = 220%

x1 = (5 – (–0.9833) + 0.2333)/4 = 1.5541 x1 = (5 – (–0. 857) + (–0.0555))/4 = 1.4504


x2 = (–4 + 1.6333 – 0.2333)/3 = –0.8667 x2 = (–4 + (1.4504) – (–0.05555))/3 = –0.8314
x3 = (1 – 2(1.6333) – 2(–0.9833))/5 = –0.06 x3 = (1 – 2(1.4504) – 2(–0.8314))/5 = –0.0476

x(3) = (1.5541, –0.8667, –0.06) x(3) = (1.4504, –0.8314, –0.0476)

e1 = 5% , e2 = 13% , e3 = 489% e1 = 3% , e2 = 3% , e3 = 17%

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi Gauss-Seidel

x1 = (5 – (–0.8667) + (–0.06))/4 = 1.4517 x1 = (5 – (–0.8314) + (–0.0476)/4 = 1.446


x2 = (–4 + 1.5541 – (–0.06))/3 = –0.7953 x2 = (–4 + (1.446) – (–0.0476)/3 = –0.8355
x3 = (1 – 2(1.5541) – 2(–0.8667))/5 = –0.075 x3 = (1 – 2(1.446) – 2(–0.8355))/5 = –0.0442

x(4) = (1.4517, –0.7953, –0.075) x(4) = (1.446, –0.8355, –0.0442)

e1 = 7% , e2 = 9% , e3 = 20% e1 = 0.3% , e2 = 0.5% , e3 = 8%

x1 = (5 – (–0.7953) + (–0.075))/4 = 1.4301 x1 = (5 – (–0. 8355) + (–0.0442))/4 = 1.4478


x2 = (–4 + 1.4517 – (–0.075))/3 = –0.8244 x2 = (–4 + (1.446) – (–0.0442))/3 = –0.836
x3 = (1 – 2(1.4517) – 2(–0.7953))/5 = –0.0625 x3 = (1 – 2(1.446) – 2(–0.836))/5 = –0.0447

x(5) = (1.4301, –0.8244, –0.0625) x(5) = (1.4478, –0.836, –0.0447)

e1 = 2% , e2 = 4% , e3 = 20% e1 = 0.1% , e2 = 0.1% , e3 = 1%

Facultad de Ciencias Básicas


Métodos Iterativos
Jacobi Gauss-Seidel

x1 = (5 – (–0.8244) + (–0.0625))/4 = 1.4405 R/: x(5) = (1.4478, –0.836, –0.0447)


x2 = (–4 + 1.4301 – (–0.0625))/3 = –0.8358
x3 = (1 – 2(1.4301) – 2(–0.8244))/5 = –0.0423 Verificación:

x(6) = (1.4405, –0.8358, –0.0423) –1.4478 + 3(–0.836) – 0.0447 = –4.0005 ≅ –4


4(1.4478) – 0.836 + 0.0447 = 4.9999 ≅ 5
e1 = 1% , e2 = 1% , e3 = 48% 2(1.4478) + 2(–0.836) + 5(–0.0447) = 1.0001 ≅1

x1 = (5 – (–0.8358) + (–0.0423))/4 = 1.4484


x2 = (–4 + 1.4405 – (–0.0423))/3 = –0.8391
x3 = (1 – 2(1.4405) – 2(–0.8358))/5 = –0.0419

e1 = 1% , e2 = 0.4% , e3 = 1% Verificación:
–1.4484 + 3(–0.8391) – 0.0419 = –4.0076 ≅ –4
R/: x(7) = (1.4484, –0.8391, –0.0419) 4(1.4484) – 0.8391 + 0.0419 = 4.9964 ≅ 5
2(1.4484) + 2(–0.8391) + 5(–0.0419) = 1.0091 ≅1

Facultad de Ciencias Básicas


Ejercicios
a. Resuelva por los métodos directos e itera,vos, con un es = 5%

b. Aproxime las dobles integrales con n = 4 y m = 2, n = 4 y m = 3, y con n = m = 4

c. Una empresa de trasteos cuenta con 45 camiones de tres tamaños diferentes. Los
grandes transportan una media diaria de 15 toneladas y recorren diariamente una media
de 3 km. Los medianos transportan diariamente una media de 10 toneladas y recorren 4
km. Los pequeños transportan diariamente 5 toneladas y recorren 1 km de media.
Diariamente los camiones de la empresa transportan un total de 400 toneladas y
recorren 120 km entre todos. ¿Cuántos camiones ,ene la empresa de cada tamaño?
34
Facultad de Ciencias Básicas

También podría gustarte