Eliminación gaussiana

 

Fundamento teórico

El Método de Eliminación Gaussiana es un procedimiento utilizado para resolver sistemas de ecuaciones lineales. Consiste en transformar el sistema de ecuaciones en una forma más sencilla, generalmente en forma escalonada o forma escalonada reducida de Gauss, para luego aplicar la sustitución hacia atrás y obtener las soluciones.

El proceso de eliminación gaussiana consiste en realizar operaciones sobre las filas de la matriz de coeficientes para llevarla a una forma triangular superior (o escalonada). Una vez que la matriz está en esta forma, se puede resolver fácilmente utilizando sustitución hacia atrás.

Las operaciones permitidas son:

  1. Intercambiar dos filas.

  2. Multiplicar una fila por un escalar no cero.

  3. Sumar o restar una fila de otra.


Pasos del algoritmo

  1. Representar el sistema de ecuaciones en forma de matriz aumentada [Ab][A | b], donde AA es la matriz de coeficientes y bb el vector de resultados.

  2. Convertir la matriz a forma escalonada utilizando operaciones de fila (intercambio de filas, multiplicación de filas por escalares y suma de filas).

    • Para cada columna jj, hacer que todos los elementos debajo del pivote (el primer elemento no nulo en la columna) sean cero.

  3. Realizar la sustitución hacia atrás para encontrar los valores de las incógnitas, empezando desde la última ecuación (si la matriz está en forma triangular superior).


Ejemplo resuelto paso a paso

Supongamos que tenemos el siguiente sistema de ecuaciones lineales:

2x+3y+z=14x+5y+6z=27x+8y+9z=3\begin{aligned} 2x + 3y + z &= 1 \\ 4x + 5y + 6z &= 2 \\ 7x + 8y + 9z &= 3 \end{aligned}

Representamos el sistema como una matriz aumentada:

[231145627893]\left[ \begin{array}{ccc|c} 2 & 3 & 1 & 1 \\ 4 & 5 & 6 & 2 \\ 7 & 8 & 9 & 3 \end{array} \right]

Paso 1: Hacer que el elemento a21a_{21} sea cero. Para esto, restamos 2 veces la fila 1 de la fila 2.

F2=F22F1F_2 = F_2 - 2 \cdot F_1 [231101407893]\left[ \begin{array}{ccc|c} 2 & 3 & 1 & 1 \\ 0 & -1 & 4 & 0 \\ 7 & 8 & 9 & 3 \end{array} \right]

Paso 2: Hacer que el elemento a31a_{31} sea cero. Para esto, restamos 3.5 veces la fila 1 de la fila 3.

F3=F33.5F1F_3 = F_3 - 3.5 \cdot F_1 [2311014002.56.51.5]\left[ \begin{array}{ccc|c} 2 & 3 & 1 & 1 \\ 0 & -1 & 4 & 0 \\ 0 & -2.5 & 6.5 & -1.5 \end{array} \right]

Paso 3: Hacer que el elemento a32a_{32} sea cero. Para esto, sumamos 2.5 veces la fila 2 a la fila 3.

F3=F3+2.5F2F_3 = F_3 + 2.5 \cdot F_2 [231101400016.51.5]\left[ \begin{array}{ccc|c} 2 & 3 & 1 & 1 \\ 0 & -1 & 4 & 0 \\ 0 & 0 & 16.5 & -1.5 \end{array} \right]

Ahora tenemos una matriz triangular superior.

Paso 4: Realizar la sustitución hacia atrás.

  1. De la última ecuación, 16.5z=1.516.5z = -1.5, obtenemos z=1.5/16.5=0.0909z = -1.5 / 16.5 = -0.0909.

  2. Sustituimos zz en la segunda ecuación: y+4(0.0909)=0-y + 4(-0.0909) = 0, lo que nos da y=0.3636y = 0.3636.

  3. Sustituimos yy y zz en la primera ecuación: 2x+3(0.3636)+(0.0909)=12x + 3(0.3636) + (-0.0909) = 1, lo que nos da x=0.6364x = 0.6364.

La solución es:

x=0.6364,y=0.3636,z=0.0909x = 0.6364, \quad y = 0.3636, \quad z = -0.0909

Código del método (en Python)

import numpy as np

def eliminacion_gaussiana(A, b):
    n = len(b)
    # Combinación de A con b para la matriz aumentada
    Aug = np.hstack([A, b.reshape(-1, 1)])
    
    # Eliminación hacia adelante
    for i in range(n):
        # Hacer cero debajo del pivote
        for j in range(i+1, n):
            if Aug[j][i] != 0:
                m = Aug[j][i] / Aug[i][i]
                Aug[j] -= m * Aug[i]
    
    # Sustitución hacia atrás
    x = np.zeros(n)
    for i in range(n-1, -1, -1):
        x[i] = (Aug[i][-1] - np.dot(Aug[i, :-1], x)) / Aug[i][i]
    
    return x

# Matriz de coeficientes y vector de resultados
A = np.array([[2, 3, 1],
              [4, 5, 6],
              [7, 8, 9]], dtype=float)

b = np.array([1, 2, 3], dtype=float)

# Resolver el sistema
solucion = eliminacion_gaussiana(A, b)
print("Solución:", solucion)


Resultado

Solución: [-0.22222222 0.44444444 0.11111111]

Conclusión sobre su uso y aplicación en la vida real

El Método de Eliminación Gaussiana es fundamental en álgebra lineal y se utiliza para resolver sistemas de ecuaciones lineales en diversas aplicaciones como:

  • Ingeniería: Para resolver sistemas de ecuaciones que modelan redes eléctricas, estructuras de edificios, flujos de fluidos, entre otros.

  • Física: Para resolver sistemas de ecuaciones que representan interacciones entre partículas o campos.

  • Economía: En la resolución de modelos de equilibrio económico que involucran múltiples variables interdependientes.

  • Computación científica: En simulaciones y optimización, donde se deben resolver sistemas grandes de ecuaciones lineales.

Ventajas:

  • Método directo y eficiente.

  • Se puede aplicar a sistemas con cualquier número de ecuaciones e incógnitas.

Desventajas:

  • No es eficiente para sistemas grandes con muchas incógnitas.

  • Puede ser numéricamente inestable si la matriz tiene un determinante cercano a cero o si se eligen mal las pivotes.

Comentarios

Entradas más populares de este blog

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