Está en la página 1de 71

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES

CATEDRA METODOS COMPUTACIONALES 2 Pg.1


CAPTULO 1 :
Solucin de Sistemas de Ecuaciones Lineales.


1.1. Consideraciones generales

1.1.1 Introduccin
El objetivo de este tema es introducir al lector en la resolucin de sistemas lineales de
ecuaciones por mtodos gaussianos. Parece conveniente, en primer lugar, establecer la
notacin y algunas de las bases de lgebra lineal necesarias para alcanzar el objetivo
planteado. Siguiendo la notacin introducida por Householder en 1964, se emplear:

maysculas en negrita A, L, U, A, A para las matrices,
minsculas con subndices aij, lij, uij, oij, ij para los coeficientes de matrices,
minsculas en negrita x, y, z, b, c, d para los vectores
letras griegas en minscula o, |, , o, u, para los escalares.

El espacio vectorial de las matrices reales m x n se denota por R
mxn
; un elemento
cualquiera de ese espacio, A eR
mxn
, es una matriz rectangular de m filas y n columnas
que puede escribirse como:

a
11
a
12
...... a
1,n-1
a
1,n

a
21
a
22
...... a
2,n-1
a
2,n

A = . . . . .
a
m-1,1
a
m.1,2
. . a
m-1,n

a
m,1
a
m,2
...... . a
m,n


Si m = n entonces A es cuadrada y se dice que tiene orden n. De la misma forma, C
mxn
es
el espacio vectorial de las matrices de coeficientes complejos.
En cuanto a los vectores, estos se asumen como vectores columna, es decir x e R
n
es:

x
1

x
2

x = .
x
n-1

x
n

donde las componentes xi son nmeros reales. Puesto que por convencin se toman los
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.2
vectores como columna, objetos del tipo (x1, x2 ... xn-1, xn,) son vectores fila y se
denotan por x
T
(T indica matriz o vector traspuesto).
Adems de las operaciones inherentes al espacio vectorial (suma interna y producto
exterior por reales) conviene resaltar por su importancia el producto escalar de vectores.
Si x e y son dos vectores de R
n
, entonces x
T
.y = x
1
y
1
+x
2
y
2
+...+xn.yn e R.
El producto escalar de vectores permite definir una mtrica: la norma eucldea de x, que
es simplemente :
Del mismo modo que se ha definido x
T
y, tambin se puede definir xy
T
. Sin embargo, el
significado de este ltimo producto entre vectores es radicalmente distinto. Sean x e y dos
vectores no nulos; la matriz xy
T
es de R
nxn
y se escribe como :

x
1
.y
1
x
1
y
2
...... x
1
.y
n-1
x
1
.y
n

x
2
.y
1
x
2
y
2
...... x
2
.y
n-1
x
2
.y
n

A = . . . . .
x
n-1
.y
1
x
n-1.
y
2
...... x
n-1.
.y
n-1
x
n-1.
.y
n

x
n
.y
1
x
n.
y
2
...... x
n
.y
n-1
x
n
.y
n


y todas sus columnas (y filas) definen vectores paralelos, es decir, elementos de un
espacio vectorial de dimensin uno. Por consiguiente, esta matriz es de rango uno. En
realidad, toda matriz de rango uno puede expresarse como el producto de dos vectores
de la forma xy
T
.
Estas matrices son comunes en mtodos numricos y conviene saber trabajar con ellas.
Por ejemplo, su almacenamiento no se hace guardando todos los coeficientes de la
matriz, lo que implicara almacenar n
2
nmeros reales; sino que se almacena nicamente
las componentes de cada uno de los vectores x e y, es decir 2n nmeros reales.
Para tener una idea del ahorro computacional que esto representa basta suponer que n =
1000: mientras almacenar x e y slo necesita de 2000 variables reales, xy
T
requiere un
milln (es decir, 500 veces ms memoria).


1.1.2 Planteamiento general
A lo largo de este tema se plantea la resolucin de sistemas lineales de ecuaciones del
tipo:
Ax = b (1.1.)

donde A es una matriz de n x n coeficientes reales a
i,j
con i =1....n, j = 1...n. Por otra parte,
b es el vector de trminos independientes, tambin de coeficientes reales b
i
,con i =1....n.
x . x x
T
=
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.3
Finalmente, x
T
=(x1.......xn) es el vector solucin del sistema

La existencia y unicidad de soluciones del sistema definido en (1.1.) es por fortuna un
tema ampliamente estudiado en el lgebra lineal. Precisamente, el lgebra lineal
proporciona una serie de condiciones que permiten verificar si Ax=b tiene solucin y si
esta es nica.

De estas condiciones resultan particularmente significativas:
- Si las filas (columnas) son linealmente independientes, entonces el sistema A.x=b
tiene solucin nica.
- En este caso existe A
-1
, matriz inversa de A, tal que AA
-1
= A
-1
A = 1 (1 matriz
identidad de orden n).
- La verificacin de la condicin de independencia lineal de filas y columnas tambin
implica que para cualquier x e R
n
si Ax =0 , entonces x =0.
- Si el sistema tiene solucin nica entonces se verifica que det(A) = |A|= 0

A pesar de la indudable importancia de todas estas condiciones, en el mbito de la
resolucin numrica de sistemas de ecuaciones deben ser empleadas con sumo cuidado.

De acuerdo a las condiciones enunciadas, el sistema de ecuaciones (1.1.) tiene solucin
nica si y slo si det(A) = |A|= 0.
En este caso, existir la matriz inversa de A, A
-1
, que permite escribir la solucin del
sistema de ecuaciones como :

x = A
-1
.b (1.2)

Sin embargo, a pesar de tener todo el fundamento analtico necesario, calcular mediante
este procedimiento la solucin de (1.1) es el peor mtodo posible desde un punto de vista
numrico. Para darse cuenta de ello, basta observar slo dos de los problemas que
plantea.
En primer lugar, para determinar la unicidad de la solucin, debera realizarse el clculo
del determinante. Sin embargo, este trabajo puede ser bastante tedioso puesto que el de-
terminante puede variar bruscamente con pequeos escalados de la matriz.
Obsrvese, por ejemplo, que si A es de orden n, entonces det(A) = y
n
.det(A). Para ver
las implicancias que esta igualdad impone bastara tomar el caso particular de n = 100,
(nmero de ecuaciones pequeo hoy en da), entonces: det(0.1 A) = 10
-100
.det(A). Es
decir, dividiendo los coeficientes de A por diez, se reduce el determinante de A en un
factor de 10
-100
.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.4
En sntesis, se hace muy difcil determinar numricamente si el determinante de una
matriz es realmente nulo por lo cual el uso del mismo se centra bsicamente en estudios
tericos.
En segundo lugar, el clculo de la inversa de A (que presenta serios problemas asociados
al almacenamiento de la matriz y a la precisin con la que obtengan los resultados), no se
empleara ni en el caso escalar (n = 1).
Por ejemplo, para resolver 15x = 3 no se evaluara primero c = 1/15 para despus calcular
x como x = 3c. Lo ms lgico sera dividir directamente 3 por 15, x = 3/15, lo que
permitira ahorrarse una operacin y un error de almacenamiento. Esta situacin puede
extrapolarse al caso de orden n donde la diferencia en nmero de operaciones es muy
considerable y adems los errores de redondeo pueden dar lugar a inestabilidades
numricas.

1.1.3. Resolucin algebraica: mtodo de Cramer

En este punto se plantea la resolucin analtica de problemas muy pequeos siguiendo un
posible enfoque algebraico clsico, conocido como mtodo de Cramer.
En este procedimiento, la obtencin de los valores de cada una de las incgnitas que
conforman el vector x, puede obtenerse a partir de la siguiente expresin:

Es interesante evaluar, para el procedimiento implcito en la ecuacin anterior, el nmero
de operaciones elementales (sumas, productos y divisiones) necesarias para obtener la
solucin del sistema.
En primer lugar hay que evaluar n + 1 determinantes y luego realizar n divisiones. Para el
clculo de los determinantes, una de las posibles tcnicas necesita de n!.n
multiplicaciones y n!-1 sumas. Por consiguiente, el mtodo de Cramer necesita de:

(n + 1) (n! - 1) sumas
(n + 1) n! n productos
n divisiones
A
n , an ... 1 i , an bn 1 i , an .... 1 an
. . . . . . .
. . . . . . .
. . . . . . .
n , 2 a ... 1 i , 2 a 2 b 1 i , 2 a .... 21 a
n , 1 a ... 1 i . 1 a 1 b 1 i , 1 a ... 11 a
xi
+
+
+
=
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.5
Cada operacin elemental puede tener un coste computacional distinto (por ejemplo,
muchos ordenadores dividen empleando el mtodo de Newton para ceros de funciones).

A pesar de ello, aqu se les asignar el mismo costo computacional a todas las
operaciones elementales puesto que ello permite realizar las comparaciones pertinentes.

De acuerdo a lo indicado, el nmero de operaciones elementales con el mtodo de
Cramer es T
C
= (n + 1)
2
n! - 1. A modo de ejemplo, la tabla siguiente muestra los valores
de Tc para diferentes tamaos del sistema de ecuaciones :

Operaciones elementales del mtodo de Cramer
n T
C

5 4319
10 4 x 10
8

100 10
158


Los nmeros presentados en la tabla anterior adquieren un mayor relieve cuando se
asocian al tiempo necesario para efectuarlos.

Si se dispusiera de un superordenador capaz de realizar 100 millones de operaciones en
coma flotante por segundo (100 Mflops), el sistema de n = 100 necesitara
aproximadamente 3x10
142
aos para ser resuelto.

Es evidente que el nmero de operaciones asociado a este mtodo hace prohibitivo su
uso, an para sistemas pequeos. Si adems se tiene en cuenta que el ENIAC (primer
ordenador digital, fabricado en 1940) realizaba slo 300 operaciones por segundo y tena
un tiempo medio entre averas de 12 horas, se comprender por qu la resolucin de
sistemas lineales de ecuaciones est en el origen del desarrollo de los mtodos
numricos.


1.1.4 Resolucin numrica: un enfoque global
La estrategia y metodologa que se aplica a la resolucin numrica de sistemas lineales
de ecuaciones parte de una filosofa distinta a la expuesta anteriormente. La regularidad
de la matriz A no se determina por un clculo previo de su determinante.
Esta regularidad puede, en algunos problemas, ser evaluada previamente en funcin de
su origen (por ejemplo cuando proviene de la discretizacin de ecuaciones diferenciales)
o a partir de propiedades fcilmente computables como la dominancia diagonal.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.6
Por lo general se aplica alguno de los mtodos de resolucin que se vern seguidamente
sin evaluar previamente el determinante; el cual, en muchas ocasiones (al igual que la
inversa) son un subproducto de los clculos efectuados.
En realidad los algoritmos eficaces para la resolucin de sistemas lineales plantean
procesos con un enfoque radicalmente distinto, fundamentalmente a partir de considerar
que los clculos se realizan en ordenadores digitales. Por consiguiente, es lgico que los
algoritmos se evalen en funcin de su eficacia y siguiendo criterios directamente
relacionados con su implementacin en computadoras..
Existen tres criterios fundamentales para analizar esos algoritmos:

- Nmero de operaciones necesarias, ntimamente ligado al tiempo de CPU. Se tendrn
en cuenta las operaciones elementales entre nmeros en coma flotante (flop): +, - , /,
*, todas a un mismo coste computacional aunque no sea exactamente cierto. El
nmero de operaciones es obviamente un excelente indicador, aunque no debe
tomarse en sentido estricto como una evaluacin del tiempo de clculo. De hecho,
multiplicar el tiempo necesario para una operacin por el nmero de operaciones
siempre infravalora el tiempo necesario del algoritmo. Adems del tiempo invertido en
efectuar las operaciones hay una sobrecarga, debido a la gestin de la memoria, al
manejo de los ndices enteros, a las instrucciones lgicas en los propios bucles, etc.
An as, el nmero de operaciones es un buen indicador del orden del tiempo de CPU
porque esta sobrecarga es generalmente proporcional al nmero de operaciones, de
forma que, aunque no se pueda predecir exactamente el tiempo final, se puede saber
cmo vara (linealmente, cuadrticamente, etc.) al modificar, por ejemplo, el orden n
de la matriz.

- Necesidades de almacenamiento, que inciden clara y directamente en las limitaciones
de la memoria de los diversos ordenadores; los diferentes mtodos de resolucin
requieren almacenar las matrices de distinta forma en el ordenador y esto vara
considerablemente las necesidades de memoria.

- Rango de aplicabilidad: no todos los mtodos sirven para cualquier matriz no singular;
adems, en funcin del mtodo y de las propiedades de la matriz, la precisin de los
resultados puede verse afectada dramticamente. Como se ver ms adelante,
pequeos errores de redondeo pueden producir errores en la solucin numrica
completamente desproporcionados. No se debe olvidar que debido al enorme nmero
de operaciones necesarias para la resolucin de un sistema de ecuaciones de tamao
medio a grande, el anlisis estndar de propagacin de errores de redondeo no es en
absoluto trivial.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.7
Conviene resaltar que cada uno de estos criterios puede ser determinante para rechazar
un algoritmo. Por ejemplo, para un tipo de ordenador dado, mtodos que impliquen
exceder la memoria disponible son inutilizables por muy rpidos y precisos que resulten.
Por lo tanto, el desarrollo de los algoritmos que se plantean a continuacin debe tener
presentes estos tres criterios en forma simultnea.

Desde un punto de vista general las matrices ms usuales en las ciencias aplicadas y en
ingeniera pueden englobarse en dos grandes categoras:

- Matrices llenas, pero no muy grandes. Por llenas se entiende que poseen pocos
elementos nulos y por no muy grandes que el nmero de ecuaciones es de unos
pocos miles a lo sumo. Estas matrices aparecen en problemas estadsticos,
matemticos, fsicos e ingenieriles.

- Matrices vacas (esparzas) y muy grandes. En oposicin al caso anterior, vacas indica
que hay pocos elementos no nulos y adems estn situados con una cierta
regularidad. En la mayora de estos casos el nmero de ecuaciones supera los miles y
puede llegar en ocasiones a los millones. Estas matrices son comunes en la resolucin
de ecuaciones diferenciales de problemas de ingeniera.

Parece lgico que los mtodos para resolver sistemas lineales de ecuaciones se adecuen
a las categoras de matrices anteriormente expuestas. En general los mtodos directos se
aplican al primer tipo de matrices, mientras que los mtodos iterativos se emplean con el
segundo grupo. Es importante observar que no existen reglas absolutas y que todava en
la actualidad existe cierta controversia sobre los mtodos ptimos a aplicar en cada caso.

En particular, la distincin establecida entre matrices llenas y vacas depende en gran
medida del ordenador disponible (fundamentalmente de la memoria). De hecho, los
lmites han ido evolucionando a lo largo de los aos a medida que tambin evolucionaban
los ordenadores (cada vez ms rpidos y con ms memoria, o al menos ms barata). A
pesar de ello, casi nadie recomendara mtodos iterativos para matrices llenas con pocas
ecuaciones; en cambio, algunos autores trabajan con mtodos directos altamente
sofisticados y particularizados al entorno informtico disponible para resolver sistemas
con varios millones de ecuaciones.

Observacin: En todo lo que sigue se supone que A y b son de coeficientes reales. Si los
elementos de A o b son complejos, aparte de las generalizaciones de los mtodos que
aqu se estudian o de los algoritmos especficos para este caso, se puede replantear el
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.8
problema como un sistema lineal, con matriz y trmino independiente reales, de 2n
ecuaciones e incgnitas. Para ello se escriben la matriz y los vectores de la siguiente
manera:
A =C +i D
b =e +i d
x =y +i z

donde C y D son matrices reales nxn, y c, d, y, z son de R
n
. El sistema lineal de
ecuaciones original se escribe ahora como:

C -D y = c
D C z d

que, resuelto, da el resultado deseado.


1.2. Mtodos directos

