Skip to content
Volver

Eliminacion gaussinana

Publicado:  at  04:46 PM
Por Gael Adrian Alvarez Perez
Grafica de la serie de taylor
Imagen de totuman

Historia de la Eliminacion Guassiana

La eliminación gaussiana es un procedimiento algorítmico para resolver sistemas de ecuaciones lineales. Aunque el método es atribuido a Carl Friedrich Gauss, sus raíces se remontan a la antigua China, específicamente al texto matemático Los Nueve Capítulos sobre el Arte Matemático, compilado alrededor del siglo I a.C. En este texto, se describen procedimientos similares para resolver sistemas de ecuaciones lineales. ScienceDirect

Gauss formalizó y popularizó el método en el siglo XIX, aplicándolo en sus trabajos de astronomía y geodesia. Su enfoque sistemático permitió resolver sistemas de ecuaciones de gran tamaño, siendo fundamental para el desarrollo de la matemática computacional.

Funciones de la Eliminacion Gaussiana

La eliminación gaussiana puede verse no solo como un algoritmo, sino como una serie de transformaciones que preservan la solución del sistema, pero lo reescriben de una forma más manejable. A nivel teórico, se pueden identificar estas “funciones” o ideas clave:

Invarianza de soluciones bajo transformaciones lineales

f([Ab])[Ab]f([A | \vec{b}]) \rightarrow [A' | \vec{b}']

Esta función representa el principio de que aplicar operaciones elementales sobre las filas del sistema no cambia su solución. Es decir:

Si Ax=bAx=b\text{Si } A \vec{x} = \vec{b} \Rightarrow A' \vec{x} = \vec{b}'

donde AA' y b\vec{b}' son el resultado de aplicar transformaciones que son equivalencias de fila.

Triangulación como reducción de complejidad

g(A)Ug(A) \rightarrow U

Aquí, la matriz AA se transforma en una matriz triangular superior UU, lo cual reduce la complejidad del sistema de O(n3)O(n^3) (resolviendo un sistema general) a una serie de sustituciones simples.

Supresión de dependencias lineales

Cada paso de eliminación busca eliminar una variable de una ecuación, reflejando la idea de que las variables están linealmente relacionadas. Así:

xj se elimina de la ecuacioˊiproyeccioˊn de la ecuacioˊn en un subespacio de menor dimensioˊnx_j \text{ se elimina de la ecuación } i \Rightarrow \text{proyección de la ecuación en un subespacio de menor dimensión}

Equilibrio estructural del sistema

El método asegura que si el sistema tiene solución, esta será única si el rango de AA es máximo, y la matriz no es singular. Es decir:

Si det(A)0solucioˊuˊnica\text{Si } \det(A) \neq 0 \Rightarrow \text{solución única}

Función de sustitución hacia atrás como reconstrucción

xi=h(bi,aij,xi+1,xi+2,,xn)x_i = h(b'_i, a'_{ij}, x_{i+1}, x_{i+2}, \dots, x_n)

La sustitución hacia atrás es una función acumulativa que reconstituye el vector solución desde la última ecuación hacia la primera. Cada valor de xix_i depende de los ya obtenidos:

Perspectiva geométrica

Cada ecuación es un hiperplano. La eliminación gaussiana busca la intersección única de esos hiperplanos:

i=1nHi={x}\bigcap_{i=1}^n H_i = \{ \vec{x} \}

donde cada HiH_i es el conjunto solución de una ecuación lineal.

Perfecto. Aquí tienes una versión más seria, clara y enfocada exclusivamente en el proceso de la eliminación gaussiana, tal como aparecería en un blog educativo con un tono formal y técnico:

Cómo se hace la Eliminacion Gaussiana

La eliminación gaussiana es un método algorítmico utilizado para resolver sistemas de ecuaciones lineales. Consiste en aplicar una serie de operaciones elementales sobre las filas de una matriz aumentada hasta obtener una forma escalonada, desde la cual se puede encontrar la solución mediante sustitución hacia atrás.

A continuación, se describe el procedimiento paso a paso.

Representación matricial

Dado un sistema de nn ecuaciones con nn incógnitas:

a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn\begin{aligned} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n &= b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n &= b_2 \\ \vdots \\ a_{n1}x_1 + a_{n2}x_2 + \cdots + a_{nn}x_n &= b_n \end{aligned}

Se construye la matriz aumentada del sistema:

[Ab]=[a11a12a1nb1a21a22a2nb2an1an2annbn][A | \vec{b}] = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} & | & b_1 \\ a_{21} & a_{22} & \cdots & a_{2n} & | & b_2 \\ \vdots & \vdots & \ddots & \vdots & | & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} & | & b_n \\ \end{bmatrix}

