Vous êtes sur la page 1sur 19

Eliminacion gaussiana y otros algoritmos

Departamento de Matematicas, CCIR/ITESM


10 de enero de 2011

Indice
2.1. Introduccion . . . . . . . . . . . . . . . . . . . .
2.2. Objetivos . . . . . . . . . . . . . . . . . . . . .
2.3. Forma escalonada por renglones . . . . . . . . .
2.4. Pivotes de una matriz . . . . . . . . . . . . . .
2.5. Algoritmo de eliminaci
on gaussiana . . . . . . .
2.6. Eliminacion Gaussiana: ejemplo . . . . . . . . .
2.7. Analisis de los conjuntos soluci
on . . . . . . . .
2.8. Formula para todas las soluciones . . . . . . . .
2.9. Algoritmo de Gauss-Jordan . . . . . . . . . . .
2.10. Algoritmo de Gauss-Jordan: ejemplo . . . . . .
2.11. Metodo Montante . . . . . . . . . . . . . . . . .
2.12. Metodo de Montante: ejemplo . . . . . . . . . .
2.13. Diferencias operativas de los metodos . . . . . .
2.14. Complejidad de un algoritmo . . . . . . . . . .
2.15. Complejidad del algoritmo de Gauss . . . . . .
2.16. Complejidad del algoritmo de Gauss-Jordan . .
2.17. Complejidad del algoritmo de Montante . . . .
2.18. Comparativa de los algoritmos . . . . . . . . .
2.19. Algoritmos y computadoras . . . . . . . . . . .
2.20. Y los determinantes del Metodo de Montante?
2.21. Pero, que metodo me conviene seguir? . . . . .

2.1.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
1
2
3
3
4
5
8
10
11
12
12
13
14
14
16
17
18
18
19
19

Introducci
on

En esta lectura veremos procedimientos sistematicos para resolver un sistema de ecuaciones lineales. Estos
algoritmos trabajan directamente sobre la matriz aumentada del sistema llevandola a la matriz de un sistema
triangular que es equivalente al sistema inicial. La equivalencia del sistema triangular final con el inicial se
argumenta debido a que el algoritmo s
olo utiliza los tres tipos de operaciones vistos en la lectura anterior y cuya
aplicacion individual siempre preserva la equivalencia. Los procedimientos que revisaremos son: el algoritmo
de Eliminacion Gaussiana, el algoritmo de Gauss-Jordan y el metodo Montante. Finalmente, se realizar
a una
revision sobre el trabajo computacional realizado por estas estrategias.

2.2.

Objetivos

Sera importante que Usted


Entienda los conceptos: matriz escalonada y escalonada reducida.

Entienda y mecanice los procedimientos de


Eliminaci
on gaussiana,
Eliminaci
on de Gauss-Jordan, y
El metodo de Montante.
Conozca las diferencias en el proceder entre los algoritmos vistos.
Comprenda las reglas para analizar las soluciones a un sistema de ecuaciones.
Comprenda el concepto de complejidad de un algoritmo.
Conozca las diferencias en los costos de computo de los algoritmos vistos.

2.3.

Forma escalonada por renglones

Los algoritmos que veremos trabajan sobre la matriz aumentada y realizan sobre de ella operaciones elementales de renglon como fueron definidas en la lectura anterior. Esta matriz ira transformandose paulatinamente
a una matriz que posee ciertas propiedades. Lo que haremos primeramente es definir estas.
Definici
on 2.1
Una matriz se dice matriz escalonada si cumple:
1. En caso de tener renglones de ceros, todos ellos estan en la parte inferior de la matriz.
2. El elemento delantero de cada rengl
on no cero (despues del primer renglon) se encuentra a la derecha
del elemento delantero del rengl
on anterior.
Y se llama matriz escalonada reducida si es escalonada y ademas cumple:
3. El elemento delantero de cualquier rengl
on no cero es 1.
4. Todos los elementos arriba y abajo de un 1 delantero son cero.
Ejemplo 2.1
Indique porque las siguientes matrices no son escalonadas:

2
0
0


2
1
0 , 0
1
0

3
0
0

2
1
0
2 ,
0
1
0

3
5
2

1
0
2
, 0
2
0
0

3
0
3
0


0
0
3 , 0
3
5

0
1
0

0
1
1

3
3
3

Soluci
on
En el primer ejemplo, tiene un rengl
on de ceros y no aparece hasta el final; no se cumple la condici
on 1. En
el segundo ejemplo, cuando comparamos la posicion del primer elemento no cero del segundo renglon (5) con
la posicion del primer elemento no cero del tercer renglon (2) vemos que el 2 no esta a la derecha del 5; no se
cumple la condicion 2. En el tercer ejemplo, el renglon de cero aparece hasta abajo, pero cuando se comparan
los elementos delanteros de los renglones 2 y 3 el inferior no esta a la derecha del elemento delantero superior:
se cumple la condici
on 1 pero no la 2. En el cuarto ejemplo, falla de nuevo la condicion 1. En el u
ltimo ejemplo,
recuerde solo hay escalonada de derecha a izquierda; el elemento delantero del renglon 2 no esta a la derecha
de delantero del rengl
on 1 
Ejemplo 2.2
Indique porque las siguientes matrices s son escalonadas:

2
0
0

3
5
0

2
1
0

2
,
0
1
0

3
1
0
0

1
0
2
, 0

0
0
0

2
0
0


3
1
3 , 0
0
0

2
0
0


0
0
0 , 0
0
0

0
0
0

0
0
0

Soluci
on
Observe que las matrices listadas cumplen las condiciones 1 y 2 
Ejemplo 2.3
Indique porque las siguientes matrices son escalonadas pero no reducidas:

1
0
0

3
1
0


1
1
0 , 0
2
0

2
1
0

1
1
0

2
,
0
1
0

0
1
0
0

1
1
0
, 0
1
0
0

1
0
0


3
0
1 , 0
0
0

1
0
0

3
1
0