1.2.1 Introduccin
Los mtodos directos de resolucin de sistemas lineales de ecuaciones son aquellos que
permiten obtener la solucin despus de un nmero finito de operaciones aritmticas.
Este nmero de operaciones es, obviamente, funcin del tamao de la matriz.
Si los ordenadores pudieran almacenar y operar con todas las cifras de los nmeros
reales, es decir, si emplearan una aritmtica exacta, con los mtodos directos se
obtendra la solucin exacta del sistema en un nmero finito de pasos.
Puesto que los ordenadores tienen una precisin finita, los errores de redondeo se
propagan y la solucin numrica obtenida siempre difiere de la solucin exacta.
La cota del error, para una matriz y trmino independiente dados, se asocia por lo general
al nmero de operaciones de cada mtodo. Se pretende, por lo tanto, obtener mtodos
con el mnimo nmero de operaciones posible.
Otra particularidad de los mtodos directos es que siempre conducen, despus de ciertas
operaciones, a la resolucin de uno o varios sistemas con solucin inmediata. Es decir,
sistemas donde la matriz es diagonal o triangular. Los mtodos para sistemas de
resolucin inmediata son, de hecho, mtodos directos.
Una clasificacin habitual de estos procedimientos de resolucin es aquella que considera
que los mismos pertenecen a una de las dos categoras siguientes: mtodos de
eliminacin y mtodos de descomposicin.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.9
En el cuadro siguiente se presenta un esquema con la clasificacin de los procedimientos
de clculo ms caractersticos.

Clasificacin de los mtodos directos
Matriz Diagonal, A =D
- Sistemas con solucin inmediata Matriz Triangular Superior, A = U
Matriz Triangular Inferior, A = L

- Mtodos de Eliminacin Mtodo de Gauss
Mtodo de Gauss-Jordan

Mtodo de Doolittle, A =LU
Mtodo de Crout, A =LU
- Mtodos de Descomposicin Mtodo de Cholesky, A =L.L
T

Descomposicin generalizada, A=L.D.L
T

Mtodo de Thomas (A Tridiagonal)

- Mtodos de ortogonalizacin



1.2.2 Sistemas con solucin inmediata
1.2.2.1. Matriz Diagonal
En este caso la matriz A se escribe como:

d
11
0 ... ... 0
0 d
22
... ... 0
A=D= ... ... ... ...
... ... ... ...
0 ... ... ... d
nn


y la solucin se obtiene directamente

Existe solucin si todos los trminos de la diagonal son no nulos. Adems, si se desea
evaluar el determinante de A slo es necesario calcular el producto de todos los trminos
..... n 1 i
d
b
x
ii
i
i
= =
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.10
de la misma.
Por ltimo, el nmero de operaciones necesario es de n divisiones, es decir T
D
= n
operaciones elementales.


1.2.2.2. Matriz Triangular Superior

u
11
u
12
... ... u
1n

0 u
22
... ... u
2n

A=U= ... ... ... ...
... ... ... u
n-1,n-1
u
n-1,n

0 ... ... ... u
n,n


En este caso la solucin de la ltima ecuacin es trivial x
n
= b
n
/u
nn
. Una vez conocido x
n
,
la penltima ecuacin (la n - 1) slo tiene una incgnita que se deduce de forma sencilla.
Conocidos ahora x
n
y x
n-1
se pasa a la ecuacin anterior (la n - 2) y se resuelve para su
nica incgnita, X
n-2
.
Retrocediendo progresivamente se obtiene el algoritmo de sustitucin hacia atrs que se
escribe de la siguiente forma:
De nuevo la solucin existe si todos los trminos de la diagonal de U son no nulos. En
forma similar a lo indicado para matrices diagonales, el determinante se evala
multiplicando los trminos ubicados en la diagonal.
El nmero de operaciones es ahora:

1 + 2 +.... + (n - 1) = n(n 1)/2 sumas
1 + 2 +.... + (n - 1) = n(n 1)/2 productos
n divisiones

por consiguiente TA = n
2
operaciones elementales.
1 ,...... 2 n , 1 n i
u
x . u b
x
u / b x
ii
j
n
1 i j
ij i
i
nn n n
=
|
|
.
|

\
|

=
=

+ =

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.11
1.2.2.3. Matriz Triangular Inferior

l
11
0 ... ... 0
l
21
l
22
... ... 0
A=L= ... ... ... ...
... ... ... l
n-1,n-1
0
l
n1
... ... l
n, n-1
l
n,n


Se aplica un algoritmo similar al anterior que se denomina de sustitucin hacia adelante:

La existencia de solucin, el determinante y el nmero de operaciones se evalan
exactamente como en el caso anterior.


1.2.3 Mtodos de eliminacin

1.2.3.1. Mtodo de Gauss

En el mtodo de eliminacin de Gauss el problema original, Ax = b, se transforma
mediante permutaciones adecuadas y combinaciones lineales de cada una de las
ecuaciones en un sistema de la forma Ux = c donde U es una matriz triangular superior.
Este nuevo sistema equivalente al original es de resolucin inmediata, slo es necesario
aplicar el algoritmo de sustitucin hacia atrs presentado anteriormente
.
Durante la transformacin del sistema original al equivalente con matriz triangular, las
operaciones (que slo dependen de la matriz A) se realizan sobre la matriz y al mismo
tiempo sobre el trmino independiente. Esto constituye una de las grandes ventajas y a la
vez inconvenientes de los mtodos de eliminacin.
Si se dispone de una serie de trminos independientes, b
j
j = 1, - - -, m, conocidos de
antemano, se efectan sobre todos ellos, y al mismo tiempo, las operaciones necesarias
para reducir el sistema y obtener una serie de vectores c
j
j=1, . . . ,m. Por consiguiente,
n ,......... 2 i
l
x . l b
x
u / b x
ii
j
1 i
1 j
ij i
i
11 1 1
=
|
|
.
|

\
|

=
=

=

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.12
se calculan todos los trminos independientes a la vez. Posteriormente se resuelve un
sistema con matriz triangular U para cada uno de los c
j
.
Si, por el contrario, no se conocen todos los trminos independientes al iniciar los
clculos, es necesario recordar todas las transformaciones necesarias para obtener c
1

partiendo de b
1
; seguidamente se repiten todas estas operaciones sobre los dems
trminos independientes hasta obtener todos los c
j
deseados. Hoy en da, en la mayora
de los problemas con matrices de tamao pequeo o medio, esta propiedad de los
mtodos de eliminacin es la determinante para su eleccin frente a los mtodos de
descomposicin.
Otro punto importante que conviene valorar en el mtodo de Gauss es su importante valor
pedaggico. Muchos autores denominan de manera genrica mtodos gaussianos al
conjunto de mtodos de eliminacin y descomposicin, puesto que la mayora derivan del
trabajo original de Gauss escrito en 1823 (que como otros mtodos fundamentales del
clculo numrico fue desarrollado mucho antes de la aparicin del primer ordenador). Su
implementacin en un ordenador sigue siendo la ms simple, y con pocas modificaciones,
como ya se ver, se obtiene el mtodo ms general que existe para la resolucin de
sistemas lineales de ecuaciones.
El algoritmo que se presenta a continuacin parte de la ecuacin Ax=b que se escribir
como:
a
11
(0)
a
12
(0)
a
13
(0)
.... a
1n
(0)
x
1
b
1
(0)

a
21
(0)
a
22
(0)
a
23
(0)
.... a
2n
(0)
x
2
b
2
(0)

a
31
(0)
a
32
(0)
a
33
(0)
.... a
3n
(0)
x
3
= b
3
(0)


a
n1
(0)
a
n2
(0)
a
n3
(0)
.... a
nn
(0)
x
n
b
n
(0)


donde el superndice (0) indica coeficiente de la matriz o del trmino independiente
originales. Si a
11
(0)
= 0, se sustrae de todas la ecuaciones, a partir de la segunda fila, la
primera ecuacin multiplicada por mi1=a
i1
(0)
/a
11
(0)
con i = 2,. .., n. Esto induce el primer
sistema equivalente derivado del original donde la primera columna tiene todos los
coeficientes nulos exceptuando el primer coeficiente, y el resto de los coeficientes de la
matriz y del trmino independiente se han visto modificados a partir de la segunda fila:

a
11
(0)
a
12
(0)
a
13
(0)
.... a
1n
(0)
x
1
b
1
(0)

0 a
22
(1)
a
23
(1)
.... a
2n
(1)
x
2
b
2
(1)

0 a
32
(1)
a
33
(1)
.... a
3n
(1)
x
3
= b
3
(1)

0
0 a
n2
(1)
a
n3
(1)
.... a
nn
(1)
x
n
b
n
(1)


CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.13
con

Ahora, si a
22
(1)
(que ya no coincide con el coeficiente que originalmente se encontraba en
su posicin, a
22
(0)
) es distinto de cero, se sustrae de todas la ecuaciones siguientes la
segunda ecuacin multiplicada por m
i2
= a
i2
(1)
/a
22
(1)
con i = 3,....,n. Despus de realizadas
estas operaciones sobre el sistema anterior se obtiene el segundo sistema equivalente al
original :

a
11
(0)
a
12
(0)
a
13
(0)
a
1n
(0)
x
1
b
1
(0)

0 a
22
(1)
a
23
(1)
a
2n
(1)
x
2
b
2
(1)

0 0 a
33
(2)
a
3n
(2)
x
3
= b
3
(2)

0
0 0 a
n3
(2)
a
nn
(2)
x
n
b
n
(2)



donde la segunda columna a partir de la tercera fila slo contiene trminos nulos y los
nuevos coeficientes de la matriz y trmino independiente se obtienen con las siguientes
ecuaciones:


Cada paso conduce a un nuevo sistema equivalente al original con la particularidad de
que la k-sima matriz es triangular superior si slo se miran las primeras k ecuaciones y k
incgnitas.

) 0 (
1
) 0 (
1 , 1
) 0 (
1 , i ) 0 (
i
) 0 (
1 1 , i
) 0 (
i
) 1 (
i
) 0 (
j , 1
) 0 (
1 , 1
) 0 (
1 , i ) 0 (
j , i
) 0 (
j , 1 1 , i
) 0 (
j , i
) 1 (
j , i
b
a
a
b b . m b b
n ...... 2 j
n ,..... 2 i
a
a
a
a a . m a a
= =

=
=
= =
) 1 (
2
) 1 (
2 , 2
) 1 (
2 , i ) 1 (
i
) 1 (
2 2 , i
) 1 (
i
) 2 (
i
) 1 (
j , 2
) 1 (
2 , 2
) 1 (
2 , i ) 1 (
j , i
) 1 (
j , 2 2 , i
) 1 (
j , i
) 2 (
j , i
b
a
a
b b . m b b
n ...... 3 j
n ,..... 3 i
a
a
a
a a . m a a
= =

=
=
= =
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.14

En general, se escribe como :

a
11
(0)
a
12
(0)
a
1,K
(0)
a
1,K+1
(0)
a
1n
(0)
x
1
b
1
(0)

0 a
22
(1)
a
2,K
(1)
a
2,K+1
(1)
a
2n
(1)
x
2
b
2
(1)


0 0 a
K,K
(K-1)
a
K,K+1
(K-1)
a
Kn
(K-1)
x
K
b
K
(K-1)

0 0 0 a
K+1,K+1
(K)
a
K+1,n
(K)
x
K+1
= b
K+1
(K)


0 0 0 a
n,K+1
(K)
a
n,n
(K)
x
n
b
n
(K)


que se ha obtenido a partir de las siguientes ecuaciones


Obsrvese que al pasar del (k-1)-simo al k-simo sistema es necesario realizar las
siguientes operaciones:

(n - k)(n - k + 1) sumas
(n - k)(n - k + 1) productos
n - k divisiones

Finalmente, al deducir el (n - 1)-simo sistema se obtiene una matriz triangular superior:

a
11
(0)
a
12
(0)
a
1n
(0)
x
1
b
1
(0)

0 a
22
(1)
a
2n
(1)
x
2
b
2
(1)


0 0 a
n-1,n-1
(n-2)
a
n-1,n
(n-2)
x
n-1
b
n-1
(n-2)

0 0 a
n,n
(n-1)
x
n
b
n
(n-1)


A cada uno de los trminos que aparecen en la diagonal de la matriz anterior se le
denomina pivote. Conviene resaltar que los pivotes no coinciden con los trminos
) 1 k (
k
) 1 k (
k , k
) 1 k (
k , i ) 1 k (
i
) 1 k (
k k , i
) 1 k (
i
) k (
i
) 1 k (
j , k
) 1 k (
k , k
) 1 k (
k , i ) 1 k (
j , i
) 1 k (
j , k k , i
) 1 k (
j , i
) k (
j , i
b
a
a
b b . m b b
n ...... 1 k j
n ,..... 1 k i
a
a
a
a a . m a a


= =

+ =
+ =
= =
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.15
originales de la diagonal de A ; es decir, a
K,K
(K-1)
= a
K,K
(0)
para k=1,......,n.
Para desarrollar todos los pasos necesarios para obtener el sistema anterior, es necesario
suponer que todos los pivotes son no nulos. Es decir, a
i,i
(i-1)
= 0, i = 1,...,n.
A continuacin se presenta el algoritmo que permite obtener la matriz y el trmino
independiente del sistema anterior.

donde los trminos de superndice (0) son iguales a los originales del sistema de
ecuaciones. El sistema triangular obtenido es de resolucin inmediata (Vase el apartado
1.2..2.2). El nmero de operaciones necesarias para realizar esta primera fase de
eliminacin ha sido de :

Si se tienen en cuenta las operaciones correspondientes a la segunda fase de sustitucin
hacia atrs, el nmero total de operaciones elementales necesarias para el mtodo de
Gauss es:

La tabla siguiente muestra el nmero de operaciones elementales para distintos tamaos
del sistema de ecuaciones. Obviamente, se ha obtenido una importante reduccin al
disponer ahora de un mtodo que crece con n
3
en vez de (n! n
2
) correspondiente al
mtodo de Cramer.

) 1 k (
k
) 1 k (
k , k
) 1 k (
k , i ) 1 k (
i
) 1 k (
k k , i
) 1 k (
i
) k (
i
) 1 k (
j , k
) 1 k (
k , k
) 1 k (
k , i ) 1 k (
j , i
) 1 k (
j , k k , i
) 1 k (
j , i
) k (
j , i
b
a
a
b b . m b b
n ...... 1 k j
n ,..... 1 k i
1 n ,....., 1 k
a
a
a
a a . m a a


= =

+ =
+ =
=
= =

= +

= +
1 n
1 k
1 n
1 k
2
1 n
1 k
2
divisiones
2
) 1 n ( n
) k n (
productos
3
) 1 n ( n
) 1 k n )( k n (
sumas
3
) 1 n ( n
) 1 k n )( k n (



6
n 7 n 9 n 4
T
2 3
G
+
=
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.16
Operaciones elementales del mtodo de Gauss sin pivotamiento

n T
G

5 115
10 805
100 681 550
1000 6.68 x 10
8



1.2.3.2. Tcnicas de Pivoteo
Como ya se ha comentado, se ha supuesto a lo largo de todo este anlisis que los pivotes
eran distintos de cero. Si durante el proceso de eliminacin se obtiene un pivote nulo, por
ejemplo el a
k,k
(k-1)
, se debe buscar en la parte inferior de la columna k-sima un
coeficiente no nulo, es decir de entre los a
i,k
(k-1)
i=k+1,..., n se toma uno que sea distinto
de cero. Se sustituye entonces la fila k (y su trmino independiente) por la fila i (y su
trmino independiente) que se haya escogido. Si dicho coeficiente no nulo no existiera, la
matriz sera singular.
Esta permutacin de filas no slo tiene inters cuando el pivote es exactamente cero. Es
obvio que valores pequeos del pivote pueden producir grandes errores de redondeo, ya
que siempre se divide por el valor del pivote.
Por consiguiente, para reducir los errores de redondeo conviene escoger el pivote mximo
en valor absoluto. Para ello, hay dos tcnicas posibles:
1. En el k-simo sistema se toma como pivote el coeficiente mayor en valor absoluto de
la columna k situado por debajo de la fila k inclusive. Para ello es necesario permutar
las filas k y la correspondiente al pivote escogido en la matriz y su trmino
independiente. Esta tcnica se denomina mtodo de Gauss con pivotamiento parcial
2. En el k-simo sistema, se toma como pivote el coeficiente mayor en valor absoluto de
la submatriz de orden n -k definida por los coeficientes que quedan por debajo de la
fila k y a la derecha de la columna k. Para ello, se permuta la fila k (y el trmino
independiente asociado) y la columna k con las correspondientes al coeficiente que
cumple la condicin citada. Al final del proceso deben ponerse en el orden inicial las
componentes del vector solucin, puesto que su posicin ha sido modificada al realizar
las permutaciones de columnas. Esta tcnica es el mtodo de Gauss con pivotamiento
total.

Estas dos ltimas estrategias producen mtodos numricamente estables. El mtodo de
Gauss sin pivotamiento no es necesariamente estable. El estudio detallado de la
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.17
estabilidad y propagacin de errores de redondeo del mtodo de Gauss no es trivial.

Observacin: Si la matriz A es simtrica, las matrices llenas de orden n - k sobre las que
se aplica sucesivamente el algoritmo slo permanecen simtricas si no se realiza ninguna
permutacin de filas o columnas. La misma observacin es vlida si la matriz A tiene una
estructura que permite el almacenamiento en banda o en perfil.

1.2.3.3. Formalizacin del algoritmo de Gauss para su programacin en un computador.
En lo que sigue se utilizar como herramienta para el desarrollo bsico de los algoritmos
su escritura en un metalenguaje que permita poner en evidencia las estructuras que
componen el programa y la organizacin de sus secuencias. Tal metodologa es una de
las tantas que pueden utilizarse (diagramas de llaves, diagramas de flujo.. etc) y como tal
debe servir para facilitar la construccin de un programa armnico, con una estructura
sencilla de interpretar y revisar, en el lenguaje que se elija o se disponga.

El algoritmo de Gauss es de muy sencilla implementacin a partir de las expresiones
detalladas en el punto 1.2.3.1. Como puede verificarse rpidamente, el siguiente
desarrollo se ajusta a las expresiones indicadas all y posee la suficiente generalidad
como para su escritura final en un lenguaje de programacin cualquiera.

Repetir k=1,... n-1
Repetir i=k+1,... n
m = a
ik
/a
kk

Repetir j=k+1,..., n
a
ij
= a
ij
m. a
kj
Fin j
b
i
= b
i
m.b
k

Fin i
Fin k

x
n
= b
n
/a
nn

Repetir i=n-1,.... 1
s=0
Repetir j=i+1,... n
s = s + a
ij
.x
j

Fin j
x
i
= (b
i
-s)/a
ii

Fin i
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.18
Podr reconocerse en su seguimiento, una primer parte a partir de la cual se obtiene la
triangulacin de la matriz coeficientes y una segunda en la cual se realiza la sustitucin
hacia atrs.

1.2.3.4. Matrices Simtricas. Adaptacin del Mtodo de Gauss.
Ejemplo 1.2. : Resolver el siguiente sistema de ecuaciones por eliminacin de Gauss.
(como se advertir, aij = aji)

+2 -2 +1 +1 0 X1 +1
-2 +4 -4 +1 +1 X2 +2
+1 -4 +6 -4 1 X3 +2
+1 +1 -4 +4 -2 X4 = +2
0 +1 +1 -2 +2 X5 +1

Siguiendo el desarrollo clsico del procedimiento de Gauss, resulta:

Paso 1
m21 = -2/2 = -1 m31 = +1/2 m41 = +1/2
a21=-2 (-1).2 =0 a31=+1 0.5*2 =0 a41=+1 0.5*2 =0
a22 = +4 (-1).(-2)= +2 a32 = -4 0.5.(-2)= -3 a42 = +1 0.5.(-2)= +2
a23 = -4 (-1).(+1)= -3 a33 = +6 0.5.(+1)= +5.5 a43 = -4 0.5.(+1)= -4.5
a24 = +1 (-1).(+1)= +2 a34 = -4 0.5.(+1)= -4.5 a44 = +4 0.5.(+1)= +3.5
a25 = +1 (-1).(0)= +1 a35 = +1 0.5.(0)= +1 a45 = -2 0.5.(0)= -2
b2 = +2 (-1).(+1) = +3 b3 = +2 0.5.(+1) = +1.5 b4 = +2 0.5.(+1) = +1.5

+2 -2 +1 +1 0 +1
0 +2 -3 +2 +1 +3
0 -3 +5.5 -4.5 +1 +1.5
0 +2 -4.5 +3.5 -2 +1.5
0 +1 +1 -2 +2 +1

- Notar que la submatriz punteada en rojo sigue siendo simtrica por lo cual, los
coeficientes sombreados en amarillo en la tabla de procedimiento podran no haberse
calculado, y asumido directamente los trminos simtricos determinados con
anterioridad. Este punto constituye la diferencia fundamental que permite optimizar (y
de hecho, reducir) las operaciones necesarias para llegar a triangularizar la matriz de
coeficientes.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.19

Paso 2
m32 = -3/2 = -1.5 m42 = +2/2 = +1 m52 = +1/2
a32=-3 (-1.5).2 =0 a42= +2 1.2 =0 a52= +1 0.5.2 =0
a33= +5.5 (-1.5).(-3) = +1 a43= a34 = -1.5 a53= a35 = +2.5
a34 = -4.5 (-1.5).(+2)= -1.5 a44 =+3.5 1.(+2)= +1.5 a54 = a45 = -3
a35 = +1 (-1.5).(+1)= +2.5 a45 = -2 1.(+1)= -3 a55 = +2 0.5.(+1)= +1.5
b3 = +1.5 (-1.5).(+3) = +6 b4 = +1.5 1.(+3) = -1.5 b5 = +1 0.5.(+3) = -0.5

+2 -2 +1 +1 0 +1
0 +2 -3 +2 +1 +3
0 0 +1 -1.5 +2.5 +6
0 0 -1.5 +1.5 -3 -1.5
0 0 +2.5 -3 +1.5 -0.5

Paso 3
m43 = -1.5/1 = -1.5 m53 = +2.5/1 = +2.5
a43=-1.5 (-1.5).(1) =0 a53=+2.5 (2.5).(1) =0
a44= +1.5 (-1.5).(-1.5) = -0.75 a54= a45 = +0.75
a45 = -3 (-1.5).(+2.5)= +0.75 a55 = +1.5 (2.5).(+2.5)= -4.75
b4 = -1.5 (-1.5).(+6) = +7.5 b5 = -0.5 (2.5).(+6) = -15.5

+2 -2 +1 +1 0 +1
0 +2 -3 +2 +1 +3
0 0 +1 -1.5 +2.5 +6
0 0 0 -0.75 +0.75 +7.5
0 0 0 +0.75 -4.75 -15.5

Paso 4
m54 = 0.75/(-0.75) = -1
a54=+0.75 (-1).(-0.75) =0
a55= -4.75 (-1).(+0.75) = -4
b5 = -15.5 (-1).(7.5) = -8

+2 -2 +1 +1 0 +1
0 +2 -3 +2 +1 +3
0 0 +1 -1.5 +2.5 +6
0 0 0 -0.75 +0.75 +7.5
0 0 0 0 -4 -8
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.20
Paso 5: Sustitucin hacia atrs.
x5 = b5/a55 = +2
x4 = (+7.5 (0.75*2))/(-0.75) = -8
x3 = (+6 ( -1.5*(-8) + 2.5*2))/(+1) = -11
x2 = (+3 (-3*(-11) +2*(-8) +1*2))/2 = -8
x1 = (+1 (-2*(-8) +1*(-11) +1*(-8)+0*2))/2 = +2

De lo observado en los puntos anteriores puede concluirse en que es posible prescindir
de operar sobre aquellos trminos ubicados por debajo de la diagonal principal porque:
- o bien son coeficientes que se hacen cero (los pivotes sucesivos)
- o bien el resultado a obtener ya se ha calculado previamente y se encuentra
almacenado en el coeficiente simtrico por sobre la diagonal.
Las conclusiones obtenidas del ejemplo anterior pueden generalizarse mediante el
siguiente algoritmo para matrices simtricas:

Repetir k=1,... n-1
Repetir i=k+1,... n
m = a
ki
/a
kk

Repetir j=i,... n
a
ij
= a
ij
m. a
kj
Fin j
b
i
= b
i
m.b
k

Fin i
Fin k

x
n
= b
n
/a
nn

Repetir i=n-1,.... 1
s=0
Repetir j=i+1,... n
s = s + a
ij
.x
j

Fin j
x
i
= (b
i
-s)/a
ii

Fin i

En donde se han destacado en color rojo las secuencias modificadas respecto del
algoritmo de Gauss estndar. Se hace notar que en ningn momento se opera sobre
coeficientes ubicados por debajo de la diagonal, situacin que hace plantear si es
realmente necesario almacenar inicialmente esos coeficientes.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.21
Cantidad de Operaciones necesarias

Como se indic anteriormente, para pasar del (k-1)esimo al K-esimo sistema es preciso
realizar:
(n - k)(n - k + 1) sumas
(n - k)(n - k + 1) productos
n - k divisiones
sin embargo, para este caso particular, puede advertirse que, en funcin de las
condiciones de simetra al operar sobre cada una de las n-k ltimas ecuaciones,
solamente en la primera (la k+1), se realizan (n-k+1) operaciones, en el resto , se contina
con la siguiente secuencia:

fila n sumas (productos)
k+1 (n-k+1)
k+2 (n-k+1) 1
k+3 (n-k+1)-2
k+4 (n-k+1)-3

n (n-k+1) (n-k-1)

lo cual, implica que al pasar del (k-1) esimo sistema al K-esimo , al utilizar las propiedades
de simetra de la matriz transformada se realizan:

0+1+2+.......+ (n-k-1) = (n-k)(n-k-1)/2

sumas y productos menos que aquellos que se generaran de no considerar tal
propiedad, es decir que el nmero de operaciones resultantes para este paso sera de:

(n-k).(n-k+1) - (n-k)(n-k-1)/2 sumas y productos
Si ahora se considera que k= 1,....,(n-1). la cantidad de operaciones realizadas en este
caso, resultara:

=
+

1
1
1
1
1
1

2
) 1 (
) (
) 3
2
) (
) 3 (
2
) (
n
k
n
k
n
k
divisiones
n n
k n
productos k n
k n
sumas k n
k n
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.22
En la figura siguiente se expone una comparacin entre el nmero de operaciones a
realizar al utilizar el mtodo de Gauss estndar y aquel resultante de considerar las
propiedades de simetra de la matriz. Como resulta del mismo, ya para sistemas de
reducido nmero de ecuaciones (n>100), la cantidad de operaciones resultantes al
considerar la simetra de la matriz de coeficientes es aproximadamente al mitad de
aquella que resultara de utilizar el mtodo de Gauss estndar.





1.2.3.5. Matrices simtricas y bandeadas. Adaptacin del mtodo de Gauss.

Un caso de inters particular son las matrices denominadas bandeadas. Como se ver
ms adelante, tales matrices son muy comunes en problemas de ingeniera en los cuales
se realiza el planteo numrico de las ecuaciones diferenciales de gobierno de un
problema fsico determinado.
Tales matrices se caracterizan por tener un nmero muy importante de elementos nulos
en relacin al nmero total de coeficientes de la matriz (n
2
) y porque adems, esos
elementos no nulos se ubican a lo ancho de una banda paralela a la diagonal de la
matriz.
Se denomina precisamente ancho de banda al nmero de columnas distribuidas en
forma simtrica a la diagonal, por fuera de la cual, los coeficientes de la matriz son nulos.
Comparacin Gauss vs Gauss Simetrico
0
10
20
30
40
50
60
0 20 40 60 80 100 120 140 160 180 200
n de ecuaciones
%

R
e
d
u
c
c
i

n

d
e

o
p
e
r
a
c
i
o
n
e
s
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.23
Ejemplo: Matriz banda de 8 x 8. Ancho de banda=5
a11 a12 a13 0 0 0 0 0
a21 a22 a23 a24 0 0 0 0
a31 a32 a33 a34 a35 0 0 0
0 a42 a43 a44 a45 a46 0 0
0 0 a53 a54 a55 a56 a57 0
0 0 0 a64 a65 a66 a67 a68
0 0 0 0 a75 a76 a77 a78
0 0 0 0 0 a86 a87 a88
donde, generalmente, a
ij
= a
ji

Si bien sistemas de ecuaciones con matrices de coeficientes de este tipo, denominadas
habitualmente esparzas o vacas, resultan a menudo resueltos mediante tcnicas
iterativas, resulta de inters encarar su solucin directa mediante una adaptacin del
algoritmo enunciado para matrices simtricas, en el punto 1.2.3.4.
Esa adecuacin surge de advertir que, para cada columna, los elementos ubicados por
debajo de la banda ya son nulos, por lo cual, las operaciones de eliminacin pueden
limitarse al ancho de banda. Esto es, para obtener la matriz triangular superior:

Repetir k=1,... n-1
si k+b>n
fin =n
sino
fin =k+b
Fin_si

Repetir i=k+1,... fin
m = a
ki
/a
kk

Repetir j=i,... fin
a
ij
= a
ij
m. a
kj
Fin j
b
i
= b
i
m.b
k

Fin i
Fin k

en donde b es el semiancho de banda. En el algoritmo anterior se agreg una estructura
alternativa a fin de determinar correctamente la finalizacin de cada uno de los lazos
repetitivos.

Debe notarse que, de la forma en que se ha organizado el procedimiento, la matriz
triangular superior obtenida mantiene los elementos no nulos dentro de la banda por lo
cual, la rutina de sustitucin hacia atrs puede re-escribirse como:

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.24
x
n
= b
n
/a
nn

Repetir i=n-1,.... 1

si i+b>n

fin =n

Sino

fin =i+b

Fin_si
s=0
Repetir j=i+1,... fin
s = s + a
ij
.x
j

Fin j
x
i
= (b
i
-s)/a
ii

Fin i

Numero de operaciones

El nmero de operaciones necesarias para la solucin de un sistema determinado
depender, adems del orden de la matriz, de la magnitud del ancho de banda. En el
grfico siguiente se muestra la relacin existente entre el ancho de banda, expresado
como porcentaje del orden de la matriz y la relacin entre el nmero de operaciones
contempladas en el algoritmo anterior y el procedimiento de Gauss estndar.

En la misma se representaron las
relaciones mencionadas para distintos
valores del orden del sistema de
ecuaciones, observndose que, cuando
n>200, la eficiencia del algoritmo se
hace aproximadamente constante para
una cierta relacin entre el ancho de
banda y el orden de la matriz (b/n).
Es importante notar que en sistemas
provenientes de la solucin numrica
de ecuaciones diferenciales en
problemas de ingeniera, es frecuente
encontrar relaciones b/n del orden del
10 a 20 %, rango en donde la
eficiencia del algoritmo GBS permite realizar entre 20 y 50 veces menos operaciones que
Gauss estndar.
Gauss Banda Simtrico vs Gauss Estndar
0
2
4
6
8
10
12
14
16
18
0 5 10 15 20 25 30 35 40
b/n [%]
N


O
p
.

G
S
B
/
G
E

[
%
]
n=1000 n=100 n=200
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.25
1.2.3.6. Mtodo de Gauss-Jordan
A continuacin se presenta una variante del mtodo de Gauss que conviene considerar.
En este procedimiento, adems de sustraer la fila k multiplicada por m
ik
= a
ik
(k-1)
/a
kk
(k-1)
a
las filas posteriores, tambin se sustrae a las anteriores. Es prctica comn tambin en
este caso dividir la fila k por el trmino diagonal a fin de que este quede unitario.
El procedimiento general se ilustra con el siguiente ejemplo:

1 -1 1 X1 -4
5 -4 3 X2 = -12
2 1 1 X3 11

Paso 1
m21= a21/a11 =5 m31 = a31/a11 = +2
a21 = 5- 5.1 = 0 a31 = 2- 2.(1) = 0
a22 = -4 5.(-1) = +1 a32 = 1 2.(-1) = +3
a23 = 3 5.1 = -2 a33 = 1 2 (1) = -1
b2= -12 5..(-4) = 8 b3= 11 2..(-4) = 19

1 -1 1 X1 -4
0 1 -2 X2 = 8
0 3 -1 X3 19

Paso 2
m12= a12/a22 =-1 m32 = a32/a22 = +3
a11 = 1- (-1).0 = 1
a12 = -1- (-1).1 = 0 a32 = 3 3.(1) = 0
a13 = 1 (-1).(-2) = -1 a33 = -1 3 (-2) = 5
b1= -4 (-1).(8) = 4 b3= 19 3..(8) = -5

1 0 -1 X1 4
0 1 -2 X2 = 8
0 0 5 X3 -5
Paso 3:
Dividir la 3era ecuacin por a33

1 0 -1 X1 4
0 1 -2 X2 = 8
0 0 1 X3 -1
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.26

m13= a13/a33 =-1 m23 = a23/a33 = -2
a11 = 1- (-1).0 = 1
a12 = -0- (-1).0 = 0 a23 = -2 (-2).(1) = 0
a13 = -1 (-1).(1) = 0
b1= 4 (-1).(-1) = 3 b2= 8 (-2).(-1) = 6

1 0 0 X1 3
0 1 0 X2 = 6
0 0 1 X3 -1


Algoritmo de Gauss-Jordan

Repetir k=1,... n
PIV = a
kk

Repetir j=k,... n
a
k,j
= a
kj
/ PIV
Fin j
b
k
= b
k
/PIV
Repetir i=1,... n
Si i=k
m = a
ik

Repetir j=k+1,..., n
a
ij
= a
ij
m. a
kj
Fin j
b
i
= b
i
m.b
k

Fin Si
Fin i
Fin k

El nmero de operaciones de este procedimiento es T
GJ
= n
3
+ 1/2 n
2
5/2 n +1, lo cual
significa un 50 % ms de operaciones que el mtodo de Gauss estndar cuando n
(n>25).

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.27
1.2.3.7. Tcnicas de Pivoteo

Supongamos el siguiente sistema de ecuaciones en donde cada nmero se representa en
base decimal, con coma flotante y cuatro dgitos para la mantisa, el cual se resolver en
base al mtodo de eliminacin estndar de Gauss:

0.10 3.01 -4.88 X1 -7.70
4.63 -1.06 -2.27 X2 = -6.36
-3.39 9.81 -4.78 X3 3.95
Paso 1
m21= a21/a11 =46.3 m31 = a31/a11 = -33.9
a21 = 4.63- 46.3x0.1 = 0 a31 = -3.39-(-33.9x0.1) = 0
a22=-1.06-3.01x46.3 = -1.06-139.4=-140.5 a32 = 9.81-(-33.9x3.01) = 111.8
a23 =-2.27-(-4.88x46.3)=-2.27+225.9=223.6 a33 = -4.78-(-33.9x(-4.88)) = -170.2
b2= -6.36-(-7.7x46.3)=-6.36+356.5=350.1 b3= 3.95-(-33.9x(-7.7)) = -257.1

0.10 3.01 -4.88 X1 -7.70
0 -140.5 223.6 X2 = +350.1
0 111.8 -170.2 X3 -257.1


Paso 2
m32= a32/a22 = -0.7957
a32 = 111.8-(m32x(-140.5))= 0
a33 = -170.2-(m32x(223.6))= -170.2+177.9=7.7
b3= -257.1-(m32x350.1)=-257.1+278.6=21.5

0.10 3.01 -4.88 X1 -7.70
0 -140.5 223.6 X2 = +350.1
0 0 7.7 X3 +21.5

X3=+2.792 (Er=2%)
X2= +(350.1 223.6x2.792)/(-140.5) =+(350.1 624.3)/(-140.5) = +1.952 (Er=4%)
X1 = (-7.70 3.01x1.952-(-4.88x2.792))/0.10 = (-7.7-5.876+13.62)/0.1 =0.44 (Er=9%)

Los errores indicados resultan excesivos para un sistema de ecuaciones de muy reducido
tamao como el considerado. Debe notarse, que esos errores crecen en la medida que
algn trmino diagonal resulte de un orden de magnitud notoriamente diferente al del
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.28
resto de los coeficientes de la matriz. En efecto, si se rehace el problema anterior pero
considerando a a11 = 0.01, resulta:


0.01 3.01 -4.88 X1 -7.70
4.63 -1.06 -2.27 X2 = -6.36
-3.39 9.81 -4.78 X3 3.95

Paso 1
m21= a21/a11 =463 m31 = a31/a11 = -339
a21 = 4.63- 463x0.01 = 0 a31 = -3.39-(-339x0.01) = 0
a22=-1.06-3.01x463 = -1.06-1394=-1395 a32 = 9.81-(-339x3.01) = 1030
a23 =-2.27-(-4.88x463)=-2.27+2259=2257 a33 = -4.78-(-339x(-4.88)) = -1659
b2= -6.36-(-7.7x463)=-6.36+3565=3559 b3= 3.95-(-339x(-7.7)) = -2606


0.01 3.01 -4.88 X1 -7.70
0 -1395 2257 X2 = 3559
0 1030 -1659 X3 -2606


Paso 2
m32= a32/a22 = -0.7384
a32 = 1030-(m32x(-1395))= 0
a33 = -1659-(m32x(2257))= -1659+1667=8
b3= -2606-(m32x3559)=-2606+2628=22

0.01 3.01 -4.88 X1 -7.70
0 -1395 2257 X2 = 3559
0 0 8 X3 22


X3=+2.75 (Er=1%)
X2= +(3559 2257x2.75)/(-1395) =+(3559 6207)/(-1395) = +1.898 (Er=2%)
X1 = (-7.70 3.01x1.898-(-4.88x2.75))/0.01 = (-7.7-5.713+13.42)/0.01 =0.7 (Er=78%)

Como resultaba de esperar, los errores relativos resultaron elevados, principalmente en el
resultado obtenido para X1.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.29
Por otra parte, como ya se ha comentado, se ha supuesto a lo largo de todo este anlisis
que los pivotes eran distintos de cero. Si durante el proceso de eliminacin se obtiene un
pivote nulo, por ejemplo el a
k,k
(k-1)
se debe buscar en la parte inferior de la columna k-
sima un coeficiente no nulo, es decir de entre los al a
i,k
(k-1)
i=k+1,..., n se toma uno que
sea distinto de cero. Se sustituye entonces la fila k (y su trmino independiente) por la fila
i (y su trmino independiente) que se haya escogido. Si dicho coeficiente no nulo no
existiera, la matriz sera singular.
Esta permutacin de filas no slo tiene inters cuando el pivote es exactamente cero. Es
obvio que valores pequeos del pivote pueden producir grandes errores de redondeo, ya
que siempre se divide por el valor del pivote.
Por consiguiente, para reducir los errores de redondeo conviene escoger el pivote mximo
en valor absoluto. Para ello, hay dos tcnicas posibles:

3. En el k-simo sistema se toma como pivote el coeficiente mayor en valor absoluto de
la columna k situado por debajo de la fila k inclusive. Para ello es necesario permutar
las filas k y la correspondiente al pivote escogido en la matriz y su trmino
independiente. Esta tcnica se denomina mtodo de Gauss con pivotamiento parcial

4. En el k-simo sistema, se toma como pivote el coeficiente mayor en valor absoluto de
la submatriz de orden n -k definida por los coeficientes que quedan por debajo de la
fila k y a la derecha de la columna k. Para ello, se permuta la fila k (y el trmino
independiente asociado) y la columna k con las correspondientes al coeficiente que
cumple la condicin citada. Al final del proceso deben ponerse en el orden inicial las
componentes del vector solucin, puesto que su posicin ha sido modificada al realizar
las permutaciones de columnas. Esta tcnica es el mtodo de Gauss con pivotamiento
total.

Estas dos ltimas estrategias producen mtodos numricamente estables. El mtodo de
Gauss sin pivotamiento no es necesariamente estable. El estudio detallado de la
estabilidad y propagacin de errores de redondeo del mtodo de Gauss no es trivial.
En base a los procedimientos comentados, se propone resolver el primer ejemplo
utilizando una tcnica de pivoteo parcial.

0.10 3.01 -4.88 X1 -7.70
4.63 -1.06 -2.27 X2 = -6.36
-3.39 9.81 -4.78 X3 3.95

Paso 1 (k=1): Se selecciona como pivote al coeficiente de mayor valor absoluto en la
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.30
columna 1, intercambindose las filas correspondientes:

4.63 -1.06 -2.27 X1 -6.36
0.10 3.01 -4.88 X2 = -7.70
-3.39 9.81 -4.78 X3 3.95
Paso2
m21= a21/a11 =0.0216 m31 = a31/a11 = -0.7322
a21 = 0.10 0.0216x4.63 = 0 a31=-3.39 m31x4.63 = 0
a22=3.01-(-1.06x0.0216)=3.01+0.0229=3.033 a32=9.81-(-1.06xm31)= 9.034
a23=-4.88-(-2.27x0.0216)=-4.88+0.04903=-4.831 a33=-4.78-(-2.27xm31)= -6.442
b2= -7.70-(-6.36x0.0216)=-7.70+0.1374=-7.563 b3= 3.95-(-6.36xm31)= -0.707

4.63 -1.06 -2.27 X1 -6.36
0 3.033 -4.831 X2 = -7.563
0 9.034 -6.442 X3 -0.707


Paso 3 : Se selecciona como pivote al coeficiente de mayor valor absoluto en la columna
2 , en el rango a22..an2, intercambindose las filas correspondientes:


4.63 -1.06 -2.27 X1 -6.36
0 9.034 -6.442 X2 = -0.707
0 3.033 -4.831 X3 -7.563

m32= a32/a22 = 0.3357
a32 = 3.033-(0.3357x9.034)=0
a33 = -4.831-(0.3357x(-6.442))= -2.668
b3= -7.563-(0.3357x(-0.707))= -7.326

4.63 -1.06 -2.27 X1 -6.36
0 9.034 -6.442 X2 = -0.707
0 0 -2.668 X3 -7.326

X1 = 0. 4030 , X2 = 1.88 , X3 = 2.746

En todos los casos, los errores obtenidos respecto de la solucin exacta resultan
inferiores al 0.1 %.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.31
1.2.4. Mtodos de Descomposicin LU

Se ha estudiado con anterioridad aquellos procedimientos de eliminacin consistentes en
la aplicacin directa del algoritmo de Gauss.
Estos procedimientos, bastante eficientes en el manejo de problemas en donde el o los
trminos independientes son tratados en forma simultanea con la matriz de coeficientes,
presuponen aunque parezca obvio aclararlo- la existencia o conocimiento de cada uno
de los vectores que conforman esos trminos independientes para los cuales se realiza el
clculo.
Existen algunos problemas en ingeniera, tales como aquellos vinculados a procesos de
evolucin en el tiempo, en los cuales los sucesivos trminos independientes a plantear,
dependen de los encontrados en pasos anteriores, es decir, que su conocimiento no es
simultneo ni se dispone al inicio del proceso.
En razn de ello, si se utilizara la tcnica de Gauss tal como se la desarroll
anteriormente, conducira a un enorme costo computacional, toda vez que habra que
proceder a realizar los mismos pasos de eliminacin sobre la matriz de coeficientes para
cada nuevo vector instantneo de trminos independientes.
En este sentido, no parece muy razonable repetir una y otra vez los mismos clculos
sobre la matriz de coeficientes, siempre sobre los mismos nmeros para obtener la misma
matriz triangular superior, solo con el objeto de realizar los mismos pasos sobre el vector
de trminos independientes. Para ello bastara con recordar las operaciones que se
realizan en el proceso de eliminacin para, de esta forma, repetirlas en cada paso sobre
cada nuevo trmino independiente.
De esta forma, el mayor costo estara en el paso inicial en donde se construye una
especie de tabla de memoria en la cual se asienten las operaciones realizadas, para
despus, en cada paso de solucin repetir las operaciones anotadas en la tabla sobre
cada nuevo trmino independiente.
Este ltimo paso resultar as mucho ms econmico que rehacer todas las cuentas en
forma innecesaria sobre la matriz, ya que se realiza nicamente sobre los trminos del
nuevo vector independiente


1.2.4.1.- Descomposicin LU- Mtodo de Doolittle

El problema a resolver, consiste en encontrar el vector de incgnitas X que satisface la
expresin:
A.x b = 0 (1)
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.32

En la siguiente presentacin se supondr que la matriz A es de 3x3 aunque el desarrollo
es del todo general y puede extenderse a cualquier orden del problema.

Supongamos que la ecuacin (1) se puede expresar como un sistema triangular superior,
esto es:

u
11
u
12
u
13
x
1
d
1

0 u
22
u
23
x
2
= d
2
(3)
0 0 u
33
x
3
d
3


Podr reconocerse fcilmente que la expresin anterior coincide con el estado final de la
etapa de eliminacin seguida en el algoritmo de Gauss, la cual, puede resumirse en:

U.x d = 0 (4)

Ahora bien, supngase por un momento la existencia de una matriz triangular inferior con
coeficientes iguales a 1 sobre su diagonal, esto es:

1 0 0
L= l
21
1 0 (5)
l
31
l
32
1

la cual, supngase tambin, tiene la propiedad que al premultiplicarla por la ecuacin (4)
su resultado es (1), es decir:

L. [U.x d] = A.x b (6)

en la cual, resulta evidente que:

L.U =A (7)
L.d =b (8)

de resultar as, el procedimiento de clculo puede ordenarse en base a la siguiente
estrategia:

a) Fase de descomposicin LU: Consiste en factoriza o descomponer A en el
producto de una matriz triangular inferior, L, por una superior, U.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.33

