You are on page 1of 8

Solución de Ecuaciones Simultáneas por

el Método de Matrices

Universidad de San Carlos de Guatemala


Facultad de Ciencias Quı́micas y Farmacia
Matemática IV
Rony José Letona QQ 200960024
ÍNDICE ÍNDICE

Índice
1. Matrices 1
1.1. Resolución de Sistemas de Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1. Operaciones de Renglón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2. Método de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Matrices Singulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. El Programa 5
2.1. Funciones con Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Resolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Interfaz e Interacción con el Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3. Bibliografı́a 6
3.1. Libros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

0
1 MATRICES

1. Matrices
Cuando se trata de las ciencias exactas, son muchas las ocaciones en que nos encontramos con
sistemas de ecuaciones. Sea para balancear una reacción quı́mica o para determinar la masa de un
cuerpo estático en un sistema, calcular el ángulo entre dos objetos rotando alrededor de uno, etc.
Sea cual sea el caso, siempre se reduce a un sistema de ecuaciones que en muchos casos represen-
tamos por matrices.

Y qué es una matriz? Una matriz es un arreglo de dos dimensiones en el que se han ordenado
las variables de un sistema de ecuaciones en columnas y en donde cada ecuación individual es
representada por una fila. Para poder representar esto de mejor forma, tomemos un ejemplo.

Consideremos el siguiente sistema de ecuaciones

x−y =1
(1)
y+x=3
Para obtener una matriz de este sistema, es necesario ordenar primero las ecuaciones de tal
forma en que las variables que sean iguales puedan encontrarse en columnas. Entonces, el sistema
toma la forma siguiente

x−y =1
(2)
x+y = 3
Ahora, ya teniendo un sistema ordenado, se procede a mostrar los coeficientes de cada una de
las variables de la siguiente forma

1 · x + (−1) · y = 1
(3)
1·x + 1·y = 3
Aprovechando la forma del sistema y su similitud a vectores en R2 , se toma a los coeficientes
como vectores y la ecuación se puede reescribir como una ecuación vectorial
     
1 −1 1
x +y = (4)
1 1 3
Por último, se hará la convención de que x y y quedarán implı́citos en la primera y segunda
columna y que el signo = utilizado en las ecuaciones, será sustituı́do por una barra. Después de
todo esto, el sistema de ecuaciones terminará como un arreglo al que se le llamará matriz.
 
1 −1 1
(5)
1 1 3
Generalizando ya, un sistema de ecuaciones como el siguiente

a11 x1 + a12 x2 + . . . + a1n xn = b1


a21 x1 + a22 x2 + . . . + a2n xn = b2
.. (6)
.
am1 x1 + am2 x2 + . . . + amn xn = bm
Se puede representar por una matriz

1
1.1 Resolución de Sistemas de Ecuaciones 1 MATRICES

 
a11 a12 ... a1n b1

 a21 a22 ... a2n b2 
.. .. .. ..  (7)
 
..
.

 . . . . 

am1 am2 . . . amn bm

1.1. Resolución de Sistemas de Ecuaciones


Ya dispuestas las ecuaciones en forma de matriz, se procede a resolver el sistema con el fin de
saber el valor de cada variable. Para esto existen varios métodos analı́ticos. Uno de ellos es el método
de Cramer, que utiliza determinantes. Otro método es el de Gauss (publicado en 1809), aunque
este requiere muchos cáculos posteriores a la resolución de la matriz. El método perfeccionado por
Wilhelm Jordan (publicado en 1887) nos provee de una solución indmediatamente al terminar las
operaciones en la matriz. Se procederá ahora a explicar las operaciones de renglón que permiten
el uso de estos métodos para resolver el sistema de ecuaciones.

1.1.1. Operaciones de Renglón


Para los métodos de Gauss y Gauss-Jordan, se busca que la matriz adopte una forma trian-
gular (forma de renglón escalonado) o de forma reducida de renglón escalonado solo realizando
operaciones de renglón. Estas operaciones son:

Suma

Multiplicación por un Escalar

Intercambio de Renglones

Consideremos un ejemplo de cada una. Sea M una matriz de m filas y n columnas y c un


escalar.
 
a1,1 a1,2 a1,3
M = a2,1
 a2,2 a2,3  (8)
a3,1 a3,2 a3,3

Suma
La suma de renglones se define de la siguiente forma: Se dice que a un renglón fi se le suma otro
si cada uno de los elementos del renglón fi se le suman los elementos de un renglón fj . Si a M
decimos que sumamos los elementos de f1 a f2 entonces el resultado de verá de la forma siguiente:
   
