Metodo de Gauss-Seidel

 El método de Gauss-Seidel es una técnica iterativa para resolver sistemas de ecuaciones lineales del tipo:

Ax=bAx = b

Se basa en la misma idea que el método de Jacobi: realizar sucesivas aproximaciones a las soluciones del sistema. Sin embargo, Gauss-Seidel mejora la eficiencia utilizando los valores más recientes disponibles en la misma iteración, lo que lo hace más rápido en converger (cuando lo hace).

Este método también requiere que la matriz AA sea diagonalmente dominante o simétrica definida positiva para garantizar la convergencia.


Pasos del algoritmo

  1. Dado un sistema Ax=bAx = b, se reescribe cada ecuación para despejar una incógnita.

  2. Se elige una aproximación inicial x(0)x^{(0)}.

  3. Se realiza una iteración actualizando los valores de las incógnitas a medida que se calculan:

    xi(k+1)=1aii(bij=1i1aijxj(k+1)j=i+1naijxj(k))x_i^{(k+1)} = \frac{1}{a_{ii}} \left( b_i - \sum_{j=1}^{i-1} a_{ij} x_j^{(k+1)} - \sum_{j=i+1}^{n} a_{ij} x_j^{(k)} \right)
  4. Se repite hasta que se cumpla la tolerancia deseada o se alcance un número máximo de iteraciones.

Ejemplo resuelto paso a paso

Sistema:

{10x+2y+z=92x+20y2z=442x+3y+10z=22\begin{cases} 10x + 2y + z = 9 \\ 2x + 20y - 2z = -44 \\ -2x + 3y + 10z = 22 \end{cases}

Despejes:

x=110(92yz)x = \frac{1}{10}(9 - 2y - z)
y=120(442x+2z)y = \frac{1}{20}(-44 - 2x + 2z)
z=110(22+2x3y)z = \frac{1}{10}(22 + 2x - 3y)

Usamos x(0)=y(0)=z(0)=0x^{(0)} = y^{(0)} = z^{(0)} = 0

Primera iteración:

x(1)=110(92(0)0)=0.9x^{(1)} = \frac{1}{10}(9 - 2(0) - 0) = 0.9
y(1)=120(442(0.9)+2(0))=45.820=2.29y^{(1)} = \frac{1}{20}(-44 - 2(0.9) + 2(0)) = \frac{-45.8}{20} = -2.29
z(1)=110(22+2(0.9)3(2.29))=110(22+1.8+6.87)=3.067z^{(1)} = \frac{1}{10}(22 + 2(0.9) - 3(-2.29)) = \frac{1}{10}(22 + 1.8 + 6.87) = 3.067

Segunda iteración (usando valores nuevos inmediatamente):

x(2)=110(92(2.29)3.067)=110(9+4.583.067)=1.051x^{(2)} = \frac{1}{10}(9 - 2(-2.29) - 3.067) = \frac{1}{10}(9 + 4.58 - 3.067) = 1.051
y(2)=120(442(1.051)+2(3.067))=2.196y^{(2)} = \frac{1}{20}(-44 - 2(1.051) + 2(3.067)) = -2.196
z(2)=110(22+2(1.051)3(2.196))=3.001z^{(2)} = \frac{1}{10}(22 + 2(1.051) - 3(-2.196)) = 3.001Código de Python
Grafica
Conclusión sobre su uso y aplicación en la vida real
El método de Gauss-Seidel es útil en ingeniería, economía y física, especialmente en simulaciones numéricas donde se deben resolver grandes sistemas lineales. Es más eficiente que Jacobi cuando los sistemas son grandes y bien condicionados. También se usa en métodos de elementos finitos y cálculos estructurales en ingeniería civil y mecánica.


Comentarios

Entradas más populares de este blog

Métodos Numéricos: Cuando la Matemática se Vuelve Práctica