b) Fase de sustitucin: en la cual se obtiene el vector solucin. Para ello esta fase
se compone de las siguientes dos etapas:
b.1. de la ecuacin (8) se obtiene d por sustitucin hacia adelante.
b.2. de la ecuacin (4) se obtiene x por sustitucin hacia atrs.

Todo lo citado es factible de realizar a partir de la existencia de matrices U y L con las
propiedades sealadas. Una forma de arribar a determinar sus coeficientes es mediante
el mismo procedimiento de eliminacin de Gauss ya conocido.

Esta posibilidad resulta inmediata a partir de la propia forma de la matriz U, que, como se
indicara con anterioridad, puede escribirse a U de la siguiente forma:

a
11
a
12
a
13

U= 0 a
22
a
23
(9)
0 0 a
33

donde los coeficientes sealados con apstrofes y comillas corresponden a los obtenidos
en el primer y segundo paso respectivamente del proceso de eliminacin de Gauss.
Aunque nada de lo dicho lo sugiere, los coeficientes de la Matriz L se obtienen como
subproducto del proceso de generacin de U. En el ejemplo siguiente se pondr este
punto en evidencia aunque la metodologa seguida es de carcter absolutamente general
y puede ampliarse a un sistema de cualquier nmero de ecuaciones.
Supongamos el siguiente sistema de 3 ecuaciones con 3 incgnitas:

a
11
a
12
a
13
x
1
b
1

A.x = b
a
21
a
22
a
23
x
2
= b
2

a
31
a
32
a
33
x
3
b
3


Paso 1
m21= a21/a11 m31 = a31/a11 a
11
a
12
a
13

a21= a21 m21*a11 = 0 a31= a31 m31*a11 = 0 0 a
22
a
23

a22= a22 m21*a12 a32= a32 m31*a12 0 a
32
a
33

a23= a23 m21*a13 a33= a33 m31*a13
Paso 2
m32= a32/a22 a
11
a
12
a
13

a32= a32 m32*a22 = 0 0 a
22
a
23

a33= a33 m32*a23 0 0 a
33

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.34

Evidentemente, para no modificar el sistema de ecuaciones original, las mismas
transformaciones realizadas sobre la matriz de coeficientes debera realizarse sobre el
vector de trminos independientes.
Sin embargo, supongamos que existe la posibilidad de armar una tabla de memoria en
la cual se registren todas las operaciones a realizar sobre los coeficientes del trmino
independiente. De esta forma, no sera necesario ir operando sobre el vector b en forma
simultnea con las transformaciones sobre A, sino que las mismas podran ser ejecutadas
con posterioridad. Un posible formato para confeccionar esa tabla de memoria se
representa a continuacin:


m
21

m
31
m
32


En la misma se almacenan todos los pivote de cada una de las transformaciones de fila
realizadas. Un punto fcilmente verificable es el hecho que, la matriz siguiente formada a
partir de la tabla de memoria,

1 0 0
L= m
21
1 0
m
31
m
32
1

al premultiplicar a la matriz U dada por (9), genera como resultado la matriz A original, es
decir:
L.U =A