Soluci
on
En el primer ejemplo, est
a fallando la condicion 3: el elemento delantero del renglon 3 debe ser 1. En el
segundo ejemplo, la condici
on 3 se cumple pero la condicion 4 falla: arriba de los 1 delanteros debe haber s
olo
ceros. En los ejemplos 3, 4 y 5, note que la condicion 4 dice que todos los elementos superiores a los elementos
delanteros deben ser cero. En estos ejemplos no se cumple tan condicion 
Ejemplo 2.4
Verifique que las siguientes matrices s son escalonadas reducidas:

1
0
0

0
1
0

1
0
0

0
,
0
1
0

0
1
0
0

3
0

1
, 0

0
0
0

1
0
0


1
0
1 , 0
0
0

3
0
0


0
4
0 , 0
0
0

0
0
0

0
0
0

Soluci
on
Observe que en el ejemplo 2, el elemento (2,3) no es delantero por ello no se impone la condicion que el elemento
superior sea cero. La matriz es efectivamente escalonada reducida 

2.4.

Pivotes de una matriz

Cuando una matriz est


a en su forma escalonada, los primeros elementos diferentes de cero de cada rengl
on
reciben el nombre de elementos pivote o simplemente pivotes. Note que por ser el pivote el primer elemento
no cero del renglon, no hay forma que un renglon tenga mas de un pivote: puede no tener pivote en caso de
que sea un renglon de ceros, pero no puede tener dos o mas. Note tambien que por estar escalonada la matriz,
no hay forma que dos pivotes queden en la misma columna: puede una columna no tener pivote, pero si tiene
pivote no puede tener dos o m
as. De este hecho, concluimos que una matriz m n no puede tener mas de m
pivotes porque tiene a los m
as uno por cada renglon. Y por otro lado, no puede tener mas de n pivotes pues a
lo mas tiene un pivote por cada columna. Es decir, el n
umero de pivotes debe ser menor o igual que el mnimo
n
umero entre m y n.

2.5.

Algoritmo de eliminaci
on gaussiana

El Algoritmo de Gauss o de Eliminaci


on gaussiana consta de los siguientes pasos:
1. Determine la primer columna (a la izquierda) no cero.
2. Si el primer elemento de la columna es cero, intercambielo por un renglon que no tenga cero.
3. Obtenga ceros abajo del elemento delantero sumando m
ultiplos adecuados a los renglones debajo de el.
4. Cubra el rengl
on y la columna de trabajo y repita el proceso comenzando en el paso 1. Al termino del
ciclo entre el paso 1 al 4 (es decir cuando se han barrido todos los renglones), la matriz deber
a tener
forma de escal
on.
5. Comenzando con el u
ltimo rengl
on no cero avance hacia arriba para que en cada renglon tenga un 1
delantero y arriba de el queden s
olo ceros. Para ello debera sumar m
ultiplos adecuados del rengl
on a los
renglones correspondientes.

Es importante observar que en el metodo de eliminacion Gaussiana:


Los pasos del 1 a 4 aplicados repetidamente escalonan la matriz; el paso 5 aplicado repetidamente reduce
la matriz.
En el paso 2, si el elemento no es cero no se realiza intercambio.
En el paso 3, los elementos que se hacen cero son solo los inferiores al pivote.

2.6.

Eliminaci
on Gaussiana: ejemplo

Ejemplo 2.5
Aplique el algoritmo de Gauss a la matriz:

3
6 9
3
2
4 8
0
2 3
4 1
Soluci
on
En nuestro caso la primer columna tiene elementos diferentes de cero, continua entonces en el paso 2. Siendo el
elemento (1, 1) diferente de cero se continua con el paso 3. El elemento (1, 1) sera usado como pivote para hacer
ceros debajo de el; para ello debemos sumar m
ultiplos adecuados del renglon pivote a los renglones inferiores:

3
6 9
3
3
3 6 9
R2 R2 (2/3) R1
2
4 8
0 0 0 2 2
(1)
R3 R3 (2/3) R1
2 3
4 1
0 1 2
1
El algoritmo procede tapando el rengl
on de trabajo, en este caso el primero. Al repetir el paso 1, el algoritmo
busca la primer columna diferente de cero; en este caso se mueve a la segunda columna y continua con el
paso 2. En vista que elemento (2, 2) es cero debemos buscar en la parte inferior de la columna 2 un elemento
diferente de cero y realizar un intercambio de renglones:

3 6 9
3 6 9
3
3
R2 R3
0 0 2 2
1
0 1 2
(2)
0 1 2
1
0 0 2 2
Continuamos ahora con el paso 3. En este caso los elementos por debajo del elemento (2, 2) son cero, y el
algoritmo procede a la siguiente columa. El algortimo termina en sus pasos 1 al 4. Procede al paso 5.
La matriz es ahora escalonada, el siguiente paso es hacer 1 cada pivote y posteriormente hacer cero arriba
de cada uno de ellos. Hagamos 1 el elemento (3, 3):

3 6 9
3
3 6 9 3
R3 1/(2) R3
0 1 2
1 0 1 2 1
(3)
0 0 2 2
0 0
1 1
Debemos hacer cero por arriba del elemento pivote (3, 3):

3 6 9 3
3 6 0 12
R1 R1 (9) R3
0 1 2 1
0 1 0 3
R2 R2 (2) R3
0 0
1 1
0 0 1 1

(4)

Procedamos con el siguiente elemento pivote (2, 2); el elemento ya


cero por arriba de el:

3 6 0 12
3 0
R1 R1 6 R2
0 1 0 3
0 1
0 0 1 1
0 0
El algoritmo concluye haciendo

3
0
0

2.7.

es 1 y ahora debemos proceder a hacer

0 6
0
3
1
1

1 el pivote del primer renglon:

1 0 0 2
0 0 6
R1 1/3 R1
3 0 1 0
3 
1 0
0 1
1
0 0 1
1

(5)

(6)

An
alisis de los conjuntos soluci
on