a1,1 a1,2 a1,3 a1,1 a1,2 a1,3
 a2,1 a2,2 a2,3  f2 :f2 +f1  a2,1 + a1,1 a2,2 + a1,2 a2,3 + a1,3  (9)
−→
a3,1 a3,2 a3,3 a3,1 a3,2 a3,3

Multiplicación por un Escalar


La multiplicación de un renglón por un escalar es lo mismo que multiplicar ambos lados de una
ecuación del sistema por un escalar también. Esta operación se lleva a cabo de la siguiente forma:

2
1.1 Resolución de Sistemas de Ecuaciones 1 MATRICES

   
a1,1 a1,2 a1,3 a1,1 a1,2 a1,3
 a2,1 a2,2 a2,3  f2 :c·f2  c · a2,1 c · a2,2 c · a2,3  (10)
−→
a3,1 a3,2 a3,3 a3,1 a3,2 a3,3

Intercambio de Renglones
Esta es probablemente la operación más sencilla de todas. Esta consta de un intercambio de
renglones. La finalidad de esta operación es obvia en el caso de encontrar matrices que parezcan
singulares. Más adelante se detallará esto. Por ahora, esta operación se lleva a cabo de la siguiente
forma:
   
a1,1 a1,2 a1,3 a2,1 a2,2 a2,3
 a2,1 a2,2 a2,3  f1 ↔f2  a1,1 a1,2 a1,3  (11)
−→
a3,1 a3,2 a3,3 a3,1 a3,2 a3,3

1.1.2. Método de Gauss-Jordan


A continuación se describirá el método de Gauss-Jordan, ya que este es el utilizado por el
programa adjunto. El objetivo del método de Gauss-Jordan es de dejar la matriz con todos sus
coeficientes iguales a cero excepto los de la diagonal principal. Estos se busca que sean 1 para que
cada uno dé el valor de cada variable buscada. El algoritmo para una matriz de 3 × 4 se puede
resumir ası́:

1. Convertir a a1,1 en 1.

2. Convertir a todos los elementos debajo de a1,1 en 0 por medio de a1,1 .

3. Convertir a a2,2 en 1.

4. Convertir a todos los elementos debajo de a2,2 en 0 por medio de a2,2 .

5. Convertir a a3,3 en 1.

6. Convertir a todos los elementos enima de a3,3 en 0 por medio de a3,3 .

7. Convertir a todos los elementos enima de a2,2 en 0 por medio de a2,2 .

Para fines didácticos se trabajará únicamente con un sistema de 3 ecuaciones y 3 incógnitas.


Queda al lector el trabajo de extrapolar este método para cualquier matriz de m × n.

Comencemos pues con las 3 ecuaciones.

3x + 5y − 2z = −5 (12)
z
7x − 3y + = 9 (13)
2
y
−11x + + 6z = 13 (14)
2

3
1.2 Matrices Singulares 1 MATRICES

Esto se conviernte entonces en una matriz A de 3 × 4 de la forma


 
3 5 −2 −5
A =  7 −3 21 9  (15)
−11 12 6 13

Procedamos a llevarla a la forma reducida de renglón escalonado siguiendo los 7 pasos del
algoritmo antes visto.

5

− 23 − 35
 
1 3
f1 : 31 ·f1  7 −3 1 9 
2 (16)
−→
−11 12 6 13
 
f2 :f2 −7·f1 1 5/3 −2/3 −5/3
f3 :f2 +11·f1
 0 −44/3 31/6 62/3  (17)

−→ 0 113/6 −4/3 −16/3
 
1 5/3 −2/3 −5/3
3
f2 :− 44  0
·f2
1 −31/88 −31/22  (18)
−→
0 113/6 −4/3 −16/3
 
1 5/3 −2/3 −5/3
f3 :f3 − 113  0 1 −31/88 −31/22 
6
·f2
(19)
−→
0 0 933/176 933/44
 
1 5/3 −2/3 −5/3
f3 : 176  0 1 −31/88 −31/22 
·f
933 3 (20)
−→
0 0 1 4
 
31
f2 :f2 + 88 ·f3 1 5/3 0 1
f1 :f1 + 32 ·f3
 0 1 0 0  (21)

−→ 0 0 1 4
 
1 0 0 1
f1 :f1 − 35 ·f2  0 1 0 0  (22)
−→
0 0 1 4

De la ecuación 22 entendemos nosotros que x = 1, y = 0 y que z = 4 ya que los demás coe-


