Guía6Met Iterativos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Universidad de Sucre & Departamento de Matemáticas

Curso virtual: Métodos numéricos, semestre 02-2021

Guía 6. Métodos iterativos para un sistema 𝐴𝑋 = 𝑏

Los métodos directos para resolver sistemas lineales, con el uso de operaciones elementales de renglón, conducen a soluciones exactas en muchos
casos, pero están sujetas a errores debido a factores de redondeo y otros, como se ha visto. La tercera vía lleva por una ruta de hecho muy
diferente. En esta sección se exploran los métodos que proceden iterativamente al generar una sucesión de vectores que aproximan una solución
para un sistema lineal. En muchas instancias (como cuando la matriz coeficientes es dispersa, esto es: contiene muchas entradas iguales a cero),
los métodos iterativos pueden ser más rápidos y más precisos que los métodos directos. Además, los métodos iterativos pueden detenerse siempre
que la solución aproximada que generen sea suficientemente precisa. Asimismo, los métodos iterativos con frecuencia se benefician de la
imprecisión, el error de redondeo puede acelerar su convergencia hacia una solución. Se explorarán dos métodos iterativos para resolver sistemas
lineales: el método de Jacobi y un refinamiento del mismo, el método de Gauss-Seidel. En todos los ejemplos se considerarán sistemas lineales con
el mismo número de variables que de ecuaciones, solución única y 𝐴 diagonal estrictamente dominante.

Definición Se dice que la matriz 𝐴 de orden 𝑛x𝑛 es de diagonal estrictamente dominante si,
𝑛

|𝑎𝑘𝑘 | > ∑ |𝑎𝑘𝑗 | , 𝑘 = 1,2, … , 𝑛


𝑗=1,𝑗≠𝑘

Esto significa que en cada fila de la matriz, la magnitud del elemento que está en la diagonal principal debe ser mayor que la suma de las magnitudes
de todos los demás elementos de la fila.

Ejemplo 1 Considerese las siguientes matrices


4 3 8 4 3 0
𝐴 = [2 1 5] y 𝐵 = [2 10 5]
1 2 6 1 2 6
En la matriz 𝐴: |𝑎11 | = 4 < |3| + |8|, |𝑎22 | = 1 < |2| + |5|, |𝑎33 | = 6 > |1| + |2|, no es de diagonal estrictamente dominante; mientras que 𝐵:
|𝑏11 | = 4 > |3| + |0|, |𝑏22 | = 10 < |2| + |5|, |𝑏33 | = 6 > |1| + |2|, es de diagonal estrictamente dominante.
1. Método de iterativo de Jacobi

La base del método consiste en construir una sucesión convergente definida iterativamente. El límite de esta sucesión es precisamente la solución
del sistema. A efectos prácticos si el algoritmo se detiene después de un número finito de pasos se llega a una aproximación al valor de 𝑋 de la
solución del sistema.

La sucesión se construye descomponiendo la matriz del sistema en la forma siguiente:

𝐴 = 𝐷+𝑅
Donde 𝐷, es una matriz diagonal y 𝑅, es la suma de una matriz triangular inferior 𝐿 y una matriz triangular superior 𝑈, luego 𝑅 = 𝐿 + 𝑈. Partiendo
de 𝐴𝑋 = 𝑏, podemos rescribir dicha ecuación como:

𝐴𝑋 = (𝐷 + 𝑅)𝑋 = 𝐷𝑋 + 𝑅𝑋 = 𝑏 → 𝐷𝑋 = 𝑏 − 𝑅𝑋, de lo cual


𝑋 = 𝐷−1 (𝑏 − 𝑅𝑋)

Si 𝑎𝑖𝑖 ≠ 0, para cada 𝑖, la regla iterativa para el método de Jacobi puede ser expresada de la forma:

𝑋 (𝑘+1) = 𝐷−1 (𝑏 − 𝑅𝑋 𝑘 )