Una vez escalonando o reduciendo la matriz aumentada de un sistema, hay que saber con precisi
on que se
puede decir sobre el conjunto de soluciones. S
olo hay tres posibles resultados en el analisis:
El sistema no tiene soluci
on: sistema inconsistente.
El sistema tiene una u
nica soluci
on.
El sistema tiene infinitas soluciones.
Regla de Inconsistencia
El sistema es inconsistente si aparece un pivote en la columna de terminos constantes.
Ejemplo 2.6
Son inconsistentes los sistemas cuya

1 0
0 1

0 0
0 0

matriz aumentada se convierte mediante operaciones elementales en:


0 0
1 0 0 0



2 0
, 0 1 0 0 , 1 1 1 2 
0 1 0 0 1 0
0 0 0 3
0 0
0 0 0 1

Regla de Consistencia
Es consistente cualquier sistema en cuya matriz escalonada no aparece ning
un pivote en la columna
de terminos constantes.
Ejemplo 2.7
Son consistentes los sistemas cuya matriz aumentada

1 0
1 1 1 3
0 1
0 2 2 2 ,
0 0
0 0 3 1
0 0

se convierte mediante operaciones elementales en:

3 1


2 1
, 1 1 1 2 
1 1
0 1 1 1
0 0

Regla de la Soluci
on Unica
Siendo un sistema consistente, el sistema tiene solucion u
nica si en la matriz escalonada la columna
de cada variable hay un pivote.
5

Ejemplo 2.8
Tienen solucion u
nica lo sistemas cuya matriz aumentada se convierte mediante operaciones elementales en:

1 0 3 1
1 1 1 3

0 2 2 2 , 0 1 2 1 
0 0 1 1
0 0 3 1
0 0 0 0
Regla para Soluciones Infinitas
Si un sistema es consistente, el sistema tiene soluciones infinitas si en la matriz escalonada hay una
columna de una variable sin pivote.
Ejemplo 2.9
Tienen soluciones infinitas lo sistemas cuya matriz aumentada se convierte mediante operaciones elementales
en:

1 0 3 1


1 1 1 3
0 1 2 1
1 1 1 3

, 0 2 2 2 ,
0 0 0 0 
0 2 2 2
0 0 0 0
0 0 0 0
Nota Importante
Observe que de los ejemplos anteriores que los renglones de ceros pueden ocurrir en cualquiera de
los casos: puede haber renglones de ceros en la matriz y el sistema ser inconsistente, consistente
con solucion u
nica o consistente con infinitas soluciones. Es decir, los renglones de ceros no dan en
general informaci
on sobre c
omo es el conjunto solucion.
Pueden ocurrir o no cuando el sistema sea

1
0

0
0

inconsistente:

1 2 0
1 6 2 0

1 3 0
, 0 1 1 0
0 0 1
0 0 0 1
0 0 0

Pueden ocurrir o no cuando el sistema tenga solucion u


nica:

1 0 1
4
1 0 1
4
0 1 2 1

, 0 1 2 1
0 0 1
1
0 0 1
1
0 0 0
0
Pueden ocurrir o no cuando el sistema tenga infinitas soluciones:



1 0 1
4
4
0 1 2 1 , 1 0 1

0 1 2 1
0 0 0
0
Ejemplo 2.10
Se tiene un sistema de ecuaciones que tiene una matriz aumentada 8 5 y al reducirla tiene un total de 5
pivotes, entonces ..
6

es inconsistente.

hay soluciones infinitas.

tiene solucion u
nica.

si la u
ltima columna hay pivote, inconsistente. Si no, u
nica.

si la u
ltima columna hay pivote, inconsistente. Si no, infinitas.

Soluci
on
Puesto que la matriz escalonada de tiene 5 pivotes y la matriz tiene 5 columnas, entonces toda columna tiene
pivote. En particular, la u
ltima columna tendra pivote. Como la matriz es aumentada, entonces la columna
correspondiente a las constantes tendr
a pivote. Por lo tanto, el sistema original sera inconsistente. La opci
on
que describe la situaci
on es A 
Ejemplo 2.11
Se tiene un sistema de ecuaciones que tiene una matriz aumentada 5 5 y al reducirla tiene un total de 4
pivotes, entonces ..
A

es inconsistente.

tiene solucion u
nica.

hay soluciones infinitas.

si en la u
ltima columna hay pivote, inconsistente. Si no, u
nica.

si la u
ltima columna hay pivote, inconsistente. Si no, infinitas.

Soluci
on
Puesto que la matriz reducida es 5 5 y tiene 4 pivotes, la u
ltima columna tiene la posibilidad de tener pivote.
En cuyo caso, el sistema ser
a inconsistente. Tambien se tiene la posibilidad de que la u
ltima columna no tenga
pivote. En cuyo caso, el sistema ser
a consistente y los cuatro pivotes estaran en las primeras columnas. Y por
tanto, en este caso la columna de cada variable tendra pivote y por consiguiente cada variable sera fija. Y por
lo tanto, en este caso habr
a soluci
on u
nica. La respuesta que describe mejor la situacion es la D 
Ejemplo 2.12
Se tiene un sistema homogeneo de ecuaciones que tiene una matriz aumentada 5 6 y al reducirla tiene un
total de 5 pivotes, entonces ..
A

tiene solucion u
nica.

si la u
ltima columna hay pivote, inconsistente. Si no u
nica.

es inconsistente.

hay soluciones infinitas.

si la u
ltima columna hay pivote, inconsistente. Si no infinitas.

Soluci
on
Puesto que el sistema es homogeneo, en la columna de las constantes habra solo ceros. Por la naturaleza de las
operaciones elementales, en la matriz reducida solo habra ceros en tal columna. Por tanto, no habr
a pivotes
en la columna de las constantes. Por tanto, el sistema sera consistente y los 5 pivotes estaran en las primeras
columnas y por tanto, en la columna de cada variable habra pivote. Por tanto, el sistema sera consistente con
solucion u
nica 

2.8.

F
ormula para todas las soluciones