Reducción a forma escalonada

El objetivo es transformar la matriz aumentada en una forma triangular superior (o forma escalonada por filas). Para ello, se realizan operaciones elementales sobre las filas:

Para cada columna j=1j = 1 hasta n1n-1:

Esto se repite hasta que todos los elementos debajo de la diagonal principal sean cero.

Sustitución hacia atrás

Una vez que la matriz se encuentra en forma triangular superior, se procede a resolver el sistema mediante sustitución hacia atrás, empezando desde la última ecuación:

xn=bnannx_n = \frac{b_n'}{a_{nn}'}

Luego, para i=n1,n2,,1i = n-1, n-2, \dots, 1:

xi=1aii(bij=i+1naijxj)x_i = \frac{1}{a_{ii}'} \left( b_i' - \sum_{j=i+1}^{n} a_{ij}' x_j \right)

Cada variable se resuelve utilizando los valores ya calculados de las variables posteriores.

Consideraciones especiales

Durante el proceso pueden surgir los siguientes casos:

Ejemplo: Resolución de un Sistema de Ecuaciones Lineales mediante Eliminación Gaussiana

Consideremos el siguiente sistema de ecuaciones:

x+2yz=82x+y+3z=73xy+2z=5\begin{aligned} x + 2y - z &= 8 \\ 2x + y + 3z &= 7 \\ 3x - y + 2z &= 5 \end{aligned}

Este sistema lo representamos con su matriz aumentada:

[121821373125]\left[ \begin{array}{ccc|c} 1 & 2 & -1 & 8 \\ 2 & 1 & 3 & 7 \\ 3 & -1 & 2 & 5 \end{array} \right]

Paso 1: Reducción a forma triangular

Primera columna:

El primer elemento a11=1a_{11} = 1 es nuestro pivote. Ahora eliminamos los elementos debajo de él.

Para la fila 2 (i=2i = 2), calculamos el multiplicador:

m21=a21a11=21=2m_{21} = \frac{a_{21}}{a_{11}} = \frac{2}{1} = 2

Restamos 2 veces la fila 1 de la fila 2:

F2F22F1F_2 \leftarrow F_2 - 2F_1

Esto da como resultado:

[121803593125]\left[ \begin{array}{ccc|c} 1 & 2 & -1 & 8 \\ 0 & -3 & 5 & -9 \\ 3 & -1 & 2 & 5 \end{array} \right]

Para la fila 3 (i=3i = 3), calculamos el multiplicador:

m31=a31a11=31=3m_{31} = \frac{a_{31}}{a_{11}} = \frac{3}{1} = 3

Restamos 3 veces la fila 1 de la fila 3:

F3F33F1F_3 \leftarrow F_3 - 3F_1

Esto da como resultado:

[1218035907519]\left[ \begin{array}{ccc|c} 1 & 2 & -1 & 8 \\ 0 & -3 & 5 & -9 \\ 0 & -7 & 5 & -19 \end{array} \right]

Segunda columna:

El siguiente pivote es a22=3a_{22} = -3. Ahora, eliminamos el elemento debajo de él.

Para la fila 3 (i=3i = 3), calculamos el multiplicador:

m32=a32a22=73=73m_{32} = \frac{a_{32}}{a_{22}} = \frac{-7}{-3} = \frac{7}{3}

Restamos 73\frac{7}{3} veces la fila 2 de la fila 3:

F3F3(73)F2F_3 \leftarrow F_3 - \left(\frac{7}{3}\right)F_2

Esto da como resultado:

[1218035900103473]\left[ \begin{array}{ccc|c} 1 & 2 & -1 & 8 \\ 0 & -3 & 5 & -9 \\ 0 & 0 & -\frac{10}{3} & -\frac{47}{3} \end{array} \right]

Paso 2: Sustitución hacia atrás

Ya que la matriz está en forma triangular superior, podemos resolver el sistema.

De la tercera fila:

103z=473-\frac{10}{3}z = -\frac{47}{3}

Despejamos zz:

z=4710z = \frac{47}{10}

De la segunda fila:

3y+5z=9-3y + 5z = -9

Sustituimos z=4710z = \frac{47}{10}:

3y+5(4710)=9-3y + 5\left(\frac{47}{10}\right) = -9 3y+23510=9-3y + \frac{235}{10} = -9

Multiplicamos por 10 para eliminar fracciones:

30y+235=90-30y + 235 = -90

Despejamos yy:

30y=90235-30y = -90 - 235 30y=325-30y = -325 y=32530=656y = \frac{325}{30} = \frac{65}{6}

De la primera fila:

x+2yz=8x + 2y - z = 8

Sustituimos y=656y = \frac{65}{6} y z=4710z = \frac{47}{10}:

x+2(656)4710=8x + 2\left(\frac{65}{6}\right) - \frac{47}{10} = 8

Multiplicamos por 30 para eliminar fracciones:

30x+2(65)(5)47(3)=24030x + 2(65)(5) - 47(3) = 240

Simplificamos:

30x+650141=24030x + 650 - 141 = 240 30x+509=24030x + 509 = 240

Despejamos xx:

30x=24050930x = 240 - 509 30x=26930x = -269 x=26930x = \frac{-269}{30}

Solución Final

El sistema tiene la siguiente solución:

x=26930,y=656,z=4710x = \frac{-269}{30}, \quad y = \frac{65}{6}, \quad z = \frac{47}{10}

Implementación en código de la Eliminacion Gaussiana

import numpy as np
import matplotlib.pyplot as plt

# Sistema de ecuaciones
A = np.array([[1, 2, -1],
              [2, 1, 3],
              [3, -1, 2]])

b = np.array([8, 7, 5])

# Corregir el tipo de datos de la matriz aumentada a float
def gaussian_elimination(A, b):
    n = len(b)
    Augmented_matrix = np.hstack([A, b.reshape(-1, 1)]).astype(float)  # Convertir a float

    # Paso 1: Reducción a forma triangular superior
    for i in range(n):
        # Hacer el pivote igual a 1
        if Augmented_matrix[i, i] == 0:
            Augmented_matrix[[i, i+1]] = Augmented_matrix[[i+1, i]]  # Intercambio de filas
        for j in range(i+1, n):
            factor = Augmented_matrix[j, i] / Augmented_matrix[i, i]
            Augmented_matrix[j] -= factor * Augmented_matrix[i]

    # Paso 2: Sustitución hacia atrás
    x = np.zeros(n)
    for i in range(n-1, -1, -1):
        x[i] = (Augmented_matrix[i, -1] - np.dot(Augmented_matrix[i, i+1:n], x[i+1:])) / Augmented_matrix[i, i]
    
    return x

# Resolver el sistema
solution = gaussian_elimination(A, b)

# Resultados
x, y, z = solution
print("Solución del sistema de ecuaciones:")
print(f"x = {x}")
print(f"y = {y}")
print(f"z = {z}")

# Graficar las tres ecuaciones
x_vals = np.linspace(-10, 10, 400)
y_vals = np.linspace(-10, 10, 400)
X, Y = np.meshgrid(x_vals, y_vals)
Z1 = 8 - X - 2*Y
Z2 = (7 - 2*X - Y) / 3
Z3 = (5 - 3*X + Y) / 2

fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z1, color='blue', alpha=0.6, rstride=100, cstride=100)
ax.plot_surface(X, Y, Z2, color='red', alpha=0.6, rstride=100, cstride=100)
ax.plot_surface(X, Y, Z3, color='green', alpha=0.6, rstride=100, cstride=100)