Donde 𝑘 es el contador de iteración. Entonces cada elemento 𝑥𝑖 (𝑘+1) de 𝑋 (𝑘+1), se obtiene con la siguiente expresión
𝑛
1
𝑥𝑖 (𝑘+1)
= (𝑏 − ∑ 𝑎𝑖𝑗 𝑥𝑗 (𝑘) ) , 𝑖 = 1,2,3, … , 𝑛
𝑎𝑖𝑖 𝑖
𝑗≠𝑖

Ejemplo 2: consideremos el siguiente sistema

4𝑥1 + 2𝑥2 + 1𝑥3 = 1


1𝑥1 + 5𝑥2 + 2𝑥3 = 3
1𝑥1 + 4𝑥2 + 7𝑥3 = 5

El sistema tiene solución única, porque 𝑟𝑎𝑛𝑘(𝐴) = 𝑟𝑎𝑛𝑘([𝐴 𝑏]) = 𝑛 = 3

Las expresiones para los 𝑥𝑖 (𝑘+1) , se deducen de


3
1
𝑥𝑖 (𝑘+1)
= (𝑏 − ∑ 𝑎𝑖𝑗 𝑥𝑗 (𝑘) ) , 𝑖 = 1,2,3
𝑎𝑖𝑖 𝑖
𝑗≠𝑖

3
(𝑘+1) 1 1
𝑖 = 1, 𝑥1 = (𝑏1 − ∑ 𝑎1𝑗 𝑥𝑗 (𝑘) ) = (𝑏 − (𝑎12 𝑥2 (𝑘) + 𝑎13 𝑥3 (𝑘) ))
𝑎11 𝑎11 1
𝑗≠𝑖

1
→ 𝑥1 (𝑘+1) = (1 − (2𝑥2 (𝑘) + 1𝑥3 (𝑘) ))
4
3
(𝑘+1) 1 1
𝑖 = 2, 𝑥2 = (𝑏2 − ∑ 𝑎2𝑗 𝑥𝑗 (𝑘) ) = (𝑏 − (𝑎21 𝑥1 (𝑘) + 𝑎23 𝑥3 (𝑘) ))
𝑎22 𝑎22 2
𝑗≠𝑖

1
→ 𝑥2 (𝑘+1) = (3 − (1𝑥1 (𝑘) + 2𝑥3 (𝑘) ))
5
3
1 1
𝑖 = 3, 𝑥3 (𝑘+1) = (𝑏 − ∑ 𝑎3𝑗 𝑥𝑗 (𝑘) ) = (𝑏 − (𝑎31 𝑥1 (𝑘) + 𝑎32 𝑥2 (𝑘) ))
𝑎33 3 𝑎33 3
𝑗≠𝑖

1
→ 𝑥3 (𝑘+1) = (5 − (1𝑥1 (𝑘) + 4𝑥2 (𝑘) ))
7
Iterando, si 𝑘 = 0 y 𝑋 0 = [𝑥1 0 𝑥2 0 𝑥3 0 ]′ = [0 0 0 ]′ , 𝑋1 = [ 𝑥11 𝑥21 𝑥31 ]′ se obtiene del modo siguiente
1
𝑥1 (1) = (1 − (2𝑥2 (0) + 1𝑥3 (0) )) = 0.2500000000
4
1
𝑥2 (1) = (3 − (1𝑥1 (0) + 2𝑥3 (0) )) = 0.6000000000
5
1
𝑥3 (1) = (5 − (1𝑥1 (0) + 4𝑥2 (0) )) = 0.7142857143
7
Si 𝑘 = 1 y 𝑋 1 = [𝑥11 𝑥21 𝑥31 ]′ = [ 0.2500000000 0.6000000000 0.7142857143 ]′ , 𝑋 2 = [ 𝑥1 2 𝑥2 2 𝑥3 2 ]′ se obtiene del modo siguiente
1
𝑥1 (2) = (1 − (2𝑥2 (1) + 1𝑥3 (1) )) = −0.22857142858
4
1
𝑥2 (2) = (3 − (1𝑥1 (1) + 2𝑥3 (1) )) = 0.26428571428
5
1
𝑥3 (2) = (5 − (1𝑥1 (1) + 4𝑥2 (1) )) = 0.33571428571
7
Realizando nuevas iteraciones, podemos acercarnos a la siguiente solución numérica