Veamos ahora una estrategia para obtener la formula de donde se obtienen todas las soluciones a un sistemas de ecuaciones lineales cuando el sistema tiene infinitas soluciones. Ilustraremos esto mediante un par de
ejemplos.
Ejemplo 2.13
Manejando el orden x, y, z, w escriba en forma vectorial la solucion general al sistema:
4w + 2x + 6y + 2z = 2
w + 3 x + 9 y + 4 z = 14
4 w + 3 x + 9 y + 3 z = 3
3 w + 4 x + 12 y + 4 z = 11
Reporte las coordenadas del vector que multiplica a la variable libre en la solucion resultante.

Soluci
on (Y m
etodo general)
Paso 1: Apliquemos Gauss a la matriz aumentada
Formamos la matriz aumentada con el orden que sugiere el problema (x, y, z, w):

2 6
3 9

3 9
4 12

2
4
3
4

1
2
4
0
1 14

0
4 3
3 11
0

3
0
0
0

0
1
0
0

0 3
0 2

1
3
0
0

Al aplicar las reglas de an


alisis, observamos que el sistema es consistente (al no haber pivote en la columna
de las constantes) y con soluciones infinitas (al ser y una variable libre, recuerde que las variables fijas son
aquellas en cuya columna hay pivote)
Paso 2: Convierta cada rengl
on no cero en ecuaci
on
El renglon 1 de la reducida que:
x + 3 y = 3
El renglon 2 queda:
z = 2
y el renglon 3 queda:
w=3

Paso 3: De cada ecuaci


on, despeje la variable delantera.
x + 3 y = 3 x = 3 3 y
z
= 2 z =
2
w
= 3 w =
3

Paso 4: Se complementan las ecuaciones introduciendo ecuaciones donde cada variable libre
es igual a s misma.
x
y
z
w

= 3 3 y
=
y
=
2
=
3

Paso 5: Se reescribe en forma vectorial las soluciones


3 3 y
x
y
y

z =
2
3
w

Paso 6: Se separa el segundo miembro de acuerdo a las constantes y a las variables libres

3
3
x

y 0
+y 1
=

0
z 2
0
3
w
Lo anterior es la formula general para todas las soluciones del sistema original; el concepto de variable libre
indica que se puede tomar cualquier valor y que con el se produce una solucion. Tambien, aunque esto no es tan
evidente, que cualquier otra soluci
on puede obtenerse de esta formula para valores adecuados de las variables
libres 

Ejemplo 2.14
Determine la soluci
on general en forma vectorial para el sistema:
6w 2x + 3y + 3z = 3
5w + 2x + y 2z = 2
w 4x + 2y + 5z = 1
13 w 8 x + 8 y + 11 z = 7

Soluci
on
Sigamos la metodologa descrita en el ejemplo anterior:

Aplicamos Gauss a la matriz aumentada

2 3
3 6
2 1 2 5

4 2
5 1
8 8 11 13

(orden: x,

1
7

y, z, w):
1
0
0
0

0 9/8 9/8 3/8


1
1/4 11/4 5/4

0
0
0
0
0
0
0
0

Convertimos cada rengl


on diferentes de cero de la matriz reducida a una ecuacion:
x 9/8 z + 9/8 w = 3/8
y + 1/4 z + 11/4 w = 5/4
Ahora, despejamos las variables fijas (x y y):
x = 3/8 + 9/8 z 9/8 w
y = 5/4 1/4 z 11/4 w
Complementamos las ecuaciones con ecuaciones donde cada variable libre esta igualada a s misma:
x
y
z
w

=
=
=
=

3/8 + 9/8 z 9/8 w


5/4 1/4 z 11/4 w
z
w

Ahora, le damos a lo anterior la forma de una igualdad entre vectores:

x
3/8 + 9/8 z 9/8 w
y 5/4 1/4 z 11/4w

z =

z
w
w
Finalmente, separamos el lado izquierdo de acuerdo a las variables libres:

x
3/8
9/8
9/8
y 5/4
1/4
11/4

z = 0 +z 1 +w
0
w
0
0
1

2.9.

Algoritmo de Gauss-Jordan

El Algoritmo de Gauss-Jordan consta de los siguientes pasos:


1. Determine la primer columna (a la izquierda) no cero.
2. Si el primer elemento de la columna es cero, intercambielo por un renglon que no tenga cero. Multiplicando
apropiadamente el rengl
on, h
agalo 1. Este primer 1 sera llamado 1 pivote.
3. Obtenga ceros arriba y abajo del 1 pivote sumando m
ultiplos adecuados a los renglones debajo de rengl
on
pivote en la matriz completa.
4. Cubra la columna y el rengl
on de trabajo y repita el proceso comenzando en el paso 1 con la columna
siguiente.
Es importante observar que en el metodo de Gauss-Jordan:
En la idea general, la matriz se va escalonando y reduciendo a la vez.
En el paso 2, si el elemento no es cero no se realiza intercambio.
En el paso 3, los elementos que se hacen cero no solo son los inferiores al pivote (Eliminacion Gaussiana)
sino tambien los superiores.
10

2.10.

Algoritmo de Gauss-Jordan: ejemplo

Ejemplo 2.15
Aplique el algoritmo de Gauss-Jordan a la matriz:

3
3
6 9
2
4 8
0
2 3
4 1
Soluci
on
En el paso 1 se ubica la primer columna diferente de cero: es la primer columna. En el paso 2 se revisa si el
primer elemento es diferente de cero el cual es nuestro caso. Procedemos ahora con el paso 3. Contrario al
algoritmo de Gauss, el algoritmo de Gauss-Jordan primero crea los 1s pivote:

3
6 9
3
1
2 3
1
R1 1/3 R1
2
4 8
0 2
4 8
0
(7)
2 3
4 1
2 3
4 1
Posteriormente hace cero debajo de el:

1
1
2 3
1
1 2 3
R2 R2 2 R1
2
4 8
0 0 0 2 2
R3 R3 (2) R1
0 1 2
1
2 3
4 1

(8)