que es la base del procedimiento de descomposicin comentado anteriormente.
Una vez obtenidas las matrices indicadas, se procede a resolver los siguientes sistema de
resolucin directa:
- L.d =b mediante sustitucin hacia adelante
- U.x =d por sustitucin hacia atrs

El ejemplo siguiente ilustra el procedimiento completo sobre un sistema de 3x3, aunque la
metodologa es enteramente aplicable a sistemas de cualquier orden:



CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.35
3 -1 -2 x
1
+7
A.x = b
1 7 -3 x
2
= -19
3 -2 10 x
3
+4


a) Fase de Descomposicin

Paso 1
m21= 1/3 = 0.333 m31 = 3/3 = 1 3 -1 -2
a21= 1 0.333*3 = 0 a31= 3 1*3 = 0 0 7.33 -2.33
a22= 7 0.333*(-1) = +7.333 a32= -2 1*(-1)= -1 0 -1 12
a23= -3 0.333*(-2)= -2.333 a33= 10 1*(-2)= 12
Paso 2
m32= -1/7.33 = -0.136 3 -1 -2
a32= -1 +0.136*7.33 = 0 0 7.33 -2.33
a33= 12 + 0.136*(-2.33) 0 0 11.68

1 0 0 3 -1 -2
L= 0.333 1 0 ; U= 0 7.33 -2.33
1 -0.136 1 0 0 11.68

Puede verificarse que L.U =A, excepto pequeas diferencias producto de errores de
redondeo.


b) Fase de Sustitucin

Como se indic, el proceso de sustitucin comprende dos etapas de resolucin inmediata:

a) L.d =b , sustitucin hacia adelante

d
1
= b
1
/L
11
= +7
d
2
= (b
2
-L
21
*d
1
)/L
22
= (-19-0.333*7)/1 = -21.33
d
3
= (b
3
-L
31
*d
1
-L
32
*d
2
)/L
33
= (+4-1*7 +0.136*(-21.33))/1 =-5.90

b) U.x =d , sustitucin hacia atrs

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.36
x
3
= d
3
/U
33
= -0.51
x
2
= (d
2
-U
23
*x
3
)/U
22
= -3.07
x
1
= (d
1
-U
12
*x
2
-U
13
*x3)/U
11
= +0.97


El procedimiento detallado puede especificarse en forma de pseudo-cdigo a fin de
facilitar su implementacin en un computador:

Descomposicin LU
Repetir k=1,... n-1
Repetir i=k+1,... n
a
ik
= a
ik
/a
kk

Repetir j=k+1,..., n
a
ij
= a
ij
a
ik
. a
kj
Fin j
Fin i
Fin k
Sustitucin hacia adelante
d
1
= b
1

Repetir i=2,.... n
s=0
Repetir j=1,... i-1
s = s + a
ij
.d
j

Fin j
d
i
= b
i
-s
Fin i

Sustitucin hacia atrs
x
n
= d
n
/a
nn

Repetir i=n-1,.... 1
s=0
Repetir j=i+1,... n
s = s + a
ij
.x
j

Fin j
x
i
= (d
i
-s)/a
ii

Fin i

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.37
Si el algoritmo detallado se implementa para la matriz A del problema anterior, se observa
que, luego de finalizada la etapa de descomposicin, los coeficientes de la matriz A
resultan:
3 -1 -2
0.333 7.33 -2.33
1 -0.136 11.68

Como se advierte, en el mismo arreglo se almacenaron los coeficientes de la matriz U
(tringulo superior) y de la matriz L (tringulo inferior). En este ltimo caso, el
almacenamiento de la diagonal es un asunto trivial toda vez que todos los coeficientes
ubicados sobre la misma resultan iguales a 1.
Se ha optimizado as el manejo de memoria, limitando el rea de trabajo a aquella
necesaria solamente para el almacenamiento de la matriz de coeficientes (A).

Una segunda optimizacin puede realizarse realmacenando los coeficientes del vector d
en el proceso de sustitucin hacia adelante en el mismo espacio que el vector b, cuyos
coeficientes ya no resulta necesario almacenar en esa etapa del clculo.
Finalmente, un punto de inters reside en la determinacin del nmero de operaciones
realizadas por el algoritmo anteriormente desarrollado. Como puede verificarse, el nmero
total de operaciones a realizar en el proceso de descomposicin y sustitucin es idntico
a aquel realizado en el algoritmo de eliminacin de Gauss. Evidentemente, la gran ventaja
de LU surge en el caso de tener que resolver en forma reiterada el mismo sistema pero
para trminos independientes diferentes. En este caso, cada nuevo sistema requiere
realizar solamente un orden de n
2
operaciones.


1.2.4.2. Mtodo de Crout

En el apartado anterior se desarrollaron las bases del procedimiento propuesto por
Doolittle para la descomposicin de sistemas de ecuaciones lineales Ax=b , a partir de la
factorizacin de la matriz de coeficientes de la forma A = L.U. Bsicamente, el
procedimiento enmarcaba un reordenamiento del algoritmo de Gauss, en donde la matriz
U es calculada a partir de tcnicas de eliminacin estndar y la matriz L se obtena
tambin como subproducto de ese procedimiento.
El procedimiento de Crout parte de un enfoque conceptual diferente, no obstante ello, es
importante adelantar, que tambin puede considerarse como una forma diferente de
plantear el algoritmo de Gauss y por ello resultan las mismas propiedades, entre ellas, el
mismo nmero de operaciones finales.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.38
Como todo mtodo de descomposicin posee una ventaja comparativa importante al
momento de resolver sistemas de trminos independientes mltiples, en donde los
mismos no son conocidos en forma simultnea, como resulta caracterstico de problemas
iterativos o de evolucin en el tiempo.

En el mtodo de Crout la matriz A es factorizada como A=L.U en donde la matriz L es
una matriz triangular inferior y U una matriz triangular superior con diagonal unitaria.
Puede advertirse ya aqu una diferencia con el mtodo de Doolittle, en el cual era la matriz
L quien posea diagonal unitaria.