𝑋 𝑁 = [ 𝑥1 𝑁 𝑥2 𝑁 𝑥3 𝑁 ]′ = [−0.0824742268 0.42268041237 0.48453608247 ]′


Teorema: Supongamos que 𝐴 es una matriz de diagonal estrictamente dominante. Entonces el sistema de ecuaciones lineales 𝐴𝑋 = 𝑏 tiene
solución única 𝑋 = 𝑋 ∞ . Además, el proceso iterativo dado por la fórmula de iteración, produce una sucesión de vectores {𝑋 𝑘 } que converge a 𝑋
cualquiera sea el vector de partida 𝑋 0 .

En el método iterativo de Jacobi se usan todos los valores de la iteración anterior para obtener una nueva y mejor apróximación, en un método
similar, el método de Gauss-Seidel, emplea los valores nuevos conforme se van generando.

2. Método iterativo de Gauss-Seidel

El método se desarrolla de modo siguiente: primero se debe reescribir el problema lineal 𝐴𝑋 = 𝑏, que queremos resolver, en la forma, 𝑋 𝑘+1 =
𝑀𝑋 𝑘 + 𝐶, 𝑘 = 1,2, … 𝑁, por este motivo debemos escribir la matriz 𝐴 como la suma de una matriz triangular inferior, una diagonal y una triangular
superior 𝐴 = 𝐿 + 𝐷 + 𝑈, 𝐷 = 𝑑𝑖𝑎𝑔(𝑎𝑖𝑖 ). Haciendo los despejes necesarios escribimos el sistema de la siguiente forma

𝐴𝑋 = (𝐿 + 𝐷 + 𝑈)𝑋 = (𝐿 + 𝐷)𝑋 + 𝑈𝑋 = 𝑏 ↔ (𝐿 + 𝐷)𝑋 = 𝑏 − 𝑈𝑋, de lo cual

𝑋 = −(𝐿 + 𝐷)−1 𝑈𝑋 + (𝐿 + 𝐷)−1 𝑏

Si 𝑎𝑖𝑖 ≠ 0, para cada 𝑖 = 1,2, . . , 𝑁, la regla iterativa para el método de Gauss-Seidel puede ser expresada de la forma:

𝑋 (𝑘+1) = −(𝐿 + 𝐷)−1 𝑈𝑋 𝑘 + (𝐿 + 𝐷)−1 𝑏 → 𝑋 (𝑘+1) = 𝑀𝑋 𝑘 + 𝐶, 𝑀 = −(𝐿 + 𝐷)−1 𝑈 y 𝐶 = (𝐿 + 𝐷)−1 𝑏

Donde 𝑘 es el contador de iteración. Y cada elemento 𝑥𝑖 (𝑘+1) de 𝑋 (𝑘+1), se obtiene con la siguiente expresión
− ∑1≤𝑗≤𝑖−1 𝑎𝑖𝑗 𝑥𝑗 (𝑘+1) − ∑𝑖+1≤𝑗≤𝑛 𝑎𝑖𝑗 𝑥𝑗 (𝑘) + 𝑏𝑖
𝑥𝑖 (𝑘+1) = , 𝑖 = 1,2,3, … , 𝑁
𝑎𝑖𝑖
Ejemplo 3 Consideremos el sistema de ecuaciones lineales del ejemplo 2, y mediante el método de Gauss-Seidel obtendremos una aproximación
numérica de la solución

4𝑥1 + 2𝑥2 + 1𝑥3 = 1


1𝑥1 + 5𝑥2 + 2𝑥3 = 3
1𝑥1 + 4𝑥2 + 7𝑥3 = 5
Las expresiones para los 𝑥𝑖 (𝑘+1) , se deducen de

− ∑1≤𝑗≤𝑖−1 𝑎𝑖𝑗 𝑥𝑗 (𝑘+1) − ∑𝑖+1≤𝑗≤𝑛 𝑎𝑖𝑗 𝑥𝑗 (𝑘) + 𝑏𝑖