Cubrimos ahora la primer columna y el primer renglon y repetimos el procedimiento. En el paso 1 identificamos
la primer columna diferente de cero de la parte no cubierta. La primer columna cumple. Apliquemos el paso
2 ahora. En este caso el elemento (2, 2) es cero y se debera buscar un elemento inferior que sea diferente de
cero:

1 2 3
1
1 2 3
1
R2 R3
0 0 2 2
1
0 1 2
(9)
0 1 2
1
0 0 2 2
El elemento pivote (2, 2) ya es 1;

1
0
0

el algoritmo procede ahora a hacer ceros arriba y debajo de el:

1
2 3
1 0
1 1
R R1 2 R2
1 2
1 1
1
0 1 2
0 2 2
0 0 2 2

(10)

Cubrimos ahora la segunda columna y el segundo renglon de la matriz. Y procedemos de nuevo con el paso 1.
La columna de la matriz descubierta se reduce a un solo elemento y que no es cero. Procedemos con el paso 2.
El pivote es ahora el elemento (3, 3); primero se crea el 1 pivote:

1 0
1 1
1 0
1 1
R3 1/(2) R3
0 1 2
1 0 1 2
1
(11)
0 0 2 2
0 0
1
1
Posteriormente, se hacen ceros

1
0
0

arriba y debajo de el:

0
1 1
1 0 0 2
R R1 1 R3
1 2
1 1
3 
0 1 0
R2 R2 (2) R3
0
1
1
0 0 1
1

11

(12)

2.11.

M
etodo Montante

El Algoritmo Montante es una estrategia desarrollada en los 70s por el profesor Mario Rene Montante en
aquel entonces profesor de FIME de la UANL, Mexico. El metodo trabaja bajo el supuesto principal que la
matriz es solo de n
umeros enteros y que no se realizara ninguna division entre enteros salvo al final. Esto
minimiza el total de errores por redondeo. El metodo procede de una forma semejante al de Gauss-Jordan sin
hacer uno los pivotes y forzando a que los elementos que se haran cero sean m
ultiplos del pivote. El metodo
consta de los siguientes pasos:
1. Determine la primer columna (a la izquierda) no cero.
2. Si el primer elemento de la columna es cero, intercambielo por un renglon que no tenga cero. Este se
llamara elemento pivote x.
3. Obtenga ceros arriba y abajo del pivote x primeramente multiplicando cada renglon por x y posteriormente sumando m
ultiplos del rengl
on pivote. En terminos de operaciones elementales lo que se realiza
es que para cada rengl
on i diferente del renglon pivote hacer
Ri xRi
Ri Ri ai,m Rm
4. Repita el proceso comenzando en el paso 1 para el renglon siguiente.
El principal comentario es que en el paso 3 la instruccion Ri xRi tiene la intencion de hacer que el elemento
a hacer 0 se haga un m
ultiplo del elemento pivote de forma tal que no se requiere ninguna divisi
on en la
instruccion de eliminaci
on.

2.12.

M
etodo de Montante: ejemplo

Ejemplo 2.16
Aplique el algoritmo de Montante a la matriz:

3
6 9
3
2
0
4 8
2 3
4 1

Soluci
on
Debemos multiplicar el rengl
on 2 y 3 por el elemento (1, 1):

3
6 9
3
6 9
3
3
R 3 R2
6 12 24
2
4 8
0 2
0
R3 3 R3
2 3
4 1
6 9
12 3

(13)

Ahora la cancelacion procede utilizando el renglon 1 con los elementos (2, 1) y (3, 1) anteriores a la multiplicacion:

3
6 9
3
3 6 9
3
R2 R2 (2) R1
6 12 24
0 0 0 6 6
(14)
R3 R3 (2) R1
6 9
12 3
0 3 6
3
Ahora deberemos intercambiar los renglones 2 y 3 para tener

3 6 9
3
R2 R3
0 0 6 6

0 3 6
3
12

un pivote en (2, 2):

3 6 9
3
0 3 6
3
0 0 6 6

(15)

Para eliminar el elemento arriba del pivote (2, 2) el algoritmo procede multiplicando el renglon 1 por el pivote
(2, 2):

3 6 9
3
9 18 27
9
R 3 R1
0 3 6
0 3 6
3 1
3
(16)
0 0 6 6
0 0 6 6
La cancelacion arriba del pivote (2, 2) procede restando al renglon 1
del elemento (1, 2):

9
9
9 18 27
R1 R1 (6) R2
0 3 6
3 0
0 0 6 6
0

el renglon pivote por el contenido previo

0
9 9
3 6
3
0 6 6

(17)

Ahora el pivote es el elemento (3, 3) y debemos hacer cero arriba de el. Para ello el algoritmo procede multiplicando los renglones donde se har
a la cancelacion por el elemento pivote:

54
9 0
9 9
54
0 54
R 6 R1
0 3 6

3 1
0 18
36 18
(18)
R2 6 R2
0 0 6 6
0
0 6 6
La cancelacion procede restando los m
ultiplos del renglon 3 usando los elementos anteriores a la multiplicaci
on:

54
0 54
54
54
0
0 108
R1 R1 (9) R3

0 18
36 18
0 18
0 54
(19)
R2 R2 (6) R3
0
0 6 6
0
0 6 6
Las u
nicas divisiones proceden al final:
R1 1/(54) R1

54
0
0 108
2
1
0
0
R2 1/(18) R2

0 18
0 54 0 1 0
3 
R3 1/(6) R3
0
0 6 6
0 0 1
1

2.13.

Diferencias operativas de los m


etodos

Veamos ahora un ejemplo donde se manifiesta las diferencias de operacion entre los metodos
Ejemplo 2.17
Para la matriz:

23 13
1
0 11 3

indique cual sera el siguiente paso de acuerdo a:


a) Eliminacion Gaussiana
b) Metodo de Gauss-Jordan
c) Metodo de Montante
entre las opciones:
1) R1 11 R1
2) R1

1
23

R1

3) R1 R1

13
11

R2
13

(20)

4) R2

1
11

R2