# Puntos de intersección
ax.scatter(x, y, z, color='black', s=100, label='Solución')

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Sistema de Ecuaciones Lineales y su Solución')
ax.legend()

plt.show()

Salida

Solución del sistema de ecuaciones:
x = 2.7
y = 2.5
z = -0.29999999999999993

Grafica

Texto alternativo

Explicación visual de la serie de Taylor

Sistema de ecuaciones de 3x3: Método de eliminación Gaussiana (Canal: Óscar Intriago Cedeño)

Conclusión

La eliminación gaussiana es un método esencial en álgebra lineal para resolver sistemas de ecuaciones lineales. Su importancia radica en su capacidad para transformar cualquier sistema lineal en una forma más sencilla que permita encontrar la solución con mayor facilidad. Es ampliamente utilizado en campos como la ingeniería estructural, la física computacional y la economía, donde los sistemas de ecuaciones son comunes.

El método de eliminación gaussiana es fundamental porque es el punto de partida para otros algoritmos más complejos en álgebra lineal, como la factorización LU. La capacidad para resolver sistemas de ecuaciones de manera sistemática y eficiente lo convierte en una herramienta imprescindible en el análisis de problemas multidimensionales (Lay, 2003).

Lay, D. C. (2003). Linear Algebra and Its Applications (3rd ed.). Addison-Wesley.


Suggest Changes

Post Anterior
Metodo de la Regla Falsa
Post Siguiente
Metodo Gauss-Jordan