𝑥𝑖 (𝑘+1) = , 𝑖 = 1,2,3
𝑎𝑖𝑖

(𝑘+1)
− ∑2≤𝑗≤3 𝑎1𝑗 𝑥𝑗 (𝑘) + 𝑏1
𝑥1 = ,𝑖 = 1
𝑎11
−𝑎12 𝑥2 (𝑘) − 𝑎13 𝑥3 (𝑘) + 𝑏1
𝑥1 (𝑘+1) =
𝑎11

−2𝑥2 (𝑘) − 1𝑥3 (𝑘) + 1


→ 𝑥1 (𝑘+1) =
4

(𝑘+1)
− ∑1≤𝑗≤1 𝑎2𝑗 𝑥𝑗 (𝑘+1) − ∑3≤𝑗≤3 𝑎2𝑗 𝑥𝑗 (𝑘) + 𝑏2
𝑥2 = ,𝑖 = 2
𝑎22

−𝑎21 𝑥1 (𝑘+1) − 𝑎23 𝑥3 (𝑘) + 𝑏2


𝑥2 (𝑘+1) =
𝑎22

−1𝑥1 (𝑘+1) − 2𝑥3 (𝑘) + 3


→ 𝑥2 (𝑘+1) =
5
(𝑘+1)
− ∑1≤𝑗≤2 𝑎3𝑗 𝑥𝑗 (𝑘+1) + 𝑏3
𝑥3 = ,𝑖 = 3
𝑎𝑖𝑖

−𝑎31 𝑥1 (𝑘+1) − 𝑎32 𝑥2 (𝑘+1) + 𝑏3


𝑥3 (𝑘+1) =
𝑎𝑖𝑖

−1𝑥1 (𝑘+1) − 4𝑥2 (𝑘+1) + 5


→ 𝑥3 (𝑘+1) =
7
Iterando, si 𝑘 = 0 y 𝑋 0 = [𝑥1 0 𝑥2 0 𝑥3 0 ]′ = [0 0 0 ]′ , 𝑋1 = [ 𝑥11 𝑥21 𝑥31 ]′ se obtiene del modo siguiente

−2𝑥2 (0) − 1𝑥3 (0) + 1


𝑥1 (1) = = 0.25000000000
4
−1𝑥1 (1) − 2𝑥3 (0) + 3
𝑥2 (1) = = 0.55000000000
5
−1𝑥1 (1) − 4𝑥2 (1) + 5
𝑥3 (1) = = 0.36428571429
7
Iterando, si 𝑘 = 1 y 𝑋1 = [𝑥1 1 𝑥21 𝑥31 ]′ = [ 0.25000000000 0.55000000000 0.36428571429]′ , 𝑋 2 = [ 𝑥1 2 𝑥2 2 𝑥3 2 ]′ se obtiene del modo
siguiente

−2𝑥2 (1) − 1𝑥3 (1) + 1


𝑥1 (2) = = −0.11607142857
4

(2)
−1𝑥1 (2) − 2𝑥3 (1) + 3
𝑥2 = = 0.47750000000
5
−1𝑥1 (2) − 4𝑥2 (2) + 5
𝑥3 (2) = = 0.45801020408
7
Realizando un numéro mayor de iteraciones podemos acercarnos a la siguiente solución numérica

𝑋 𝑁 = [ 𝑥1 𝑁 𝑥2 𝑁 𝑥3 𝑁 ]′ = [−0.0824742268 0.42268041237 0.48453608247 ]′


Puede probarse que el método iterativo de Gauss-Seidel también converge cuando la matriz 𝐴 es diagonal estrictamente dominante así como para
matrices simétricas definidas positivas. Normalmente, el método de Gauss-Seidel converge más rápidamente que el de Jacobi, por lo que se suele
preferir. Sin embargo, se dan casos, en los que el método de Jacobi converge pero el de Gauss-Seidel no.

Código Scilab para los algoritmos de Jacobi y Gauss-Seidel