Respuesta:
Recuerde que el algoritmo de eliminaci
on gaussiana primeramente escalona la matriz y luego reduce. En este
caso la matriz ya est
a escalonada: por tanto, eliminacion gaussiana prepara la reduccion haciendo 1 el elemento pivote inferior. Por tanto, eliminaci
on gaussiana debe hacer 1 el elemento (2, 2), lo cual coincide con la
opcion 4. En el caso del Gauss-Jordan, se realiza la reduccion preparando el pivote de arriba para abajo. Por
tanto, Gauss-Jordan debe hacer uno el elemento (1, 1), lo que coincide con la opcion 2. El metodo Montante
va escalonando y reduciendo la matriz de arriba hacia abajo evitanto las divisiones. Estando escalonada la
matriz, Montante trabajara con el elemento (2, 2) para hacer cero en la parte superior. En este caso particular,
Montante hara que el elemento (1, 2) fuera m
ultiplo del pivote (2, 2). As Montante, debe multiplicar el rengl
on
1 por el elemento pivote (2, 2). Esto corresponde a la opcion 1. Resumiendo: Eliminacion Gaussiana 4,
Gauss-Jordan 2, Montante 1 

2.14.

Complejidad de un algoritmo

Existen dos medidas importantes de una estrategia de solucion o algoritmo en la resolucion de un problema.
El concepto de algoritmo es el de un procedimento sistematico y muy bien especficado para realizar una tarea
determinada. La primer medida de un algoritmo es su certeza, es decir, la total confianza de que cuando el
algoritmo es aplicado en un cierto problema, encontrara la solucion correcta o bien indicara que el problema no
tiene solucion. La otra medida es la complejidad de un algoritmo, es decir, la cantidad de trabajo involucrado
por aquella persona o sistema de c
omputo que lleva a cabo cada uno de los pasos. En los algoritmos donde se
buscan soluciones numericas el principal indicador de la medida de trabajo o complejidad es el conteo total
de las operaciones aritmeticas realizadas desde el inicio del programa hasta la obtencion de la soluci
on. Las
operaciones que se contabilizan son las operaciones de suma, multiplicacion, sustraccion, y division. Puesto
que para las computadoras recientes el tiempo invertido por su procesador en una suma es el mismo que el
realizado por una multiplicaci
on, resta, o division, en el conteo de operaciones no se especifica si fueron unas u
otras. La palabra FLOP (FLoating point OPeration) refiere a una operacion entre n
umeros reales y abarca
suma, resta, multiplicaci
on, o divisi
on. Actualmente, en computacion la palabra FLOPS es utilizada como
acronimo de FLoating point Operations Per Second, pero en el area de analisis de algoritmos y para nosotros
tiene el significado que ya explicamos y FLOPs sera el plural de FLOP.
El analisis que realizaremos de la complejidad de los algoritmos vistos sera contando el n
umero total
de FLOPs que se invierte cuando se aplica a un sistema lineal de n ecuaciones con n incognitas general.
Despreciaremos en nuestro an
alisis el esfuerzo computacional de preguntar si un n
umero es diferente de cero,
as como los posibles intercambios entre los renglones para darle la forma escalonada. Sobre este u
ltimo punto,
la mayora de las implementaciones computacionales de los algoritmos poseen trucos de programaci
on para
evitar el movimiento de n
umeros en la memoria de la computadora utilizando apuntadores y vectores de
ndices. Un hecho que asumiremos es que nunca nos encontraremos con una columna de ceros. De encontrarse
tal columna el trabajo computacional se reducira porque la matriz con la cual se opera tiene menos n
umeros,
y esto no es un caso general. Este tipo de suposiciones se conoce como el analisis del peor de los casos. En
los siguientes analisis, haremos el truco de introducir la variable m que ira bajando sobre los renglones de la
matriz.

2.15.

Complejidad del algoritmo de Gauss

Supongamos que estamos aplicamos el algoritmo de eliminacion gaussiana a un sistema n por n y que
estamos trabajando ya con el rengl
on m. Consideraremos primero el trabajo realizado por los pasos 1 al 4 y
posteriormente el trabajo realizado en el paso 5. Es importante notar que el proceso de Gauss avanza dejando

14

la matriz escalonada hasta la columna de trabajo:

a1,1 a1,2
a1,m1
a1,m
0 a2,2
a2,m1
a2,m

..
..
..
..
..
.
.
.
.
.

0
0 am1,m1 am1,m

0
0
0
am,m

.
..
..
..
..
..
.
.
.
.
0
0
0
an,m

..
.

..
.

1 Ciclo del paso 1 al 4


Al asumir que am,m es diferente de cero, pasamos al paso 3. En el paso 3 hay que hacer cero debajo del
elemento (m, m), para cada uno de los m n renglones inferiores Ri ; para ello habra que
calcular el factor f = ai,m /am,m por el cual debe multiplicarse el renglon Rm , lo cual implica
realizar una divisi
on, y posteriormente
realizar la operaci
on:
Ri Ri f Rm .
En este caso, en el rengl
on i hay ceros hasta antes de la columna m, en el elemento (i, m) quedar
a un
cero (el factor f fue calculado para ello), as que los u
nicos elementos que deberan calcularse son los
elementos del rengl
on i desde la columna (m + 1) y hasta terminar, es decir, hasta la columna n + 1,
es decir, un total de (n + 1) (m + 1) + 1 = n m + 1 elementos, y para cada uno de ellos habr
a que
hacer am+1,j am+1,j f am,j , es decir para cada uno de ellos habra que hacer 2 FLOPs, siendo
un total de n m + 1 elementos, el n
umero total de FLOPs que habra que realizar para hacer la
operacion Ri Ri f Rm es, incluyendo la division para calcular f , 2(n m + 1) + 1 = 2n 2m + 3.
Como esto habr
a que aplicarlo a todos los renglones por debajo del renglon m y hasta el n, entonces
para realizar un ciclo desde el paso 1 hasta el paso 4 deben hacerse (n m) (2 n 2m + 3) FLOPS. El
ciclo del paso 1 al paso 4 y su repetici
on ira avanzando m desde 1 hasta n 1. Por consiguiente el total
de FLOPs ser
a:
n1
X
2
1
7
(n m) (2 n 2 m + 3) = n3 + n2 n.
3
2
6
m=1