El mtodo de Crout es un procedimiento del tipo recursivo, esto significa el desarrollo de
un conjunto de pasos sucesivos en donde el trabajo a realizar en cada paso resulta similar
o del mismo tipo pero basado en resultados obtenidos en pasos anteriores. Estas tareas
a realizar en cada paso o estacin consisten en la descomposicin sucesiva de los
menores principales de la matriz de coeficientes A.
Se denomina menor principal de A de orden m, denotado como A
[m],
a una sub-matriz de
A, de dimensin [mxm], y en donde sus coeficientes son los a
i,j
, i=1..m; j=1..m.
Es decir:
De esta forma, puede escribirse:
en donde:
| |
| |
| |
....
3 , 3 2 , 3 1 , 3
3 , 2 2 , 2 1 , 2
3 , 1 2 , 1 1 , 1
3
2 , 2 1 , 2
2 , 1 1 , 1
2
1 , 1 1
etc
a a a
a a a
a a a
A
a a
a a
A
a A
(
(
(

=
(

=
=
| |
| | | |
| |
(
(

=
+ +
+
+
+
1 . 1
1
1
1
k k
T
k
k k
k
a f
c A
A
| | | |
(
(
(
(
(
(

=
(
(
(
(
(
(

=
+
+
+
+
+
+
+
+
k k
k
k
k
k k
k
k
k
a
a
a
f
a
a
a
c
, 1
2 , 1
1 , 1
1
1 ,
1 , 2
1 , 1
1
:
: ;
:
:
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.39

a partir de lo indicado, se establece la descomposicin de A
[k+1]
como:

en donde:

Finalmente, de (1):



(2)



Es importante notar que en las ecuaciones anteriores tanto u
[k+1]
como l
[k+1]
se obtienen
mediante sustitucin hacia adelante ya que tanto L
[k]
como U
[k]
T
son matrices triangulares
inferiores.

Ejemplo (1): Supngase el sistema de ecuaciones planteado como ejemplo en el apartado
donde se present el mtodo de Doolittle. El mismo vena expresado por:

3 -1 -2 x
1
+7
A.x = b
1 7 -3 x
2
= -19
3 -2 10 x
3
+4

Se formularn a continuacin cada uno de los pasos que conllevan a la factorizacin de la
matriz de coeficientes A en el producto L.U utilizando el mtodo de Crout.

| | | | | |
| | | |
| |
| |
| |
| | | |
(1)
1
.
1
1 . 1
1
1 . 1
1
1
1 1 1
(
(

(
(

=
(
(

=
+
+ +
+
+ +
+
+
+ + +
T
0
u
l
0
f
c
k k
k k
T
k
k
k k
T
k
k k
k k k
U
l
L
a
A
U L A
| | | |
(
(
(
(
(
(

=
(
(
(
(
(
(

=
(
(
(
(
(
(

=
+
+
+
+
+
+
+
+
0
:
:
0
0
l
l
l
l
u
u
u
u
k k
k
k
k
k k
k
k
k
0 ;
:
: ;
:
:
, 1
2 , 1
1 , 1
1
1 ,
1 , 2
1 , 1
1
| | | | | |
| |
| | | |
| |
| | 1
1
1 , 1 1 , 1
1 1
1 1
.
.
.
+
+
+ + + +
+ +
+ +
=
=
=
k
T
k
k k k k
k k
k
k k k
a l u l
f l U
c u L
T
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.40
- Paso 1: k=1

L
[1]
= A
[1]
= a
11
= 3
U
[1]
= u
11
= 1




- Paso 2: k=2

| |
| |
| |
| |
| | | |
| |
| | | |
| |
(


=
(
(

=
(

=
(
(

=
7 1
1 2


1 0
;
0
2 , 2
2
2 1
2
2 1
2
2 , 2
2
1
2
a f
c A
A
u U
U
l l
L
L
T
T
| | | | | | | | | |
| |
| | | | | | | |
| |
| |
33 . 7 ) .( 1 7 .
1 1 . 1 .
1 . 3 .
3
1
2
2
2 , 2 2 , 2
2 2 2 2
1
3
1
2 2 2 2 1
+ = = =
= = =
= = =
u l a l
l l f l U
u u c u L
T
T
| | | |

1 0
33 . 0 1
;
33 . 7 1
0 3
2 2 (


=
(

= U L
| | | | | | | | | |
| |
| | | | | | | |
| |
| |
| | 69 . 11
32 . 0
67 . 0
. 1 3 10 .
1
3

2
3
1 33 . 0
0 1
.
32 . 0
67 . 0

3
2
.
33 . 7 1
0 3
.
3
3
3 , 3 3 , 3
3 3 3 3
2
3 3 3 3 2
+ =
(

= =
(

=
(

=
(

=
(

=
(

=
(

=
u l a l
l l f l U
u u c u L
T
T
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.41


Como puede verificarse fcilmente L.U. =A, excepto pequeos errores de redondeo.
1.2.4.2.1. Formalizacin del Algoritmo de descomposicin de Crout

Las expresiones (2) constituyen la forma bsica o el ncleo del algoritmo de Crout.
Asignando sucesivamente valores a k=1,2...n-1 se obtiene la factorizacin de la matriz de
coeficientes A en el producto L.U.
En el esquema siguiente se detalla, en metalenguaje, la estructura del algoritmo de
descomposicin.
Descomposicin LU Crout
l
11
=a
11
, u
11
=1
Repetir k=1,... n-1
u
1,k+1
=a
1,k+1
/ l
11

Repetir i= 2,... k
s = 0
Repetir j=1,..., i-1
s = s + l
ij
. u
j,k+1
Fin j
u
i,k+1
=(a
i,k+1
s) / l
ii

Fin i
l
k+1,1
= a
k+1,1

Repetir i= 2,... k
s = 0
Repetir j=1,..., i-1
s = s + u
ji
. l
k+1,j
Fin j
l
k+1,i
= a
k+1,i
s
Fin i
u
k+1,k+1
= 1
s = 0
| |
| |
| |
| |
| |
| |
| |
| | | |
(
(
(
(



=
(
(

=
(
(
(
(


=
(
(
(
(

=
(
(

=
10 2 3
3
2
7 1
1 3
;
1 0 0
1 0
33 . 0 1
;
0
0
33 . 7 1
0 3

0
3 , 3 3
3 2
3
3
3
3 , 3
3
3 , 3
3
2
3
a f
c A
A
u
U
l l
l l
L
L
T
T
T
| | | |
(
(
(


=
(
(
(

=
1 0 0
32 . 0 1 0
67 . 0 33 . 0 1
;
69 . 11 1 3
0 33 . 7 1
0 0 3
3 3
U U L L
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.42
Repetir j=1,..., k
s = s + l
k+1,j
. u
j,k+1

Fin j
l
k+1,k+1
= a
k+1,k+1
s
Fin k

El esquema anterior reproduce el procedimiento de factorizacin, al mismo es necesario
agregarle los procedimientos de sustitucin hacia atrs y hacia adelante a fin de obtener
la solucin del sistema de ecuaciones. No obstante, su desarrollo es idntico al
especificado para el mtodo de Doolittle por lo cual no se repetir innecesariamente.
En lo detallado anteriormente se ha supuesto que la matriz A es tal que permite su
descomposicin sin pivotamiento; si esto no fuera as alguno de los coeficientes l
k+1,k+1
se
anulara lo cual impedira la descomposicin del siguiente menor puesto que se producira
una divisin por cero. Las tcnicas de pivotamiento tambin pueden emplearse en estos
mtodos y son muy extendidas a pesar de que complican considerablemente el algoritmo
expuesto. Tambin es importante observar que el nmero de operaciones necesarias
para la descomposicin y posterior resolucin de los sistemas triangulares coincide
exactamente con aquellas previstas por el mtodo de Gauss (con las salvedades ya
comentadas en caso de trminos independientes mltiples disponibles en forma no
simultnea). No obstante, en la forma en la cual se desarrolla el procedimiento de Crout
permite que las sumatorias que se incluyen sean resueltas almacenando sus resultados
parciales en variables de doble precisin (s en este caso), reduciendo as los errores de
almacenamiento sin incrementar el volumen de memoria utilizada.


1.2.4.2.2. Optimizacin del algoritmo de Crout

En la secuencia representada en la figura siguiente se esquematiza el conjunto de valores
involucrados en el clculo de un elemento u
i,k+1
y l
k+1,i
.


L
[K]


U
[K]

A
[K]


i u
i,k+1
a
i,k+1

x =
| |
u
[k+1]
c
[k+1]


L U A
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.43

i +

L
[K]


U
[K]

A
[K]



x =
l
[k+1]
f
[k+1]

| l
k+1,i
| a
k+1,i


L U A
Los elementos a calcular, sombreados en color negro, son obtenidos a partir de los
aquellos valores ubicados en las zonas coloreadas en gris.
De ello se deduce que para evaluar un elemento u
i,k+1
de U, nicamente es necesario
conocer el elemento correspondiente a
i,k+1
de A, los elementos de U que se encuentran
encima de l en su propia columna (u
s,k+1
s=1...i-1) y la descomposicin previa del menor
de A de orden k. De esto ltimo surge que no resultan necesarios ninguno de los
coeficientes de A ubicados en la columna k+1 y por encima de a
i,k+1
ni del menor de A de
orden k (solo es necesaria su descomposicin).
En resumen, el elemento a
i,k+1
es necesario para calcular u
i,k+1
pero no para ninguno de
los siguientes elementos de U, por consiguiente, se puede almacenar el valor de u
i,k+1
recientemente calculado en el mismo lugar donde se encontraba almacenado a
i,k+1
, es
decir, los trminos de U pueden almacenarse sobre A, es decir, sobre los casilleros
ubicados por sobre la diagonal de A. Como los trminos diagonales de U son iguales a 1
no es necesario almacenarlos.
Una conclusin similar puede alcanzarse para los elementos que componen la matriz L, la
cual puede almacenarse directamente sobre la diagonal y elementos ubicados por debajo
de ella en la matriz A.

En sntesis, el mtodo de Crout est diseado para reducir las necesidades de memoria
almacenando las dos matrices triangulares en las mismas posiciones de memoria que
ocupaba inicialmente la matriz de coeficientes A.

Ejemplo (2): En base a la optimizacin comentada se rehar el proceso de
descomposicin sobre la matriz de coeficientes del sistema dado en el Ejemplo anterior,
pero utilizando el mismo espacio de almacenamiento de A para guardar los elementos de
las matrices L y U.

3 -1 -2 x
1
+7
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.44
A.x = b 1 7 -3 x
2
= -19
3 -2 10 x
3
+4

- Paso 1: k=1

L
[1]
= A
[1]
= a
11
= 3
U
[1]
= u
11
= 1
| | | | | | | | | |
| |
| | | | | | | |
| |
| |
33 . 7 ) .( 1 7 .
1 1 . 1 .
1 . 3 .
3
1
2
2
2 , 2 2 , 2
2 2 2 2
1
3
1
2 2 2 2 1
+ = = =
= = =
= = =
u l a l
l l f l U
u u c u L
T
T
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.45
Los valores obtenidos para u
[2]
, l
[2]
y l
2,2
pueden almacenarse directamente sobre la matriz
A original, quedando la misma como:

3 -1/3 -2
= 1 7.33 -3
3 -2 10

en donde se ha querido representar como a las componentes del arreglo en donde se
han alojado las componentes de L
[2]
y U
[2]
.


- Paso 2: k=2

(a) Ntese que en el clculo de u
[3]
, todos los coeficientes no nulos necesarios para su
determinacin -tanto de L
[2]
como de c
[3]
- se encuentran disponibles sobre . Los
coeficientes de u
[3]
calculados se almacenan sobre la matriz en similar posicin a la
que ocuparan en la matriz U:

3 -1/3 -0.67
= 1 7.33 -0.32
3 -2 10

(b) Para el clculo de l
[3]
los coeficientes fuera de la diagonal no nulos de U (en este caso
1/3) se encuentra disponible sobre . El coeficiente que interviene en los clculos
corresponde a u
1,2
el cual se encuentra almacenado en
1,2
. Los coeficientes de l
[3]
as
determinados se almacenan sobre en idntica posicin a la que ocuparan en la
matriz L:
3 -1/3 -0.67
= 1 7.33 -0.32
3 -1 10
| | | | | | | | | |
| |
| | | | | | | |
| |
| |
| | (c) 69 . 11
32 . 0
67 . 0
. 1 3 10 .
(b)
1
3

2
3
1 33 . 0
0 1
.
(a)
32 . 0
67 . 0

3
2
.
33 . 7 1
0 3
.
3
3
3 , 3 3 , 3
3 3 3 3
2
3 3 3 3 2
+ =
(

= =
(

=
(

=
(

=
(

=
(

=
(

=
u l a l
l l f l U
u u c u L
T
T
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.46
(c) Finalmente, el clculo de l
3,3
se realiza en base al coeficiente a
3,3
(=10) y los valores de
l
[3]
T
y u
[3]
determinados en los pasos anteriores. Todos estos coeficientes se
encuentran disponibles sobre la matriz . El valor de l3,3 as calculado es almacenado
sobre en la misma posicin en la que se ubicara en la matriz L:

3 -1/3 -0.67
= 1 7.33 -0.32
3 -1 11.69

Como puede observarse, sobre el tringulo inferior de se ubican los coeficientes de la
matriz L, mientras que los elementos ubicados por sobre la diagonal resultan los
correspondientes a la matriz U, excepto los trminos diagonales, los cuales son conocidos
a priori e iguales a la unidad.


1.2.4.3. Mtodo de Cholesky

Se considera aqu un procedimiento de factorizacin desarrollado para aquellos sistemas
de ecuaciones en donde la matriz de coeficientes es simtrica y definida positiva. Este
tipo de matrices resultan muy usuales en la solucin de numerosos problemas de
ingeniera mediante tcnicas numricas como elementos finitos, y de all la necesidad de
incluirlas de modo particular dentro del conjunto de procedimientos de resolucin
considerados en este captulo.

El mtodo de Cholesky utiliza el preconocimiento de las caractersticas mencionadas para
realizas una descomposicin ms eficaz que aquella llevada adelante por el mtodo de
Crout.

En lneas generales, la secuencia paso a paso considerada por Cholesky es similar a la
contemplada por Crout con la significativa diferencia que la matriz A es factorizada como
A=L.L
T
, es decir, ahora solamente los coeficientes de L son incgnitas ya que su
traspuesta hace las veces de matriz U en el proceso de descomposicin.


El menor de orden 1 se obtiene nuevamente de una forma muy simple:

A
[1]
= a
11
= L
[1]
.L
[1]
T
= L
11
2
L
11
= a
11



CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.47
La expresin de recurrencia puede obtenerse suponiendo ya desarrollada la
descomposicin de orden k, A
[k]
= L
[k]
.L
[k]
T
, de la cual puede obtenerse la descomposicin
para el menor de orden k+1:

Ntese que, por ser A una matriz simtrica, los vectores c
[k+1]
y f
[k+1]
definidos en las
ecuaciones (1) coinciden.
De (3) se obtienen las ecuaciones necesarias para la descomposicin del menor principal
A
[k+1]
:


Debe notarse que el clculo de l
[k+1]
indicado en la primera de las ecuaciones anteriores
implica una sustitucin hacia adelante, considerando las caractersticas de matriz
triangular inferior de L.

Ejemplo

Factorizar la matriz de coeficientes del siguiente sistema de ecuaciones:

2 -1 0 x1 5
-1 2 -1 x2 = 0
0 -1 2 x3 0

La matriz A es simtrica y definida positiva.

a) Verificacin del carcter de definida positiva de A.

A
[1]
= 2 |A
[1]
| >0

| | | |
| |
| | | |
| |
| |
| |
| |
| |
(3)
.
1 . 1
1
1 . 1
1
1 . 1
1
1

1
1 1
(
(

(
(

=
(
(

=
+ +
+
+ +
+
+ +
+
+
+
+ +
k k
k
T
k
k k
T
k
k
k k
T
k
k k
T
k
k k
l l a
L L A
T
0
l L
l
0 L
f
f A
| | | | | |
| |
| | 1
1
1 , 1 1 , 1
1 1
.
.
+
+
+ + + +
+ +
=
=
k
T
k
k k k k
k k k
a l l l
f l L
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.48
A
[2]
= 2 -1 |A
[2]
|=3 >0
-1 2

2 -1 0
A
[3]
= -1 2 -1 |A
[3]
|=4 >0
0 -1 2

c) Descomposicin

- k=1



- k=2

| | | |
| | | |
| |
(

+
+
=
(
(

= = = =
2 1
1 2
414 . 1 2
2 , 2
2
2 1
2 11 1
a f
f A
A a L
T
| | | | | |
| |
| |
225 . 1 ) 707 . 0 ( 2 .
707 . 0
414 . 1
1
1 .
2
2
2
2 , 2 2 , 2
2 2 1
= = =
=

= =
l l a l
l l L
T
| | (

=
225 . 1 707 . 0
0 414 . 1
2
L
| |
| | | |
| |
(
(
(
(

+


=
(
(

=
2 1 0
1
0
2 1
1 2

3 , 3
3
3 2
3
a f
f A
A
T
| | | | | | | | | |
| |
| |
| | 155 . 1
816 . 0
0
. 816 . 0 0 2 .
816 . 0
0

1
0
.
225 . 1 707 . 0
0 414 . 1
.
3
3
3 , 3 3 , 3
3 3 3 3 2
=
(

= =
(

=
(

=
(

=
l l a l
l l f l L
T
| |
(
(
(

=
155 . 1 816 . 0 0
0 225 . 1 707 . 0
0 0 414 . 1
3
L
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.49
1.2.4.3.1. Formalizacin del Algoritmo de descomposicin de Cholesky

En el esquema siguiente se detalla, en metalenguaje, la estructura del algoritmo de
descomposicin de Cholesky para matrices simtricas y definidas positivas.

Descomposicin LL
T
Cholesky
l
11
= (a
11
)


Repetir k=1,... n-1
l
k+1,1
=a
k+1,1
/ l
11

Repetir i= 2,... k
s = 0
Repetir j=1,..., i-1
s = s + l
ij
. l
k+1,j
Fin j
l
k+1,i
=(a
k+1,i
s) / l
ii

Fin i
s=0
Repetir i= 1,... k
s = s + (l
k+1, i
)
2

Fin i
l
k+1,k+1
= (a
k+1,k+1
s)


Fin k

Es posible demostrar que el algoritmo detallado puede utilizarse para cualquier matriz
simtrica y definida positiva.


CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.50
1.3. Tcnicas de Almacenamiento de Matrices

En cualquier lenguaje de programacin de ltima generacin, las matrices se almacenan
en arreglos de memoria bidimensionales, en donde cada elemento es almacenado en un
espacio direccionado con el nombre asignado a la matriz y el nmero de fila y columna en
donde se ubica: A(3,2), B(1), etc.

La sintaxis especfica corresponde a la utilizada por cada lenguaje en particular. En el
marco de estas notas se emplear la mencionada anteriormente es decir aquella en la
cual cada elemento se especifica mediante el nombre del arreglo seguido, entre
parntesis, del nmero de fila y columna en donde se encuentra.

Considerando lo natural y sencillo de lo mencionado no parece, a primera vista, necesario
ni til que deba implementarse alguna otra forma o procedimientos para almacenar las
matrices en la memoria de un computador.

Sin embargo imagnese por un instante la necesidad de almacenar una matriz simtrica,
es evidente que solo resultara imprescindible asignar espacios de memoria para la matriz
triangular superior (o inferior, es indistinto). Supngase, por ejemplo, que se trata de una
matriz cuadrada de orden 100; en este caso al asignar un espacio de memoria para la
matriz (paso imprescindible antes de su utilizacin en cualquier lenguaje) se reservar un
arreglo de 100 filas y 100 columnas, del cual solo sern utilizados aquellos
correspondientes a la diagonal y a los elementos ubicados encima o debajo- de ella.

Evidentemente, tal situacin implica un malgasto de memoria que, en caso de matrices de
varios miles de ecuaciones, puede limitar el tamao del problema a resolver al no
disponer el computador de una cantidad de memoria suficiente.
Un caso similar, aunque ms extremo an, es el caso de las matrices bandeadas en
donde los elementos no nulos se limitan a un porcentaje a menudo muy inferior que n
2
(n=
orden de la matriz) razn por la cual resulta sumamente importante desarrollar
metodologas de almacenamiento ms eficientes.

Sobre este punto en particular existe un considerable desarrollo dentro de las tcnicas de
clculo numrico orientados a determinados tipos especiales de matrices, caractersticos
de algunos problemas de la ingeniera. En los puntos siguientes se tratarn algunas de
estas tcnicas las cuales, claro est, son solo un pequeo segmento del numeroso campo
existente sobre este particular.

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.51
1.3.1. Almacenamiento por columnas

Consiste en almacenar en forma consecutiva en un vector de longitud mxn cada una de
las columnas que conforman la matriz cuya dimensin, en general, se ha supuesto de m
filas y n columnas.

De esta forma, los coeficientes de la matriz sern ubicados dentro del vector en base al
siguiente ordenamiento:

C
T
= {c
1
, c
2
, ...c
m
, c
m+1
,c
m+2
.... c
m+m
, c
2m+1
,c
2m+2
...c
3m
, ......, c
(n-1)m+1
, c
(n-1)m+2
... c
n.m
} =

= {a
1,1
, a
2,1
,...a
m,1
, a
1,2
, a
2,2
,...a
m,2
, ......, a
1,n
, a
2,n
,... a
m,n
}

En lneas generales, en el elemento c
K
se almacena el trmino a(i,j), en donde:

k = (j-i) * m + i

la cual, es la ecuacin de transformacin del sistema de posicionamiento global (i, j), al
local, k.

1.3.2. Almacenamiento por filas

Una alternativa al almacenamiento por columnas presentado anteriormente es disponer
los elementos ubicados sobre cada una de las filas de la matriz en forma sucesiva sobre
un arreglo unidimensional o vector, esto es:

f = {f
1
, f
2
, ..... f
n
, f
n+1
, f
n+2
...., f
2n
, f
2n+1
, f
2n+2
...., f
3n
..........f
(m-1)*n+1
, f
(m-1)*n+2
,..... f
m*n
} =
= {a
1,1
, a
1,2
,... a
1,n
, a
2,1
, a
2,2
, ... a
2,n
, a
3,1
, a
3,2
,....,a
3,n
........a
m,1
, a
m,2
,.... a
m,n
}

Una vez almacenada una matriz sobre un vector en base al ordenamiento comentado, es
necesario establecer las relaciones de transformacin que permitan ubicar a un elemento
cualquiera a(i,j) de la matriz dentro del vector f. Es fcil comprobar que esa relacin viene
dada por la expresin:
k = (i-1) * n + j

en la cual i y j corresponden a la fila y columna respectivamente del elemento de la
matriz a ubicar, y k la posicin sobre el vector en donde los mismos se encuentran
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.52
almacenados. De esta forma, en cualquiera de los algoritmos de resolucin de ecuaciones
vistos anteriormente, podr reemplazarse cada operacin sobre a(i,j) por el
correspondiente f(k) en forma enteramente equivalente.

1.3.3. Almacenamiento de matrices simtricas o triangulares.

En una matriz simtrica resulta evidente que solo resulta imprescindible almacenar
aquellos elementos que se ubican en la diagonal y por sobre triangular superior- o por
debajo triangular inferior- de la misma. Una situacin similar presentan las matrices
triangulares (superiores o inferiores) en donde los coeficientes por debajo o por encima de
la diagonal resultan nulos y por lo tanto no resulta necesario almacenarlos en la memoria.
A fin de retener solamente aquellos coeficientes necesarios para el clculo, una
alternativa es disponer en un arreglo unidimensional -vector- cada una de las columnas de
la matriz pero limitando su extensin a los elementos ubicados entre la primer fila y la
diagonal. Se estar almacenando as una matriz triangular superior. En caso de que se
requiera almacenar una matriz triangular inferior o la mitad inferior de una matriz
simtrica- las transformaciones son similares y pueden encararse sin dificultad por lo cual
no sern comentadas aqu en forma explcita.
A modo de ejemplo, puede suponerse el caso de una matriz triangular superior el caso
de una matriz simtrica es enteramente equivalente-:

i + j +
a
11
a
12
a
1i
a
1j
a
1n

0 a
22
a
2i
a
2j
a
2n


i 0 a
ii
a
ij
a
in

A =

j 0 a
jj
a
jn


0 0 0 0 a
nn


Los coeficientes no nulos de la misma se almacenan siguiendo un ordenamiento por
columnas en un vector de acuerdo al siguiente esquema:

C
T
= {a
11
, a
12
, a
22
, a
13
, a
23
, a
33
, ......, a
1n
, a
2n
, .... a
nn
}

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.53
La relacin de vinculacin entre la posicin de cada coeficiente sobre la matriz A y su
correspondiente en el vector C es establecida mediante la siguiente relacin de
transformacin:

en la cual i y j representan la fila y columna respectivamente de un elemento sobre la
matriz A y k la posicin donde ste se encuentra almacenado en el vector C.

Ejemplo : utilizar la tcnica de almacenamiento mencionada anteriormente dentro del
algoritmo de solucin de sistemas de ecuaciones con matrices simtricas de acuerdo al
procedimiento de eliminacin de Gauss detallado en el punto 1.2.3.4.
Los coeficientes de la matriz se encuentran almacenados en un vector C con las
caractersticas ya comentadas. El algoritmo especificado en aquel punto, adaptado a las
condiciones de almacenamiento impuestas por la forma de la matriz, se detalla en el
siguiente esquema.
Gauss Simetrico
Almacenamiento por columnas de la matriz triangular superior.

Definir: f[i,j] = j*(j-1)/2 + i
Repetir k=1,... n-1
Repetir i=k+1,... n
m = C(f[k,i]) / C(f[k,k])
Repetir j=i,... n
C(f[i,j]) = C(f[i,j]) m. C(f[k,j])

Fin j
b
i
= b
i
m.b
k

Fin i
Fin k

x
n
= b
n
/a
nn

Repetir i=n-1,.... 1
s=0
Repetir j=i+1,... n
s = s + C(f[i,j]).x
j

Fin j
x
i
= (b
i
-s)/C(f[i,i])
Fin i
i
j j
k +

=
2
) 1 .(
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.54

en donde se ha hecho uso de una funcin predefinida (cuya sintaxis depender del
lenguaje utilizado) la cual permite obtener la posicin del coeficiente a(i,j) genrico dentro
del vector C donde se encuentra almacenado.

1.3.4. Almacenamiento de matrices bandeadas

Como se comentara en el punto 1.2.3.5., es muy frecuente que las matrices de
coeficientes que forman parte de sistemas de ecuaciones lineales provenientes de la
solucin numrica de ecuaciones diferenciales que gobiernas problemas de ingeniera
posean una forma bandeada. En aquel apartado se especific un algoritmo de
resolucin basado en una adecuacin del mtodo de eliminacin de Gauss para el caso
que la matriz resulte, adems de bandeada, simtrica.
Ese algoritmo simplemente acotaba el espacio dentro del cual se realizaban las
operaciones de eliminacin, limitndolas a los coeficientes ubicados dentro de la banda.
Es inmediato que si esto es as, no es necesario almacenar los coeficientes que se
encuentran fuera de ella, punto este que ser estudiado a continuacin.
A fin de tratar el tema con ms generalidad respecto de lo indicado en el punto 1.2.3.5. se
considerarn matrices bandeadas no necesariamente simtricas y en las cuales la
semibanda por debajo de la diagonal, no necesariamente tiene la misma dimensin que
aquella ubicada por sobre la misma. En resumen, una matriz de esta caractersticas
presentara el siguiente aspecto:

u
a
11
a
12
a
1,u+1

| a
21
a
22

g
+ a
g+1,1

A =
a
n-u,n
|
u
a
n-1,n-1
a
n-1,n
+
a
n,n-g
a
n,n-1
a
nn

g

en la cual:
- g= semiancho inferior a(i,j)=0 si i>j+g
- u= semiancho superior a(i,j)=0 si j>i+u
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.55
Sabiendo que los coeficientes no nulos se ubican dentro de una banda de dimensin
conocida, los coeficientes de la matriz A se almacenaran dentro de una matriz de
dimensin ajustada al ancho de banda, es decir, una matriz rectangular de n filas y g+u+1
columnas cuya organizacin obedece al siguiente esquema:

a
11
a
12
a
1,u+1

a
21
a
22
a
23
a
1,u+2


a
g+1,1
a
g+1,g+1
a
g+1,u+g+1

R =
a
n-u,n


a
n-1,n-1
a
n-1,n

a
n,n-g
a
n,n-1
a
nn

g u

Como se observa en el esquema anterior, la matriz R posee el mismo nmero de filas que
A y un nmero de columnas igual al ancho de banda, esto es 1+u+g. En el caso particular
(y frecuente) que u=g, los elementos diagonales de la matriz de coeficientes se
almacenarn sobre la columna central de R.
Evidentemente, este esquema de almacenamiento presentar ventajas sobre aquel que
maneja directamente la matriz como llena, en el caso que n
2
>>n(1+u+g) situacin que es
frecuente en los sistemas reales que responden a la solucin numrica de ecuaciones
diferenciales de problemas de ingeniera en donde n adquiere dimensiones de miles o
superior, y el ancho de banda total (1+u+g) no supera el 10 o 20% de n.
Establecida la forma en que se realizar el almacenamiento quedan por establecer las
relaciones de transformacin que permitan, dado un elemento genrico a(i,j) de la matriz
de coeficientes del sistema, ubicarlo dentro de la tabla de almacenamiento diseada.
Es sencillo verificar que tales relaciones de transformacin quedan establecidas por las
siguientes expresiones:
o = i
| = 1+g+(j-i)

las cuales permiten obtener el coeficiente R(o,|) en donde se aloja el trmino A(i,j) de la
matriz original.
Una instancia posterior es disponer que la matriz R se almacene por filas o columnas
dentro de un vector, disposicin muy frecuente cuando se trabaja en lenguajes como
Fortran. Para ello, no hay ms que aplicar las reglas de transformacin detalladas al
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.56
analizar estos tipos de almacenamiento en los puntos anteriores. Por ejemplo, si se
adopta la disposicin de almacenar a la matriz R por columnas dentro de un vector V, la
regla de transformacin quedar finalmente como:

k = (|-1).n+o = [g+(j-i)].n +i

la cual permite obtener la posicin k del vector V en donde se aloja el coeficiente A(i,j)
de la matriz original.
Se hace notar que al almacenar la matriz R por columnas, lo que se est realizando en
realidad es un almacenamiento de A por diagonales, ya que cada columna de R se
corresponde con una diagonal de la matriz original A. Esta disposicin es particularmente
til cuando los coeficientes de la matriz original son generados por un programa que
incluye tambin en su desarrollo la solucin del sistema de ecuaciones.

Ejemplo:
Supngase que se desea encontrar la solucin del sistema de ecuaciones A.x =b donde
A es una matriz de orden n, simtrica, en banda y cuyos coeficientes resultan:

2
5 -4 1
| -4 6 -4 1
2 1 -4 6 -4 1
+ 1 -4 6 -4 1
A =
1 -4 6 -4
1 -4 5

la cual, de acuerdo a lo comentado anteriormente, puede almacenarse en una matriz
rectangular con el siguiente formato:

2
5 -4 1
6 -4 1
6 -4 1
R =
6 -4 1
6 -4
5

en la cual se ha prescindido de almacenar la mitad inferior de la matriz de coeficientes a
partir de las caractersticas de simetra de la misma.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.57
La regla de transformacin que permite ubicar a un elemento genrico de la matriz A
dentro de R, es segn lo indicado oportunamente:
o = i
| = g+1+(j-i) g = 1+j-i
donde o y | representan la fila y la columna en donde el elemento a(i,j) se encuentra
almacenado en R .
En la expresin anterior se ha descontado el valor de g de la ecuacin original en
funcin de haberse almacenado nicamente la una de las semibandas.
Por ejemplo, puede comprobarse que el coeficiente a(3,4) = 4, se encuentra almacenado
en las posicin R(3,2) segn resulta de:
o = 3
| = 1 +4 3 = 2

Finalmente, se reformula el algoritmo Gauss Banda Simtrico ya planteado
oportunamente, considerando que solamente se almacena la mitad de la matriz en la
forma compacta detallada ms arriba.

Definir F(i,j) = 1+j-i
Repetir k=1,... n-1
fin=min(n,k+g)
Repetir i=k+1,... fin
m = R[k,F(k,i)]/R[k,F(k,k)]
Repetir j=i,... fin
R[i,F(i,j)] = R[i,F(i,j)] m. R[k,F(k,j)]

Fin j
b
i
= b
i
m.b
k

Fin i
Fin k
x
n
= b
n
/R[n,F(n,n)
Repetir i=n-1,.... 1
fin =min(n,i+g)
s=0
Repetir j=i+1,... fin
s = s + R[i,F(i,j)].x
j

Fin j
x
i
= (b
i
-s)/R[i,F(i,i)]
Fin i
En el esquema anterior se ha denominado como g al ancho de la semibanda (2 para
este ejemplo).
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.58
1.4 Mtodos Iterativos

1.4.1 Introduccin

Los mtodos de solucin de sistemas de ecuaciones pertenecen esencialmente a la clase
de mtodos directos o a la clase de mtodos iterativos.
Los mtodos directos resuelven los sistemas de ecuaciones en un numero determinado
de operaciones aritmticas (sumas, restas, multiplicaciones y divisiones), y los errores en
la solucin surgen enteramente de los errores de redondeo introducidos al efectuarse los
clculos. Bsicamente, los mtodos directos son los mtodos de eliminacin, de los
cuales el mas conocido es el mtodo sistemtico de eliminacin gaussiano, y los
mtodos de descomposicin triangular. Estos ltimos factorizan la matriz de coeficientes
A de las ecuaciones A . x = b en A = L . U, donde L y U son matrices triangulares
inferiores y superiores respectivamente; una vez que la descomposicin ha sido
determinada la solucin es calculada resolviendo el sistema equivalente L . U . x = b,
haciendo U. x = y; entonces se obtiene y resolviendo L . y = b por sustitucin hacia
adelante, y por ltimo se obtiene x resolviendo U . x = y por sustitucin hacia atrs. Con
ambos mtodos es usualmente necesario emplear pivoteo parcial para controlar el
crecimiento de los errores de redondeo.
Es de inters notar que cuando los clculos relacionados con estos mtodos son
realizados sobre grandes computadoras modernas, los errores de redondeo introducidos
durante el proceso de calculo frecuentemente tienen menos efecto sobre la solucin que
los errores de redondeo en los coeficientes y constantes de las ecuaciones. Si
suponemos que los coeficientes y constantes de un sistema de n ecuaciones algebraicas
lineales son todos menores que uno en modulo y que son conocidos con certeza en solo
q lugares decimales, entonces ellos poseen errores relativos menores o iguales a 10
-q
.
Se ha probado que si los clculos del mtodo de eliminacin Gaussiano se llevan
adelante con nmeros cuya cantidad de lugares decimales sea mayor que (q + log
10
n) ,
es decir log
10
n lugares decimales mas que en los coeficientes y constantes, la solucin
obtenida para q lugares decimales es la solucin exacta de un conjunto de n ecuaciones
lineales cuyos coeficientes y constantes difieren en menos de 10
q
de aquellos
correspondientes a las ecuaciones originales (si se usa representacin binaria, la mas
usada en las computadoras, 10
-q
es reemplazado por 2
-q
y log
10
n por log
2
n). Dicho de
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.59
otra forma, la solucin es tan precisa como los datos lo permitan. Esto no significa que el
numero de cifras significativas correctas en la solucin sea el mismo que en el de los
datos. Aquel podra ser menor, como es en el caso en que la perdida de precisin no
ocurre por el mtodo de solucin utilizado sino debido a que las ecuaciones estn mal
condicionadas en el sentido que pequeos cambios en los coeficientes producen grandes
cambios en la solucin.
El numero de dgitos significativos en la solucin no puede exceder el numero de cifras
significativas en los primeros q lugares decimales del pvot mas pequeo.
Aunque la eliminacin Gaussiana y la descomposicin LU son matemticamente
equivalentes, el error total del mtodo LU puede ser hecho menor que el del mtodo de
eliminacin Gaussiana si los productos internos son acumulados en variables de doble
longitud, una operacin que puede realizarse en algunas computadoras. Sin la
acumulacin de los productos internos en variables de doble longitud los dos mtodos son
equivalentes tanto matemtica como numricamente.
Si la aproximacin de la solucin obtenida necesita ser mejorada el siguiente mtodo de
refinamiento es usualmente recomendado. Llamemos a la solucin calculada de A . x = b
como x
(1)
. Luego, calculemos el residuo r
(1)
= b A . x
(1)
usando variables de doble
longitud, es decir de 2 . t dgitos decimales o binarios en lugar de los t dgitos estndar de
las variables de simple longitud. Si hacemos x = x
(1)
+ d, donde d es el termino de
correccin exacto que se suma a la solucin calculada en primera instancia, x
(1)
, para
obtener la solucin exacta x, entonces A . x = b puede expresarse como A . (x
(1)
+ d) = b.
Distribuyendo el producto tendremos A . x
(1)
+ A . d = b, y finalmente A . d = b - x
(1)
= r
(1)
.
La solucin de esta ultima ecuacin no es d exactamente sino una solucin aproximada
calculada que llamaremos d
(1)
. Luego, una solucin mejorada ser x
(2)
= x
(1)
+ d
(1)
. Este
procedimiento puede repetirse hasta lograr el grado de aproximacin deseada. Con el
objeto de mantener la solucin de las ecuaciones en una aritmtica de simple longitud, es
decir t dgitos, los residuos podran ser multiplicados por 10
t
, o por 2
t
, y los
correspondientes trminos de correccin d
(1)
, d
(2)
......, multiplicados por 10
-t
, o por 2
-t
. Es
evidente que este mtodo de refinamiento iterativo requiere solamente una pequea
cantidad adicional de operaciones debido a que la solucin de A . d = r
(1)
involucra solo
sustituciones hacia delante y hacia atrs porque la descomposicin A = L . U ha sido
calculada con anterioridad.
Si la matriz de coeficientes puede ser entrada totalmente en la memoria ( el
almacenamiento de acceso rpido de la computadora), entonces los mtodos directos, en
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.60
general, son ms rpidos y aproximados que los mtodos iterativos. Adems, si la matriz
de coeficientes tiene alguna propiedad o estructura en especial, en particular si son
simtricas, definidas positivas o bandeadas, es posible incrementar el numero de
ecuaciones a resolver mediante una programacin mas eficiente que tenga en cuenta
tales particularidades.
Los mtodos directos son ciertamente preferibles a los mtodos iterativos cuando:
1. Se deben resolver varios sistemas de ecuaciones con la misma matriz de
coeficientes pero diferentes vectores de trminos independientes.
2. La matriz de coeficientes es aproximadamente singular. En este caso pequeos
residuos (donde el residuo esta definido por r
(1)
= b A . x
(1)
) no implican
pequeos errores en la solucin. Esto resulta evidente si consideramos que A
-1
.
r
(1)
= A
-1
. (b A . x
(1)
) = A
-1
. b x
(1)
= x x
(1)
. Entonces x x
(1)
podra tener
grandes componentes cuando las componentes del vector residual r
(1)
son
pequeas porque algunos de los elementos de A
-1
sern grandes si A es
aproximadamente singular.

En la mayora de los problemas asociados a la solucin de ecuaciones diferenciales
parciales las matrices son bandas y esparzas, esto es, la cantidad de elementos nulos es
mucho mayor que la cantidad de elementos no nulos y estn ordenados a lo largo de una
estrecha banda que rodea a la diagonal principal. Para este tipo de matrices los mtodos
de eliminacin gaussiana en su versin estndar son ineficientes ya que se efectan una
gran cantidad de operaciones innecesarias. Debe puntualizarse, como ya hemos visto,
que es posible adaptar el mtodo de Gauss a matrices bandas y esparzas .
En cambio, en los mtodos iterativos, combinados con tcnicas eficientes de
almacenamiento de matrices esparzas, hay muy pocas operaciones aritmticas asociadas
con los coeficientes iguales a cero y por lo tanto se debe almacenar en la memoria de la
computadora una cantidad de nmeros considerablemente menor. Como consecuencia
de esto, los mtodos iterativos pueden ser usados para resolver sistemas de ecuaciones
que son demasiado grandes para el uso de mtodos directos. Adems, la programacin y
el manejo de datos al aplicar mtodos iterativos es mucho mas simple que cuando
aplicamos mtodos directos, y fundamentalmente, los mtodos iterativos pueden ser
aplicados a la resolucin de sistemas de ecuaciones no lineales, cosa que no puede
realizarse con los mtodos directos.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.61
No obstante, el uso eficiente de los mtodos iterativos es muy dependiente del calculo
directo o estimacin del valor de algunos parmetros de aceleracin de la convergencia
(ciertos mtodos los poseen y otros no) y de que la matriz de coeficientes sea bien
condicionada. De no ser as la convergencia ser lenta y el volumen de operaciones
aritmticas enorme. Con parmetros de aceleracin ptimos el volumen de calculo de los
mtodos iterativos para grandes sistemas de ecuaciones puede ser mucho menor que en
los mtodos directos.

1.4.2 Fundamentos de los Mtodos iterativos

Un mtodo iterativo para resolver ecuaciones es aquel en el cual una primera
aproximacin es usada para calcular una segunda aproximacin, la cual a su vez es
usada para calcular una tercera aproximacin, y as sucesivamente.
Se dice que el procedimiento iterativo es convergente cuando las diferencias entre la
solucin exacta y las sucesivas iteraciones tienden a cero al incrementarse el numero de
iteraciones. En general la solucin exacta nunca es obtenida en un numero finito de
pasos, pero esto no es importante. Lo que importa es que las sucesivas iteraciones
converjan rpidamente a valores que puedan considerarse correctos dentro de una
precisin especificada.
Como se mencion previamente podramos considerar el uso de mtodos iterativos
cuando, entre otros casos, los mtodos directos requieran mas espacio de
almacenamiento rpido (memoria) que el disponible y la matriz de coeficientes sea
esparza pero bien condicionada.
Para desarrollar los mtodos de resolucin en forma sencilla consideremos, por ejemplo,
la resolucin de un sistema general de cuatro ecuaciones:

4 a 1 i para 0 a donde
ii
= =
= + + +
= + + +
= + + +
= + + +
4 4 44 3 43 2 42 1 41
3 4 34 3 33 2 32 1 31
2 4 24 3 23 2 22 1 21
1 4 14 3 13 2 12 1 11
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a


El sistema anterior puede ser reescrito de la siguiente manera:
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.62

( )
( )
( )
( )
3 43 2 42 1 41 4
44
4
4 34 2 32 1 31 3
33
3
4 24 3 23 1 21 2
22
2
4 14 3 13 2 12 1
11
1
x a x a x a b
a
1
x
x a x a x a b
a
1
x
x a x a x a b
a
1
x
x a x a x a b
a
1
x
=
=
=
=


A partir de este punto plantearemos dos mtodos: Jacobi y Gauss Seidel.

1.4.2.1 Mtodo de Jacobi

Llamamos
(1)
i
x a la primera aproximacin de
i
x ,
(2)
i
x a la segunda aproximacin, y as
sucesivamente, y asumimos que n de ellas han sido calculadas, es decir que conocemos
(n)
i
x para i = 1 a 4. Entonces el mtodo de Jacobi expresa los (n+1)-simos valores
iterativos exclusivamente en funcin de los n-simos valores iterativos. La iteracin
correspondiente al sistema de ecuaciones antes descripto es:

( )
( )
( )
( )
) n (
3
43
) n (
2
42
) n (
1
41 4
44
) 1 n (
4
) n (
4
34
) n (
2
32
) n (
1
31 3
33
) 1 n (
3
) n (
4
24
) n (
3
23
1
) n (
1
21 2
22
) 1 n (
2
) n (
4
14
) n (
3
13
) n (
2
12 1
11
) 1 n (
1
x a x a x a b
a
1
x
x a x a x a b
a
1
x
x a x a x a b
a
1
x
x a x a x a b
a
1
x
=
=
=
=
+
+
+
+


En el caso general para m ecuaciones queda

m a 1 i con =
|
|
.
|

\
|
=

+ =

=
+
m
1 i j
) n (
j ij
1 i
1 j
) n (
j ij i
ii
) 1 n (
i
x a x a b
a
1
x

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.63
El mtodo de Jacobi no es incondicionalmente convergente, esto es, no siempre las
sucesivas aproximaciones convergen a un valor determinado. La matriz de coeficientes
del sistema a resolver debe cumplir con ciertas condiciones para asegurar la
convergencia del mtodo. Puede demostrarse que el mtodo de Jacobi aplicado al
sistema de ecuaciones A . x = b es convergente si la matriz A es estrictamente diagonal
dominante, es decir, si en cada fila de A el mdulo del elemento diagonal es mayor que la
suma de los mdulos de los elementos restantes de la fila.

Algoritmo del Mtodo de Jacobi

Ingresar c
s

Repetir i = 1,....n
x1
i
= valores iniciales
Fin repetir

Repetir mientras Flag = 1
Flag = 0
Repetir i = 1,....n
sum = 0
Repetir j = 1,....n
Si i = j
sum = sum + a
ij
. X1
j
Fin si
Fin repetir
x2
i
= ( b
i
- sum ) / a
ii

Si , x2
i
x1
i
, > c
s

Flag = 1
Fin si
Fin repetir

Repetir i = 1,....n
x1
i
= x2
i

Fin repetir
Fin repetir mientras



CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.64
1.4.2.2 Mtodo de Gauss Seidel

En este mtodo (n+1)-simos valores iterativos son usados tan pronto como ellos estn
disponibles y la iteracin correspondiente a las ecuaciones anteriores es definida por:


( )
( )
( )
( )
) 1 n (
3
43
) 1 n (
2
42
) 1 n (
1
41 4
44
) 1 n (
4
) n (
4
34
) 1 n (
2
32
) 1 n (
1
31 3
33
) 1 n (
3
) n (
4
24
) n (
3
23
1
) 1 n (
1
21 2
22
) 1 n (
2
) n (
4
14
) n (
3
13
) n (
2
12 1
11
) 1 n (
1
x a x a x a b
a
1
x
x a x a x a b
a
1
x
x a x a x a b
a
1
x
x a x a x a b
a
1
x
+ + + +
+ + +
+ +
+
=
=
=
=



En el caso general para m ecuaciones queda


m a 1 i con =
|
|
.
|

\
|
=

+ =

=
+ +
m
1 i j
) n (
j ij
1 i
1 j
) 1 n (
j ij i
ii
) 1 n (
i
x a x a b
a
1
x


El mtodo de Gauss Seidel para ser convergente en la resolucin de un sistema de
ecuaciones A . x = b requiere que la matriz de coeficientes A cumpla con la misma
condicin requerida en el mtodo de Jacobi.








CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.65
Algoritmo del Mtodo de Gauss Seidel

Ingresar c
s

Repetir i = 1,....n
x1
i
= valores iniciales
Fin repetir

Repetir mientras Flag = 1
Flag = 0
Repetir i = 1,....n
sum = 0
Repetir j = 1,....n
Si i = j
sum = sum + a
ij
. X1
j

Fin si
Fin repetir
A = ( bi - sum ) / a
ii

Si mod , A - x1
i
, > es
Flag = 1
Fin si
x1
i
= A
A = 0
Fin repetir

Fin repetir mientras



Ejemplo:

Sea una funcin u que satisface la ecuacin:

2
2
x
u
t
u
c
c
=
c
c
para 0 < x < 1 y t > 0.

Las condiciones iniciales son:
u = 1 en 0 < x < 1 para t = 0.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.66

Y las condiciones de contorno son:

u = 0 en x = 0 y x = 1 para t > 0.

Resolviendo esta ecuacin por algn mtodo que se vera mas adelante se llega a un
sistema de ecuaciones algebraicas lineales. Las incgnitas de dicho sistema de
ecuaciones son valores discretos de la funcin en determinados puntos del dominio. En
este caso se tomaron 9 puntos interiores equidistantes en el intervalo 0 < x < 1. Entonces,
en principio, las incgnitas del sistema de ecuaciones seran 9. Por cuestiones de simetra
de la funcin solucin respecto del punto central del intervalo en el sistema de ecuaciones
aparecern solo 5 incgnitas que denotaremos por u
i
con i = 1 a 5.
Planteada la situacin de esta manera el sistema resultante es:

1 u 2 u
2 u u 4 u
2 u u 4 u
2 u u 4 u
1 u u 4
5 4
5 4 3
4 3 2
3 2 1
2 1
= +
= +
= +
= +
=


Este sistema tambin puede expresarse como:

( )
( )
( )
( )
( ) 1 u
2
1
u
2 u u
4
1
u
2 u u
4
1
u
2 u u
4
1
u
1 u
4
1
u
4 2
5 3 4
4 2 3
3 1 2
2 1
+ =
+ + =
+ + =
+ + =
+ =


Tomaremos como valores de la primera aproximacin:

u
i
= 1 para i = 1 a 5.
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.67

a) Resolucin del sistema mediante el mtodo de Jacobi

Las ecuaciones de iteracin son:

( )
( )
( )
( )
( ) 1 u
2
1
u
2 u u
4
1
u
2 u u
4
1
u
2 u u
4
1
u
1 u
4
1
u
) n (
4
) 1 n (
5
) n (
5
) n (
3
) 1 n (
4
) n (
4
) n (
2
) 1 n (
3
) n (
3
) n (
1
) 1 n (
2
) n (
2
) 1 n (
1
+ =
+ + =
+ + =
+ + =
+ =
+
+
+
+
+


Entonces, partiendo de la primera aproximacin, y para encontrar la solucin del
sistema al cabo del primer intervalo de tiempo, iteraremos hasta que no haya variacin
en las primeras cuatro cifras decimales. Esto ultimo equivale a definir un cierto grado
de precisin en la solucin.

Para la primera iteracin, nos queda:


( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 1 1 1
2
1
1 u
2
1
u
1 2 1 1
4
1
2 u u
4
1
u
1 2 1 1
4
1
2 u u
4
1
u
1 2 1 1
4
1
2 u u
4
1
u
5 . 0 1 1
4
1
1 u
4
1
u
) 0 (
4
) 1 (
5
) 0 (
5
) 0 (
3
) 1 (
4
) 0 (
4
) 0 (
2
) 1 (
3
) 0 (
3
) 0 (
1
) 1 (
2
) 0 (
2
) 1 (
1
= + = + =
= + + = + + =
= + + = + + =
= + + = + + =
= + = + =



Para la segunda iteracin:
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.68
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 1 1 1
2
1
1 u
2
1
u
1 2 1 1
4
1
2 u u
4
1
u
1 2 1 1
4
1
2 u u
4
1
u
875 . 0 2 1 5 . 0
4
1
2 u u
4
1
u
5 . 0 1 1
4
1
1 u
4
1
u
) 1 (
4
) 2 (
5
) 1 (
5
) 1 (
3
) 2 (
4
) 1 (
4
) 1 (
2
) 2 (
3
) 1 (
3
) 1 (
1
) 2 (
2
) 1 (
2
) 2 (
1
= + = + =
= + + = + + =
= + + = + + =
= + + = + + =
= + = + =


Para la tercera iteracin:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 1 1 1
2
1
1 u
2
1
u
1 2 1 1
4
1
2 u u
4
1
u
96875 . 0 2 1 875 . 0
4
1
2 u u
4
1
u
875 . 0 2 1 5 . 0
4
1
2 u u
4
1
u
46875 . 0 1 875 . 0
4
1
1 u
4
1
u
) 2 (
4
) 3 (
5
) 2 (
5
) 2 (
3
) 3 (
4
) 2 (
4
) 2 (
2
) 3 (
3
) 2 (
3
) 2 (
1
) 3 (
2
) 2 (
2
) 3 (
1
= + = + =
= + + = + + =
= + + = + + =
= + + = + + =
= + = + =


Luego de 11 iteraciones llegamos a la solucin con la aproximacin requerida, lo que
se resume en la siguiente tabla:

MTODO DE JACOBI
N de iter. u = 0 u = 1 u = 2 u = 3 u = 4 u = 5
n = 0 0.0000 1.0000 1.0000 1.0000 1.0000 1.0000
n = 1 0.0000 0.5000 1.0000 1.0000 1.0000 1.0000
n = 2 0.0000 0.5000 0.8750 1.0000 1.0000 1.0000
n = 3 0.0000 0.4688 0.8750 0.9688 1.0000 1.0000
n = 4 0.0000 0.4688 0.8594 0.9688 0.9922 1.0000
........ ........ ........ ........ ........ ........ ........
n = 10 0.0000 0.4641 0.8564 0.9614 0.9890 0.9946
n = 11 0.0000 0.4641 0.8564 0.9613 0.9890 0.9945
n = 12 0.0000 0.4641 0.8564 0.9613 0.9890 0.9945
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.69
Hasta aqu hemos encontrado la solucin para el primer intervalo de tiempo. Para
encontrar la solucin para el prximo intervalo de tiempo utilizamos como condiciones
iniciales a los resultados obtenidos en el primer intervalo y nos queda para resolver el
siguiente sistema:

9890 0 u 2 u
9558 1 u u 4 u
8454 1 u u 4 u
4254 1 u u 4 u
8564 0 u u 4
5 4
5 4 3
4 3 2
3 2 1
2 1
.
.
.
.
.
= +
= +
= +
= +
=


Nuevamente, para resolver este sistema deberemos plantear una primera
aproximacin, que usualmente son las condiciones iniciales para este intervalo (es
decir la solucin del primer sistema de ecuaciones), y comenzamos con un nuevo
proceso iterativo hasta encontrar la solucin al segundo sistema con la precisin
deseada. Y as sucesivamente.


b) Resolucin del sistema mediante el mtodo de Gauss - Seidel

Las ecuaciones de iteracin son:

( )
( )
( )
( )
( ) 1 u
2
1
u
2 u u
4
1
u
2 u u
4
1
u
2 u u
4
1
u
1 u
4
1
u
) 1 n (
4
) 1 n (
5
) n (
5
) 1 n (
3
) 1 n (
4
) n (
4
) 1 n (
2
) 1 n (
3
) n (
3
) 1 n (
1
) 1 n (
2
) n (
2
) 1 n (
1
+ =
+ + =
+ + =
+ + =
+ =
+ +
+ +
+ +
+ +
+


De la misma manera que en el ejemplo anterior partiendo de la primera aproximacin,
y para encontrar la solucin del sistema al cabo del primer intervalo de tiempo,
CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.70
iteraremos hasta que no haya variacin en las primeras cuatro cifras decimales.
Parara la primera iteracin, nos queda:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 99609 . 0 1 99219 . 0
2
1
1 u
2
1
u
99219 . 0 2 1 96875 . 0
4
1
2 u u
4
1
u
96875 . 0 2 1 875 . 0
4
1
2 u u
4
1
u
875 . 0 2 1 5 . 0
4
1
2 u u
4
1
u
5 . 0 1 1
4
1
1 u
4
1
u
) 1 (
4
) 1 (
5
) 0 (
5
) 1 (
3
) 1 (
4
) 0 (
4
) 1 (
2
) 1 (
3
) 0 (
3
) 1 (
1
) 1 (
2
) 0 (
2
) 1 (
1
= + = + =
= + + = + + =
= + + = + + =
= + + = + + =
= + = + =


Para la segunda iteracin:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 99488 . 0 1 98975 . 0
2
1
1 u
2
1
u
98975 . 0 2 99609 . 0 96289 . 0
4
1
2 u u
4
1
u
96289 . 0 2 99219 . 0 85938 . 0
4
1
2 u u
4
1
u
85938 . 0 2 96875 . 0 46875 . 0
4
1
2 u u
4
1
u
46875 . 0 1 875 . 0
4
1
1 u
4
1
u
) 2 (
4
) 2 (
5
) 1 (
5
) 2 (
3
) 2 (
4
) 1 (
4
) 2 (
2
) 2 (
3
) 1 (
3
) 2 (
1
) 2 (
2
) 1 (
2
) 2 (
1
= + = + =
= + + = + + =
= + + = + + =
= + + = + + =
= + = + =


Para la tercera iteracin:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 99457 . 0 1 98914 . 0
2
1
1 u
2
1
u
98914 . 0 2 99488 . 0 96167 . 0
4
1
2 u u
4
1
u
96167 . 0 2 98975 . 0 85694 . 0
4
1
2 u u
4
1
u
85694 . 0 2 96289 . 0 46485 . 0
4
1
2 u u
4
1
u
46485 . 0 1 85938 . 0
4
1
1 u
4
1
u
) 3 (
4
) 3 (
5
) 2 (
5
) 3 (
3
) 3 (
4
) 2 (
4
) 3 (
2
) 3 (
3
) 2 (
3
) 3 (
1
) 3 (
2
) 2 (
2
) 3 (
1
= + = + =
= + + = + + =
= + + = + + =
= + + = + + =
= + = + =

CAPITULO 1 SISTEMAS DE ECUACIONES LINEALES
CATEDRA METODOS COMPUTACIONALES 2 Pg.71

Luego de 5 iteraciones llegamos a la solucin con la aproximacin requerida, lo que se
resume en la siguiente tabla:








Hasta aqu hemos encontrado la solucin para el primer intervalo de tiempo. Para
encontrar la solucin para el prximo intervalo de tiempo utilizamos como condiciones
iniciales a los resultados obtenidos en el primer intervalo y nos queda para resolver el
mismo sistema que determinamos en el primer ejemplo:

9890 . u 2 u
9558 . 1 u u 4 u
8454 . 1 u u 4 u
4254 . 1 u u 4 u
8564 . 0 u u 4
5 4
5 4 3
4 3 2
3 2 1
2 1
= +
= +
= +
= +
=


El proceso de solucin continua de la misma forma en que lo describimos en el
ejemplo anterior donde aplicamos el mtodo de Jacobi.
MTODO DE GAUSS SEIDEL
N de iter. u = 0 u = 1 u = 2 u = 3 u = 4 u = 5
n = 0 0.0000 1.0000 1.0000 1.0000 1.0000 1.0000
n = 1 0.0000 0.5000 0.8750 0.9688 0.9922 0.9961
n = 2 0.0000 0.4688 0.8594 0.9629 0.9898 0.9949
n = 3 0.0000 0.4649 0.8569 0.9617 0.9891 0.9946
n = 4 ........ ........ ........ ........ ........ ........
n = 5 0.0000 0.4641 0.8564 0.9613 0.9890 0.9945
n = 6 0.0000 0.4641 0.8564 0.9613 0.9890 0.9945

También podría gustarte