Aplicación1: las ecuaciones algebraicas lineales pueden surgir al resolver ecuaciones diferenciales. Por ejemplo, la ecuación diferencial siguiente
proviene de un balance de calor para una barra larga y delgada (véase la imagen 1)

1
Problema 12.38, Métodos numéricos para ingenieros, Steven C. Chapra, Raymond P. Canales, edición 7ma.
Imagen 1. Una barra uniforme sin aislamiento colocada entre dos paredes de temperatura constante pero diferente. La representación en diferencias finitas
emplea cuatro nodos interiores.

donde 𝑇 = temperatura (°𝐶), 𝑥 = distancia a lo largo de la barra (𝑚), ℎ ′ coeficiente de transferencia de calor entre la barra y el aire del ambiente
(𝑚 −2 ) y 𝑇𝑎 temperatura del aire circundante (°𝐶). Esta ecuación se transforma en un conjunto de ecuaciones algebraicas lineales por medio del
uso de una aproximación en diferencias finitas divididas para la segunda derivada.

𝑑2 𝑇 𝑇𝑖+1 − 2𝑇𝑖 + 𝑇𝑖−1



𝑑𝑥 2 ∆𝑥 2

𝑇𝑖+1 − 2𝑇𝑖 + 𝑇𝑖−1


+ ℎ ′ (𝑇𝑎 − 𝑇) = 0
∆𝑥 2

donde 𝑇𝑖 denota la temperatura en el nodo 𝑖. Esta aproximación se sustituye en la ecuación (1) y se obtiene

−𝑇𝑖−1 + (2 + ℎ ′ ∆𝑥 2 )𝑇𝑖 − 𝑇𝑖+1 = ℎ ′ ∆𝑥 2 𝑇𝑎 , Ecu. 2

Se puede plantear esta ecuación para cada uno de los nodos interiores de la barra, lo que resulta en un sistema tridiagonal de ecuaciones. Los
nodos primero y último en los extremos de la barra están fijos por las condiciones de frontera.

a. Desarrolle la solución analítica para la ecuación (1) para una barra de 10 m con 𝑇𝑎 = 10, 𝑇 (𝑥 = 0) = 40, 𝑇(𝑥 = 10) = 200 y ℎ ′ = 0.02
b. Desarrolle una solución numérica para los mismos valores de los parámetros que se emplearon en el inciso a), con el uso de una solución
en diferencias finitas con cuatro nodos interiores según se muestra en la imagen 1, (∆𝑥 = 2).

𝑑2 𝑇
Solución analítica: Dado que, + ℎ ′ (𝑇𝑎 − 𝑇) = 0, con 𝑇(𝑥 = 0) = 40, 𝑇 (𝑥 = 10) = 200, es un problema de valores en la frontera, PVF, se
𝑑𝑥 2
resuelve del modo siguiente

𝑑2 𝑇 𝑑2 𝑇 𝑑𝑇
La ecuación, 𝑑𝑥 2 + ℎ ′ (𝑇𝑎 − 𝑇) = 0 ↔ 1 𝑑𝑥 2 + 0 𝑑𝑥 − ℎ ′ 𝑇 = −ℎ ′ 𝑇𝑎

es lineal, de segundo orden y no homogénea. Su solución se obtiene mediante,

𝑇 (𝑥) = 𝑇𝑐 (𝑥) + 𝑇𝑝 (𝑥) = 𝑇𝑐 (𝑥) + 𝑇𝑎


′𝑥 ′
𝑇𝑐 (𝑥) = 𝐶1 𝑒 −𝑚1𝑥 + 𝐶2 𝑒 𝑚2 𝑥 = 𝐶1 𝑒 −√ℎ + 𝐶2 𝑒 √ℎ 𝑥 , donde 𝑚1 , 𝑚2 se obtienen al resolver la ecuación auxiliar, 1𝑚 2 + 0𝑚 − ℎ ′ = 0

′ ′𝑥
→ 𝑇 (𝑥) = 𝑇𝑎 + 𝐶1 𝑒 −√ℎ 1𝑥 + 𝐶2 𝑒 √ℎ