El ciclo en el paso 5 inicia en el u


ltimo rengl
on, hace 1 el elemento pivote y luego a cada renglon superior el
resta el renglon inferior multiplicado por la constante adecuada. As, si asumimos que se esta trabajando en el
renglon m la matriz se vera:

a1,1 a1,2
a1,m 0 0
a1,n+1
0 a2,2
a2,m 0 0
a2,n+1

..
..
..
..
..
..
..

..
.

.
.
.
.
.
.
.

0
0 am,m 0 0 am,n+1

0
0
0
1 0 am+1,n+1

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
. .
.
.
.
.
0

an,n+1

Es decir, que
en el renglon m s
olo existir
an dos elementos diferentes de cero; el elemento (m, m) y el elemento
(m, n + 1).
15

2 Ciclo del paso 5.


Las operaciones implicadas en el paso 5 seran
1
Rm am,m
Rm
Por la observaci
on anterior, para esto se requiere s
olo una divisi
on; la del termino constante entre
el elemento pivote, la del pivote entre s mismo ya sabemos que dara 1 y no se realizara, simplemente
en la posici
on (m, m) pondremos un 1

Rj Rj aj,m Rm
Por la misma observaci
on anterior, esta operacion solo requiere una multiplicacion y una resta, estas
operaciones s
olo tienen que ver con los terminos constantes. Los nuevos elementos aj,m ser
an cero.
Como hay m 1 renglones superiores, el total de operaciones en un ciclo del paso 5 sera:
2 (m 1) + 1 = 2 m 1
Por consiguiente el total de FLOPs en el paso 5 sera:
1
X

(2 m 1) = n2

m=n

Por consiguiente, en general cuando se aplica en algoritmo de eliminacion gaussiana a un sistema n n el


n
umero de FLOPs es:
2 3 3 2 7
n + n n
(21)
3
2
6

2.16.

Complejidad del algoritmo de Gauss-Jordan

Supongamos que estamos aplicando el algoritmo a una matriz aumentada n por n + 1 y que estamos
trabajando con el rengl
on m. El algoritmo avanza del primer renglon hasta el u
ltimo. Es importante notar que
el proceso de Gauss-Jordan avanza dejando la matriz reducida hasta el renglon de trabajo Rm :

1 0
0 1
.. .. . .
.
. .
0 0
0 0
.. .. . .
.
. .
0 0

0
0
..
.

a1,m
a2,m
..
.

..
.

1 am1,m
0 am,m
..
..
..
.
.
.
0
an,m

Supongamos que estamos ubicados en el rengl


on m, lo que debemos hacer es hacer un uno pivote en la posici
on
(m, m) y posteriormente hacer ceros por arriba y por debajo de el.
1. Paso 2.
Lo que debe hacerse es dividir el rengl
on entre el elemento pivote: en dicho renglon, antes de la columna
m hay ceros, en el elemento (m, m) quedara un 1, as que los u
nicos elementos a calcular en el rengl
on
m son apartir de la columna m + 1 y hasta la columna n + 1. As deberan hacerse
(n + 1) (m + 1) + 1 = n m + 1
divisiones.

16

2. Paso 3.
Para cada rengl
on i diferente de m debemos realizar
Ri Ri ai,m Rm .
Como el rengl
on m tiene ceros antes de la columna m y en ai,m quedara un cero, los u
nicos elementos
que se calcular
an son ai,j ai,j ai,m am,j , desde j = m + 1 y hasta j = n + 1, es decir un total de
(n + 1) (m + 1) + 1 = n m + 1. Como para cada uno de ellos se realizan dos operaciones entonces el
total de FLOPs para hacer un cero en un renglon arriba o abajo de (m, m) se requieren 2 (n m + 1)
Como hay en total n renglones , el n
umero total de FLOPs en el paso 3 sera: (n 1) 2 (n m + 1) Por
consiguiente, en una iteraci
on del paso 2 seguido del paso 3 se haran n m + 1 + (n 1) 2 (n m + 1)
Como el algoritmo de Gauss-Jordan itera los pasos 2 y 3 recorriendo todos los renglones, el n
umero total de
FLOPs sera:
n
X
1
1
(n m + 1 + (n 1) 2 (n m + 1)) = n3 + n2 n
2
2
m=1

As, la complejidad del algoritmo de Gauss-Jordan es:


1
1
n3 + n2 n
2
2

2.17.

(22)

Complejidad del algoritmo de Montante

Supongamos que aplicamos el algoritmo a una matriz aumentada n por n + 1. El algoritmo avanza del
primer renglon hasta el u
ltimo. Es importante notar que el proceso de Montante avanza dejando la matriz de
la siguiente forma hasta la columna de trabajo:

a1,1 0
0
a1,m

0 a2,2
0
a2,m

..
..
..
..
..
..
.
.
.
.
.
.

0
0 am1,m1 am1,m

0
a

m,m

.
..
..
..
..
..
..
.
.
.
.
.
0
0
0
an,m

Supongamos que estamos ubicados en el renglon m, lo que debemos hacer es hacer ceros por arriba y por
debajo de el.
Multiplicacion de los renglones superiores por am,m .
Esto implica realizar multiplicaciones por un total de:
(m 1) (n m + 1) + m 1
Multiplicacion de los renglones inferiores por am,m .
Esto implica realizar multiplicaciones por un total de:
(n m) (n m + 1)
A cada renglon diferente de m aplicarle Ri Ri ai,m Rm
Esto da un total de:
(n 1) 2 (n m + 1)
17

Sumando los terminos anteriores, el total de FLOPs para el trabajo con el renglon m es:
3 n2 3 m n + 4 m 4
Por consiguiente, al repetir estos pasos desde el primer renglon hasta el u
ltimo daran un total de FLOPs:
n
X
m=1

 3
