Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Eliminación gaussiana
Una de las técnicas más conocidas para la resolución de sistemas de ecuaciones lineales, fue publicado por Carl
Gauss en su Theoria motus corporum coelestium in section-ibus conicis solem ambientium (1809), sobre el movimiento de
los cuerpos ce- lestes. Sin embargo este método se encontró en escritos chinos de más de dos mil años de antigüedad. Este
método ejecuta eliminaciones sucesivas sobre los elementos que están por debajo de la diagonal principal de la matriz de
coeficientes. Una vez que se ejecutaron n eliminaciones, la matriz se vuelve triangular superior, con lo que el siste- ma se
resuelve por sustitución hacia atrás. La técnica antes mencionada se denomina eliminación gaussiana.
Dado el sistema de ecuaciones lineales:
se construye la matriz aumentada del sistema, que consta de la matriz de coefi- cientes a la que se anexa una última
columna, correspondiente al vector de constantes:
La ecuación Ei puede sumarse a cualquier ecuación Ej y la ecuación resultante se emplea en vez de Ei . Esta
operación se denota por:
Ei* = Ei + Ej.
1 1 1 6
0 2 1 4
0 6 3 3
Para eliminar el segundo coeficiente de la tercera fila, se hará F3* = F3 − 3F2. La matriz aumentada del sistema queda:
1 1 1 6
0 2 1 4
0 0 6 9
Si se reescribe el sistema de ecuaciones a partir de la matriz aumentada del sistema (ahora triangular superior), se
obtiene:
x1 x2 x 3 6
2 x 2 x3 4
6 x 3 9
este nuevo sistema, equivalente al original, puede ser resuelto por una simple sustitución hacia atrás. De dicho proceso se
concluye que:
3 5 13
x3 , x 2 , x1
2 4 4
El método de eliminación Gaussiana, si es desarrollado en forma algebraica, siempre obtiene resultados exactos. Sin embargo, al
desarrollarlo en forma numérica, la precisión de la solución depende de la aritmética y principalmente del condicionamiento
de la matriz de coeficientes. Existe un factor más que es fundamental al momento de resolver un sistema por medio del método
de Gauss: la elección de los pivotes.
El sistema se resolverá utilizando una aritmética de 4 dı́gitos y truncamiento. Aplicando la operación de Gauss
−7,123
𝐹2∗ = 𝐹2 − 0,00031 𝐹1 ≈ 𝐹2 + 22970𝐹1 se elimina el primer elemento de la segunda fila:
x2 = 0,5809
x1 = −5,915
Pero:
3,002 3,002
Ax b
47,86 4,896
La solución obtenida no es tal. La causa no es el mal condicionamiento de la matriz de coeficientes, ya que K(A) = 4,52,
−7,123
sino que el factor usado en la operación de Gauss es demasiado grande para el sistema (0,00031 ≈ 22970) . Esto
se corrige eligiendo como pivote al mayor elemento en valor absoluto de cada columna, eventualmente intercambiando
filas para este cometido. Esta técnica de trabajo se denomina pivoteo parcial.
Nota. El número 0∗ representa un valor, muy pequeño en valor absoluto, cercano al epsilon de máquina. Es el redondeo
forzado a cero para que el sistema se vuelva escalo- nado. De otra manera, con la aritmética empleada, nunca se podrá eliminar
el primer elemento de la segunda fila.
Ejemplo 25. Para resolver el mismo sistema que en el ejemplo 24, se aplicará pivoteo parcial. Se intercambiarán F1 y F2. La
matriz aumentada del sistema queda:
7,123 9,874 4,896
0,00031 5,171 3,002
0,00031
Aplicando la operación de Gauss 𝐹2∗ = 𝐹2 − −7,123 1
𝐹 ≈ 𝐹2 + 4,352 × 10−5 𝐹1 se elimina el primer
elemento de la segunda fila.
El aplicar pivoteo es necesario cuando el sistema depende de un parámetro pequeño, puesto que las soluciones pueden variar
dentro de un amplio rango, como lo muestra el siguiente ejemplo:
1 1 0
1 2 1 0
2 1 0 1
donde aplicando operaciones de Gauss sin pivotear se obtiene: pero como procesador opera con un largo de palabra
de longitud finita, todos los numero son redondeados. Como es muy pequeño, entonces 1 es muy grande y, por
ejemplo ,2- 1 ≈ - 1 obteniendo:
1 1 0
1 1
0 0
0 2
2
1
El sistema anterior no tiene solución, puesto que las ecuaciones representadas en las filas 2 y 3 de la matriz aumentada
son combinación lineal.
Ejercicio 8. Pivotear sobre el sistema anterior y resolverlo correctamente. Aplicar los redondeos que sean necesarios en las
operaciones.
Comandos de EMT. Los comandos para efectuar operaciones de Gauss sobre una matriz son:
swapRows(A: matriz numérica, i1: natural, i2: natural), donde A es una matriz; i1 e i2 son las filas de la
matriz que serán intercambiadas.
pivotize(A: matriz numérica,i:entero,j:entero),donde A es una matriz; i y j representan la posición del
elemento que se transformará en el valor 1, el resto de la columna se transformará en 0.
echelon(A:matriz numerica), donde A es una matriz cuadrada que será transformada en una matriz
escalonada reducida por filas.
>A=swapRows([3,2,1;-5,-1,2],1,2)
-5 -1 2
3 2 1
>A=pivotize(A,1,1)
1 0.2 -0.4
0 1.4 2.2
>A=pivotize(A,2,2)
1 0 -0.714286
0 1 1.57143
Ejemplo en EMT 10. Resolver el sistema de ecuaciones anterior a través de la reducción escalonada por filas, sin aplicar
pivoteo.
>echelon([3,2,1;-5,-1,2])
1 0 -0.714286
0 1 1.57143