ficientes se han vuelto 0. Nótese que el método de Gauss sigue el mismo procedimiento hasta el
paso 5, por lo que la solución del sistema por medio del método de Gauss hubiera terminado en la
ecuación 20.

1.2. Matrices Singulares


Existe un caso en el algoritmo anterior falla. Este caso es cuando la matriz analizada es singu-
lar o aparenta serlo. En este caso pueden haber dos opciones: una en donde, con un intercambio
de renglones, el problema se puede arreglar (Matriz No Singular) y uno donde no (Matriz Singular).

4
2 EL PROGRAMA

Un ejemplo en donde una matriz que parece singular se arregla es este:


   
2 2 4 1 1 2
 5 5 8  −→  0 0 −2  (23)
3 6 9 0 3 3

En este caso, con una simple operación de renglón (intercambio de renglones) el sistema de
ecuaciones se puede seguir resolviendo.
   
1 1 2 1 1 2
−→  0 3 3  −→  0 1 1  (24)
0 0 −2 0 0 1

En el caso de una matriz singular, la resolución del sistema de ecuaciones ya no se puede


continuar. Veamos un ejemplo de este caso.
   
2 2 4 1 1 2
 5 5 8  −→  0 0 −2  (25)

3 3 9 0 0 3

2. El Programa
El programa para resolver sistemas de ecuaciones utiliza un algoritmo basado en el descrito en
la sección anterior. Este fue esrito en el lenguaje de programción Python. Se puede interpretar en
cualquier plataforma y no tiene lı́mites para el tamaño de la matriz ingresada más que el tamaño
de la memoria de trabajo del ordenador donde se esté ejecutando el programa. Otra ventaja de
este lenguaje y este programa es que se puede agregar como rutina a otro tipo de programas ya
sea de forma explı́cita, de manera que el usuario vea la rutina funcionar, o implı́cita, en donde la
rutina es utilizada por el programa y el usuario nunca la ve.

A continuación se describirá brevemente la estructura general del programa, la forma de resol-


ver los sistemas de ecuaciones y la forma en que este interactúa con el usuario.

2.1. Funciones con Listas


El lenguaje de programación utilizado no permite la creación de un arreglo como lo es una ma-
triz. Es por ello que dentro del programa, la matriz está definida como un arreglo unidimensional
de varios arreglos unidimensionales de varias variables llamados listas.

En la ausencia de operaciones entre listas, se tuvo que definir funciones o métodos para cada
operación de renglón. Como se describió en la sección anterior, las operaciones son suma, multi-
plicación por un escalar e intercambio de renglones. Las dos primeras están definidas dentro
del programa. La última operación está definida como una función que además de intercambiar

5
2.2 Resolución 3 BIBLIOGRAFÍA

renglones, busca los adecuados para no caer en un problema de matrices singulares.

2.2. Resolución
La forma en que el programa resuelve la matriz es exactamente igual al algritmo descrito en la
sección anterior. La única diferencia apreciable es que en el programa, el algoritmo de resolución
es una función basada en otras funciones. EL programa solo hace uso de esta una vez, ingresando
la matriz original y obteniendo una matriz completamente resuelta si esta no es singular.

Es justo en este punto en el programa que este puede ser utilizado como rutina en otros pro-
gramas. Lo demás en el programa es para la interfaz e interacción con el usuario.

2.3. Interfaz e Interacción con el Usuario


La interfaz con el usuario se decidió hacer en lı́nea de comando, ya que el programa puede tra-
bajar con matrices de dimensiones muy grandes. El problema con tener una matriz de dimensiones
muy grandes es que es un poco difı́cil representarla con una interfaz gráfica. Además, una interfaz
gráfica limitarı́a al programa si este corriera como rutina.

Por último, vale la pena mencionar que dentro del programa se incluyó algunas funciones para
programación defensiva. El programa no le permite al usuario cometer errores al ingresar los datos
de la matriz. Esto evita errores en la interpretación del programa por parte del ordenador donde
se esté trabajando.

2.4. Conclusiones
En conclusión, esta solo fue una idea general sobre el programa para resolver matrices utilizando
el método de Gauss-Jordan. Para más información se recomienda leer la documentación interna
del código fuente del programa.

3. Bibliografı́a
3.1. Libros
Grossman S. 1984. Elementary Linear Algebra. 2 ed. Wadsworth
Poole D. 2004. Álgebra Lineal: Una Introducción Moderna. Thomson

3.2. Herramientas
TexMaker: Free LATEX Editor. Version 1.7. 2008.
http://www.xm1math.net/texmaker/

Python: Interactive, High-Level Object-Oriented Language. Version 2.5.2.


http://www.python.org/

You might also like