1
3 n2 3 m n + 4 m 4 = n3 + n2 2 n
2
2

Posteriormente habr
a que hacer 1 cada elemento pivote realizando n divisiones adicionales. As, la complejidad
del algoritmo de Montante es:
3 3 1 2
n + n n
(23)
2
2

2.18.

Comparativa de los algoritmos

A pesar que la complejidad de los algoritmos indica que el algoritmo de eliminacion gaussiana es mejor
por tener la menor complejidad, la versi
on en computadora paralela (muchos procesadores) del algoritmo de
Gauss-Jordan tiene una menor complejidad que la version paralela del algoritmo de Eliminacion Gaussiana. Al
asignarle a cada procesador la instrucci
on Ri Ri f Rj , eliminacion gaussiana los ejecuta de i = j +1, . . . , n
mientras que Gauss-Jordan los ejecuta para i 6= j, aprovechando los procesadores mas eficientemente. El
algoritmo de Montante tiene la ventaja que si se utiliza para matrices con coeficientes enteros las u
nicas
divisiones realizadas ser
an las u
ltimas, lo cual reduce sustancialmente el error numerico. Una desventaja
importante del algoritmo de Montante es que los coeficientes en la matriz pueden crecer considerablemente.
En resumen, aunque el mejor algoritmo general para resolver un sistema de ecuaciones lineales es el algoritmo
de eliminacion gaussiana, puede haber situaciones particulares al problema o al ambiente de computo que
haga que otro algoritmo tenga ventajas sobre el. Por ello es que es conveniente conocer otras alternativas para
resolver problemas y conocer sus ventajas o desventajas.

2.19.

Algoritmos y computadoras

Las computadoras operan realizando instrucciones basicas paso a paso. Dichas instrucciones son ejecutadas
en forma sncrona con un reloj interno. En nuestros das (a
no de 2005), es com
un escuchar que la velocidad de
una computadora se mida en algunos pocos gigahertz, digamos por ejemplo 1.3 Gigahertz. Ello quiere decir
que el reloj interno de una computadora ejecutara 1.3 109 ciclos en un segundo. Lo cual equivale a decir que
aproximadamente dicha computadora ejecutara 1.3 109 instrucciones basicas en un segundo.
El tiempo de ejecuci
on de un FLOP en las computadoras puede variar; en algunas computadoras toma el
tiempo de 1, 2 o en algunos casos 3, instrucciones basicas para completar un FLOP. Si seguimos el ejemplo
de la computadora de 1.3 Ghz y suponemos que nuestra hipotetica computadora tome 2 instrucciones b
asicas
para completar un FLOP, podramos decir que cada FLOP tomara 1/(1.3 109 )/2 segundos. Para tener
una idea del uso de la complejidad del algoritmo para determinar tiempos de computo, digamos que se desea
utilizar un programa que realiza el algoritmo de Gauss en dicha computadora para resolver un sistema de
100 100. Entonces, dicho programa realizar
a 681550 FLOPs, por consiguiente el tiempo que tomar
a s
olo
9
en operaciones de punto flotante ser
a 681550/(1.3 10 )/2 0.000262 segundos. Mientras que para un
sistema 1000 1000 ser
a de .256986 segundos y para uno de 10000 10000 sera de 256.467 segundos. En
ambientes de manufactura donde se utiliza el metodo del elemento finito para hacer simulaciones, es com
un
trabajar con matrices de m
as de 106 106 . Resolver un sistema 106 106 en tal computadora se requerira,
contando solo tiempo por operaciones de punto flotante, un poco mas de 8 a
nos en ser resuelto. Adem
as,
requerira mas de 900 terabytes para ser almacenado. Por ello, es que existen algoritmos especializados que
aprovechan el hecho de que la matriz tiene una forma particular para economizar operaciones y espacio.
18

2.20.

Y los determinantes del M


etodo de Montante?

En la definicion original del metodo de Montante como fue propuesto por su creador, se haca referencia
a determinantes de 2 por 2. En la presentaci
on dada en esta lectura hemos omitido tal referencia y hemos
preferido reducir el metodo a operaciones elementales de renglon las cuales creemos que hacen el metodo m
as
claro y que no requieren ning
un otro concepto. Para corroborar la equivalencia, vea los siguientes c
alculos al
aplicar el metodo Montante en la matriz dada y compare los contenidos de la matriz intermedia en la posici
on
(2, 2) o (3, 2) con la matriz inicial. Primeramente obligamos a que sean m
ultiplos de (1, 1) los contenidos de
(2, 1) y (3, 1):

a11 a12
a11
a12

R2 a11 R2
a21 a22
a11 a21 a11 a22
(24)
R3 a11 R3
a31 a32
a11 a31 a11 a32
Posteriormente, se procede a hacerlos cero utilizando el elemento pivote (1, 1):

a11
a12

R2 R2 a21 R1
a11 a21 a11 a22

R3 R3 a31 R3
a11 a31 a11 a32

a11
a12

0 a11 a22 a21 a12


0 a11 a32 a31 a12

(25)

Viendo los contenidos finales de (2, 2) o de (3, 2) la referencia a los determinantes 2 por 2 en la matriz inicial
es obvia, aunque consideramos que tambien innecesaria.

2.21.

Pero, qu
e m
etodo me conviene seguir?

Como se vera m
as adelante en el curso, debido al significado de cada n
umero en la reducida, la matriz reducida obtenida de una matriz dada es u
nica. Esto significa que cualquier procedimiento basado en operaciones
elementales de rengl
on debe llevar al mismo resultado. Por tanto, esto nos da la posibilidad de seguir cualquier
estrategia basada en operaciones elementales de renglon para reducir una matriz. Lo que normalmente se hace
es revisar a simple vista en cada momento aquel elemento que conviene que sea pivote de manera que involucre
o menor n
umero de operaciones o bien operaciones menos complejas. Sin duda, el hacer un n
umero razonable
de ejemplos le ira construyendo la intuici
on del camino personal de reduccion de una matriz.

19

Vous aimerez peut-être aussi