Guía6Met Iterativos
Guía6Met Iterativos
Guía6Met Iterativos
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,
𝑛
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.
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.
𝐴 = 𝐷+𝑅
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:
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, … , 𝑛
𝑎𝑖𝑖 𝑖
𝑗≠𝑖
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
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.
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
Si 𝑎𝑖𝑖 ≠ 0, para cada 𝑖 = 1,2, . . , 𝑁, la regla iterativa para el método de Gauss-Seidel puede ser expresada de la forma:
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
(𝑘+1)
− ∑2≤𝑗≤3 𝑎1𝑗 𝑥𝑗 (𝑘) + 𝑏1
𝑥1 = ,𝑖 = 1
𝑎11
−𝑎12 𝑥2 (𝑘) − 𝑎13 𝑥3 (𝑘) + 𝑏1
𝑥1 (𝑘+1) =
𝑎11
(𝑘+1)
− ∑1≤𝑗≤1 𝑎2𝑗 𝑥𝑗 (𝑘+1) − ∑3≤𝑗≤3 𝑎2𝑗 𝑥𝑗 (𝑘) + 𝑏2
𝑥2 = ,𝑖 = 2
𝑎22
(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
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.
donde 𝑇𝑖 denota la temperatura en el nodo 𝑖. Esta aproximación se sustituye en la ecuación (1) y se obtiene
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 𝑑𝑥 − ℎ ′ 𝑇 = −ℎ ′ 𝑇𝑎
′ ′𝑥
→ 𝑇 (𝑥) = 𝑇𝑎 + 𝐶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
Solución numérica: utilizando la ecuación (2), se tiene el siguiente sistema de ecuaciones lineales
Equivalente a:
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