Las constantes 𝐶1 y 𝐶2 , al resolver el siguiente sistema de ecuaciones, que se obtiene aplicando las condiciones de frontera,

′ ′
𝑇 (0) = 40 = 𝑇𝑎 + 𝐶1 𝑒 −√ℎ 10 + 𝐶2 𝑒 √ℎ 0 → 𝐶1 + 𝐶2 = 40 − 𝑇𝑎 = 30
′ ′
𝑇 (10) = 200 = 𝑇𝑎 + 𝐶1 𝑒 −√ℎ 110 + 𝐶2 𝑒 √ℎ 10 → 0.24312𝐶1 + 4.1133𝐶2 = 200 − 𝑇𝑎 = 190

𝐶1 = −17.209, 𝐶2 = 47.209

Finalmente, 𝑇(𝑥) = 10 − 17.209𝑒 −√0.02𝑥 + 47.209𝑒 √0.02𝑥 , 0 ≤ 𝑥 ≤ 10

Solución numérica: utilizando la ecuación (2), se tiene el siguiente sistema de ecuaciones lineales

Nodo 𝑖 = 1, −𝑇0 + (2 + ℎ ′ ∆𝑥 2 )𝑇1 − 𝑇2 = ℎ ′ ∆𝑥 2 𝑇𝑎


Nodo 𝑖 = 2, −𝑇1 + (2 + ℎ ′ ∆𝑥 2 )𝑇2 − 𝑇3 = ℎ ′ ∆𝑥 2 𝑇𝑎
Nodo 𝑖 = 3, −𝑇2 + (2 + ℎ ′ ∆𝑥 2 )𝑇3 − 𝑇4 = ℎ ′ ∆𝑥 2 𝑇𝑎
Nodo 𝑖 = 4, −𝑇3 + (2 + ℎ ′ ∆𝑥 2 )𝑇4 − 𝑇5 = ℎ ′ ∆𝑥 2 𝑇𝑎

Equivalente a:

(2 + ℎ ′ ∆𝑥 2 )𝑇1 − 1𝑇2 + 0𝑇3 + 0𝑇4 = ℎ ′ ∆𝑥 2 𝑇𝑎 + 𝑇0


−1𝑇1 + (2 + ℎ ′ ∆𝑥 2 )𝑇2 − 1𝑇3 + 0𝑇4 = ℎ ′ ∆𝑥 2 𝑇𝑎
0𝑇1 − 1𝑇2 + (2 + ℎ ′ ∆𝑥 2 )𝑇3 − 1𝑇4 = ℎ ′ ∆𝑥 2 𝑇𝑎
0𝑇1 + 0𝑇2 − 1𝑇3 + (2 + ℎ ′ ∆𝑥 2 )𝑇4 = ℎ ′ ∆𝑥 2 𝑇𝑎 + 𝑇5

Asumiendo ℎ ′ = 0.02, ∆𝑥 2 = 4, 𝑇𝑎 = 10, 𝑇0 = 40, 𝑇5 = 200, se tiene el siguiente sistema, 𝐴𝑇 = 𝑏


2.08 −1 0 0 𝑇1 40.8
−1 2.08 −1 0 𝑇2 0.8
[0 −1 2.08 −1 ] [𝑇3 ] = [ 0.8 ] ↔ 𝐴𝑇 = 𝑏
0 0 −1 2.08 𝑇4 200.8
La solución numérica es, 𝑇 = [59.732018 83.448244 113.04472 150.88688]𝑡

Gráfica de la solución con algunos puntos de la solución numérica

Bibliografía
1. David Poole. Algebra lineal, Una introducción moderna. Edición 3ra., editorial CENGAGE-Learning.
2. Steven C. Chapra, Raymond P. Canale. Métodos numéricos para ingenieros. Edición 5ta., editorial Mc. Graw Hill
3. https://es.wikipedia.org/wiki/M%C3%A9todo_de_Jacobi
4. https://es.wikipedia.org/wiki/M%C3%A9todo_de_Gauss-Seidel

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy