Está en la página 1de 80

Capı́tulo 4

Sistemas de Ecuaciones
Lineales

A lo largo de este capı́tulo se plantea la resolución de Sistemas Lineales


de Ecuaciones, de la forma:

[A] · {x} = {b} (4.1)

Donde [A] es una matriz de n×n coeficientes reales aij para i = 1 : n, j =


1 : n; {b} es un vector de términos independientes, también de coeficientes
reales:
 
 b 1 
.
 
b= ..
 
bn
 

y finalmente:
 
 x 1 
.
 
x= .
.
 
xn
 

que es el vector solución del sistema. La existencia y unicidad de soluciones


del sistema definido en 4.1 es un tema ampliamente estudiado en el álgebra
lineal. Precisamente el álgebra lineal proporciona una serie de condiciones
que permiten verificar si 4.1 tiene solución.

Si [A] ∈ Rn×n , entonces las siguientes afirmaciones son equivalentes:

159
160 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

1. Para cualquier {b} ∈ Rn , el sistema [A] · {x} = {b} tiene solución.

2. Si [A] · {x} = {b} tiene solución, esta es única.

3. Para cualquier {x} ∈ Rn , [A] · {x} = {0} entonces {x} = {0},


(Solución Trivial).

4. Las columnas (filas) de [A] son linealmente independientes.

5. Existe [A]−1 matriz inversa de [A] tal que [A] · [A]−1 = [A]−1 · [A]
= [I], donde [I] es la matriz identidad de orden n.

6. det([A]) = |A| =
6 0

A pesar de la indudable importancia de todas estas condiciones, en el


ámbito de la resolución numérica de Sistemas de Ecuaciones Lineales, deben
ser empleadas con cuidado.

4.1. Enfoque Global


La estrategia y metodologı́a que se aplica a la resolución numérica de
sistemas lineales de ecuaciones parte de una filosofı́a distinta a la solución
de la forma:

{x} = [A]−1 · {b}


Comenzando porque la regularidad de la matriz [A] no se determina por
un cálculo previo de su determinante. Sin embargo, en algunos problemas
se puede estudiar la regularidad de [A] en función de su origen (por ejemplo
cuando proviene de la discretización de ecuaciones diferenciales, ver Capı́tulo
8 y 9) o a partir de propiedades fácilmente computables como la diagonal
dominancia (ver subsección 4.3.1). Por lo general se aplica alguno de los
métodos de resolución que se verán a continuación, sin evaluar previamente
el determinante; en muchas ocasiones el determinante y la inversa de la
matriz son un subproducto de los cálculos efectuados.

En realidad los algoritmos eficaces para la resolución de Sistemas de


Ecuaciones Lineales plantean procesos con un enfoque radicalmente distin-
to, sobre todo desde una perspectiva que contempla el hecho de que los
cálculos se realicen en computadores digitales. Por consiguiente, es lógico
4.1. ENFOQUE GLOBAL 161

que los algoritmos se evalúen en función de su eficacia y siguiendo criterios


directamente relacionados con su implementación en computadores digitales.
Existen tres criterios fundamentales para analizar los algoritmos:
1. Número de Operaciones Necesarias. Íntimamente ligado al tiem-
po de CPU (Unidad Central de Proceso). Se tendrán en cuenta las
operaciones elementales entre números en coma flotante (f lop): +, −,
/ ó ∗, todas a un mismo coste computacional aunque no sea exacta-
mente cierto. El número de operaciones es obviamente un excelente
indicador del coste computacional pero no debe tomarse en un sentido
estricto. De hecho, multiplicar el tiempo necesario para una operación
por el número de operaciones siempre subvalora el tiempo necesario
del algoritmo. Además del tiempo invertido en efectuar las operaciones
hay una sobrecarga, debido a la gestión de la memoria, al manejo de
los ı́ndices enteros, a las instrucciones lógicas en los propios bucles, etc.
A pesar de ello, y por fortuna, el número de operaciones es un buen
indicador del tiempo de CPU porque esta sobrecarga es generalmente
proporcional al número de operaciones, de forma que, aunque no se
pueda predecir exactamente el tiempo de CPU, se puede saber cómo
varı́a (linealmente, cuadráticamente, etc.) al modificar, por ejemplo, el
orden n de la matriz.
2. Necesidades de Almacenamiento. Estas inciden clara y directa-
mente en las limitaciones de la memoria de los diversos computadores;
los diferentes métodos de resolución requieren almacenar las matrices
de distinta forma en el computador y esto varı́a considerablemente las
necesidades de memoria.
3. Rango de Aplicabilidad. No todos los métodos sirven para cualquier
matriz no singular; además, en función del método y de las propieda-
des de la matriz, la precisión de los resultados puede verse afectada
dramáticamente. Como se estudió ya en la subsección 2.3.3. (Propaga-
ción del Error) del Capı́tulo 2, pequeños errores de redondeo pueden
producir errores en la solución numérica completamente desproporcio-
nados. Finalmente, no se debe olvidar que debido al enorme número
de operaciones necesarias para la resolución de un sistema de ecuacio-
nes de tamaño medio-grande, el análisis estándar de propagación de
errores de redondeo no es en absoluto trivial.
Conviene resaltar que cada uno de estos criterios puede ser determinante
para rechazar un algoritmo. Por ejemplo, para un tipo de computador da-
do, métodos que impliquen exceder la memoria disponible son inutilizables
162 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

por muy rápidos y precisos que resulten. Por lo tanto, el desarrollo de los
algoritmos que se plantean a continuación debe tener presentes estos tres
criterios simultáneamente.

Desde un punto de vista general las matrices más usuales en las ciencias
aplicadas y en ingenierı́a pueden englobarse en dos grandes categorı́as:

1. Matrices Llenas pero No Muy Grandes. Por llenas se entiende


que poseen pocos elementos nulos y por no muy grandes que el nú-
mero de ecuaciones es de unos pocos miles a lo sumo. Estas matrices
aparecen en problemas estadı́sticos, matemáticos, fı́sicos e ingenieriles.
2. Matrices Vacı́as y Muy Grandes. En oposición al caso anterior,
vacı́as indica que hay pocos elementos no nulos y además están situados
con una cierta regularidad. En la mayorı́a de estos casos el número de
ecuaciones supera los miles y puede llegar en ocasiones a los millones.
Estas matrices son comunes en la resolución de ecuaciones diferenciales
de problemas de ingenierı́a.

Parece lógico que los métodos para resolver Sistemas de Ecuaciones Li-
neales se adecúen a las categorı́as de matrices anteriormente expuestas. En
general los Métodos de Solución Numérica de Sistemas de Ecuaciones Li-
neales, se clasifican en dos grandes grupos:


 • Métodos Directos.
Métodos de Solución de Sistemas
de Ecuaciones Lineales
• Métodos Iterativos.

Los Métodos Directos se aplican a las matrices llenas pero no muy gran-
des, mientras que los Métodos Iterativos se emplean a las matrices vacı́as y
muy grandes. Es importante observar que no existen reglas absolutas y que
todavı́a en la actualidad existe cierta controversia sobre los métodos óptimos
a aplicar en cada caso. En particular, la distinción establecida entre matrices
llenas y vacı́as depende de gran medida del computador disponible (funda-
mentalmente de la memoria). De hecho, los lı́mites han ido evolucionando a
lo largo de los años a medida que también evolucionaban los computadores
(cada vez más rápidos y con más memoria, o al menos más barata). A pesar
de ello, casi nadie recomendarı́a Métodos Iterativos para matrices llenas con
pocas ecuaciones; en cambio, algunos autores trabajan con Métodos Directos
altamente sofisticados y particularizados al entorno informático disponible
para resolver sistemas con varios millones de ecuaciones.
4.2. MÉTODOS DIRECTOS 163

Es importante aclarar que en todo lo que sigue se supone que [A] y {b}
son de coeficientes reales. Si los elementos de [A] o {b} son complejos (ver
Capı́tulo 2), aparte de las generalizaciones de los métodos que se verán o
de los algoritmos especı́ficos para este caso, se puede replantear el problema
como un sistema lineal, con matriz y término independiente reales, de 2n
ecuaciones e incógnitas. Para ello se escriben la matriz y los vectores de la
siguiente manera:

[A] = [C] + i[D]

{b} = {c} + i{d} (4.2)

{x} = {y} + i{z}

Donde [C] y [D] son matrices reales de n × n, y {c}, {d}, {y}, {z}
son vectores reales de n términos. Al sustituir las ecuaciones 4.2 en sus
correspondientes términos de la ecuación 4.1 y operando, el sistema lineal
de ecuaciones original se escribe ahora como:
     
[C] −[D] {y} {c}
· =
[D] [C] {z} {d}

A continuación se estudiarán los Métodos de Solución de Sistemas de


Ecuaciones Lineales más importantes.

4.2. Métodos Directos


Los Métodos Directos de Resolución de Sistemas Lineales de Ecuaciones
son aquellos que permiten obtener la solución de un número finito de ope-
raciones aritméticas. Este número de operaciones es función del tamaño de
la matriz.

Si los computadores pudieran almacenar y operar con todas las cifras


de los números reales, es decir, si emplearan una aritmética exacta, con los
métodos directos se obtendrı́a la solución exacta del sistema en un número
finito de pasos. Puesto que los computadores tienen una precisión finita, los
errores de redondeo se propagan y la solución numérica obtenida siempre
difiere de la solución exacta. La cota del error, para una matriz y término
independiente dados, se asocia por lo general al número de operaciones de
164 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

cada método. Se pretende, por lo tanto, obtener métodos con el mı́nimo


número de operaciones posible.


 ◦ Matriz Diagonal, [A] = [D]


• Sistemas con Solución Inmediata ◦ Matriz Triangular Superior, [A] = [U ]




◦ Matriz Triangular Inferior, [A] = [L]

 





 
◦ Método de Gauss


• Métodos de Eliminación


◦ Método de Gauss-Jordan







◦ Método de Doolittle, [A] = [L] · [U ]


◦ Método de Crout, [A] = [L] · [U ]

 

 
◦ Método de Cholesky, [A] = [L] · [L]T

 


• Métodos de Descomposición


◦ Descomposición Generalizada,


 
[A] = [L] · [D] · [L]T

 


 

 
◦ Método de Thomas, ([A] Tridiagonal)








• Métodos de Ortogonalización, [A] = [Q] · [R]

Otra particularidad de los Métodos Directos es que siempre conducen


después de ciertas operaciones, a la resolución de uno o varios sistemas con
solución inmediata. Es decir, sistemas donde la matriz es diagonal o trian-
gular (ver Capı́tulo 1). Los métodos para sistemas de resolución inmediata
son de hecho Métodos Directos. Además de estos, los Métodos Directos se
dividen en Métodos de Eliminación y Métodos de Descomposición.

En esta sección se estudiarán únicamente los Métodos de Eliminación y


los Métodos de Descomposición.

4.2.1. Matriz Aumentada, Operaciones Elementales por Fi-


las
Dado el Sistema de Ecuaciones Lineales 4.1 de n ecuaciones con n incóg-
nitas, su Matriz Aumentada es la matriz [A0 ] = [A|b] de n × n + 1. Es decir,
la matriz aumentada del Sistema de Ecuaciones Lineales 4.1 es la matriz [A]
de dicho sistema, aumentada en una columna correspondiente al vector de
términos independientes {b}, sin que se altere el signo de ninguno de sus
términos.

Si se multiplica una de las ecuaciones de un Sistema de Ecuaciones Li-


neales por un número (distinto de cero), o si se suma a una ecuación otra
multiplicada por un número, o si se intercambia el orden en el que apare-
cen las ecuaciones, las soluciones del sistema obtenido y del original son las
mismas. Es decir, los sistemas son equivalentes. Las matrices aumentadas a
4.2. MÉTODOS DIRECTOS 165

las que se llega al realizar estos tres tipos de operaciones se dice que han
sido obtenidas mediante Operaciones Elementales por Filas sobre la Ma-
triz Aumentada original. Ası́, las Operaciones Elementales por Filas son las
siguientes:

1. Multiplicación de una fila por una constante distinta de cero.

2. Intercambio de dos filas cualesquiera.

3. Suma de un múltiplo constante, distinto de cero, de una fila a cualquier


otra fila.

Además, se pueden intercambiar dos columnas cualesquiera sin que el


sistema se altere, pero se debe tener en cuenta que, al hacer esto, las in-
cógnitas correspondientes a esas columnas también se intercambian. Esto
puede, en muchos de los casos, provocar problemas en la interpretación de
la solución del sistema, por lo que se debe tener en cuenta esto siempre que
se haga este tipo de operación.

4.2.2. Método de Eliminación de Gauss


El Método de Eliminación de Gauss transforma el problema original,
[A] · {x} = {b}, mediante permutaciones adecuadas y combinaciones lineales
de las ecuaciones en un sistema de la forma [U ] · {x} = {c} donde [U ] es
una matriz triangular superior. Este nuevo sistema equivalente al original es
de resolución inmediata, sólo es necesario aplicar el algoritmo de sustitución
hacia atrás presentado a continuación:
cu
xn =
unn
n
X (4.3)
ci − uij xj
j=i+1
xi =
uii
Para i = n − 1 : 1. Durante la transformación del sistema original al
equivalente con matriz triangular, las operaciones (que sólo dependen de la
matriz [A]) se realizan sobre la matriz y al mismo tiempo sobre el término
independiente. Esto constituye una de las grandes ventajas y a la vez in-
convenientes de los Métodos de Eliminación. Si se dispone de una serie de
términos independientes, bj para toda j = 1 : n, conocidos de antemano,
se efectúan sobre todos ellos, al mismo tiempo, las operaciones necesarias
166 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

para reducir el sistema y obtener una serie de cj para toda j = 1 : n. Por


consiguiente, se almacenan y se manipulan todos los términos independien-
tes a la vez. Posteriormente se resuelve un sistema con matriz triangular [U ]
para cada uno de los cj . Si, por el contrario, no se conocen todos los tér-
minos independientes al iniciar los cálculos, es necesario recordar todas las
transformaciones necesarias para obtener c1 partiendo de b1 ; seguidamente
se repiten todas estas operaciones sobre los demás términos independien-
tes hasta obtener todos los cj deseados. Hoy en dı́a, en la mayorı́a de los
problemas con matrices de tamaño pequeño o medio, esta propiedad de los
Métodos de Eliminación es la determinante para su elección frente a los
Métodos de Descomposición.

Otro punto que conviene valorar en el Método de Gauss es su importante


valor pedagógico. Muchos autores denominan de manera genérica Métodos
Gaussianos al resto de los Métodos de Eliminación y de Descomposición,
puesto que la mayorı́a derivan del trabajo original de Gauss escrito en 1823
(que como otros métodos fundamentales del cálculo numérico fue desarrolla-
do mucho antes de la aparición del primer computador). Su implementación
en un computador sigue siendo la mas simple, y con pocas modificaciones,
como ya se verá, se obtiene el método mas general que existe para la reso-
lución de sistemas lineales de ecuaciones.

El algoritmo que se presenta a continuación parte de la ecuación 4.1 que


se escribirá como:
   
(0) (0) (0) (0)   (0) 
a11 a12 a13 . . . a1n b

 x1 
 1 
    
 

   









 (0) (0) (0) (0)       (0) 
 a21 a22 a23 . . . a2n   x2 

  b2 

     
 

   










     
 a(0) a(0) a(0) . . . a(0)  x b
(0)
 31 32 33 3n  · 3 = 3 (4.4)
    
 
 

       
 .
 .. .. .. .. ..   ..   .. 

.  . 
   
 . . .  
 


 
  . 





     
   



 

 


a
(0)
a
(0)
a
(0)
... a
(0) x n

 (0)
b 

n1 n2 n3 nn n

Donde el superı́ndice (0) indica que el coeficiente aij de la matriz o el


(0)
término bj del vector de términos independientes es el original. Si a11 6= 0,
se sustrae de todas las ecuaciones, a partir de la segunda fila, la primera
ecuación multiplicada por:
4.2. MÉTODOS DIRECTOS 167

(0)
ai1
ψi1 = (0)
a11

Para todo i = 2 : n. Esto induce el primer sistema equivalente derivado


del original donde la primera columna tiene todos los coeficientes nulos ex-
ceptuando el primer coeficiente, y el resto de los coeficientes de la matriz y
del término independiente se han visto modificados a partir de la segunda
fila.
   
(0) (0) (0) (0) (0)
a11 a12 a13 . . . a1n b1
  
   x1 







   
 
 

   

 0 (1) (1) (1)     (1) 
a22 a23 . . . a2n x b2
   

 
  2 








   
 
 

   
   

 0 (1) (1) (1) x3 (1)
 a32 a33 . . . a3n ·

= b3 (4.5)
   
   

     
 .
 .. .. .. .. ..   .
.
 . 

 
 ..


.
 
  
 . . .  
  


 . 


  










   
   

0
(1)
an2
(1)
an3 . . . ann
(1) xn 
 (1)
bn

con:

(0)
(1) (0) (0) (0) ai1 (0)
aij = aij − ψi1 a1j = aij − a
(0) 1j
a11
(4.6)
(0)
(1) (0) (0) (0) ai1 (0)
bi = bi − ψi1 b1 = bi − b
(0) 1
a11
(1)
Para todo i = 2 : n y j = 1 : n. Ahora, si a22 (que ya no coincide con el
(0)
coeficiente que originalmente se encontraba en su posición, a22 ) es distinto
de cero, se sustrae de todas las ecuaciones siguientes la segunda ecuación
multiplicada por:

(1)
ai2
ψi2 = (1)
a22

Para todo i = 3 : n. Después de realizadas estas operaciones sobre el


sistema 4.5 se obtiene el segundo sistema equivalente al original.
168 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

   
(0) (0) (0) (0)   (0)
a11 a12 a13 . . . a1n b1

   x
 1  







   
 
 

 (1) (1) (1)   
 
 (1)


 0 a22 a23 . . . a2n  
 x

2 




 b2



    
 

     
   
   

 0 (2) (2) x3 (2)
 0 a33 . . . a3n ·

= b3 (4.7)
     
   
 
 

 .
 .. .. .. .. ..   .
 . 
 

   ..
 

. .

 . . .  
 



  .

 


    
 




   
   

0 0 an3
(2)
. . . ann
(2) xn  b(2)
 

n

Donde la segunda columna a partir de la tercera fila solo contiene tér-


minos nulos y los nuevos coeficientes de la matriz y término independiente,
se obtienen con las siguientes ecuaciones:

(1)
(2) (1) (1) (1) ai2 (1)
aij = aij − ψi2 a2j = aij − a
(1) 2j
a22
(4.8)
(1)
(2) (1) (1) (1) ai2 (1)
bi = bi − ψi2 b2 = bi − b
(1) 2
a22

Para todo i = 3 : n y j = 2 : n. Cada paso conduce a un nuevo sistema


equivalente al original (ecuación 4.1) con la particularidad que la k-ésima
matriz es triangular superior si sólo se miran las primeras k ecuaciones y k
incógnitas. En general, se escribe como:

 (0) (0) (0) (0) (0)


  (0)
x1
 
a11 a12 ... a1k a1,k+1 ... a1n    b1 
(1) (1) (1) (1)  x2
  (1)

0 a22 ... a2k a2,k+1 ... a2n b2
    
   
..
    
 .. .. .. .. ..  
 
 ..


 . . . . ... .
 . 
 

.


   
xk
    
(k−1) (k−1) (k−1) (k−1)
0 akk ak,k+1 ... akn · = b
 
 k
 (k) (k)    (k) 
 0 ··· 0 ak+1,k+1 ... ak+1,n  xk+1

 
 bk+1 

  
..

.. .. .. ..
    
..  ..   
. .
    
 . . . . 
 .









(k) (k)    (k) 
0 ··· 0 an,k+1 ... ann xn bn
(4.9)
Que se ha obtenido a partir de las siguientes ecuaciones:
4.2. MÉTODOS DIRECTOS 169

(k−1)
(k) (k−1) (k−1) (k−1) aik (k−1)
aij = aij − ψik akj = aij − a
(k−1) kj
akk
(4.10)
(k−1)
(k) (k−1) (k−1) (k−1) aik (k−1)
bi = bi − ψik bk = bi − b
(k−1) k
akk
Para todo i = k + 1 : n, j = k : n y k = 1 : n − 1. Obsérvese 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, tal como:

(0) (0) (0) (0)


   
a11 a12 a13 ... a1n 
 x1 

 (0)
 b1


   
 
 

 (1) (1) (1)
  
 
 

 0
 a22 a23 ... a2n  
 

 x2 







(1)
b2




   
 
 

    
.. .. ..
    

 0 .
    .. 
.
   
 ·
 . = . (4.11)
     
 . ..   
 
 (n−2)


 .. . (n−2)
an−1,n   xn−1

 
 bn−1


   
 
 

   
 
 

   
 
 (n−1)


(n−1)
xn  bn
 0 ... 0 ann  











 
 

A cada uno de los términos que aparecen en la diagonal de la matriz


anterior se le denomina pivote. Conviene resaltar que los pivotes no coinciden
(k−1) (0)
con los términos originales de la diagonal de [A]; es decir, akk 6= akk para
todo k = 1 : n.

Para resumir todos los pasos realizados hasta obtener el sistema 4.11,
k−1
es necesario suponer que todos los pivotes son no nulos. Es decir, akk 6= 0
para todo k = 1 : n.

El sistema triangular obtenido en 4.11 es de resolución inmediata utili-


zando el algoritmo de la expresión 4.3. El número de operaciones necesarias
para realizar esta primera face de eliminación ha sido de:
170 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

 n−1
X n(n2 − 1)
(n − k)(n − k + 1) = sumas




 3
k=1


 n−1

n(n2 − 1)
 X
(n − k)(n − k + 1) = productos
 3

 k=1
 n−1
n(n − 1)


 X

 (n − k) = divisiones
 2
k=1

Si se tienen en cuenta las operaciones correspondientes a la segunda face


de sustitución hacia atrás, el número total de operaciones necesarias para el
Método de Gauss es:

4n3 + 9n2 − 7n
TG = (4.12)
6
La siguiente tabla muestra el número de operaciones elementales para
distintos tamaños del sistema de ecuaciones.

n TG
5 115
10 805
100 681550
1000 6,68 E8
Como ya se comentó, se ha supuesto a lo largo de toda esta deducción
que los pivotes eran distintos de cero. Si durante el proceso de eliminación
se obtiene un pivote nulo, por ejemplo el ak−1kk , se debe buscar en la parte
inferior de la columna k-ésima un coeficiente no nulo, es decir de entre los
k−1
aik para todo i = k + 1 : n se toma uno que sea distinto de cero. Se
sustituye entonces la fila k (y su término independiente) por la fila i (y su
término independiente) que se haya escogido. Si dicho coeficiente no nulo no
existiera, la matriz serı́a singular.

Esta permutación de filas no sólo tiene interés cuando el pivote es exac-


tamente cero. Es obvio que valores pequeños del pivote pueden producir
grandes errores de redondeo, ya que siempre se divide por el valor del pivo-
te. Por consiguiente, para reducir los errores de redondeo conviene escoger
el pivote máximo en valor absoluto. Para ello, hay dos técnicas posibles:

1. En el k-ésimo sistema (véase las ecuaciones 4.9 y 4.10) se toma como


pivote el coeficiente mayor en valor absoluto de la columna k situado
4.2. MÉTODOS DIRECTOS 171

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 tér-
mino independiente. Esta técnica se denomina Método 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 coefi-
cientes 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 término independiente asociado)
y la columna k con las correspondientes al coeficiente que cumple la
condición citada. Al final del proceso deben ponerse en el orden inicial
las componentes del vector solución, puesto que su posición fue mo-
dificada al realizar las permutaciones de columnas. Esta técnica es el
Método de Gauss con Pivotamiento Total.

Estas dos últimas estrategias producen métodos numéricamente estables.


El Método de Gauss sin Pivotamiento no es necesariamente estable. El es-
tudio detallado de la estabilidad y propagación de errores de redondeo del
Método de Gauss no es trivial.

Desde el punto de vista de la implementación práctica de los Métodos


de Gauss con Pivotamiento, conviene señalar que las permutaciones no se
realizan fı́sicamente en el computador, sino que se emplean vectores de re-
direccionamiento de memoria similares a los empleados en los esquemas de
almacenamiento especı́ficos para matrices con estructuras simples.

Si la matriz [A] es simétrica, las matrices llenas de orden (n−k) sobre las
que se aplica sucesivamente el algoritmo sólo permanecen simétricas si no se
realiza ninguna permutación de filas o columnas. La misma observación es
válida si la matriz [A] tiene una estructura que permite el almacenamiento
en banda o en perfil.
172 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Diagrama de Bloques del Método de Gauss

Entrada de Datos

Triangular Superior

Sustitución hacia atrás

Muestra de Resultados

Ejemplo:
Utilizando en Método de Eliminación de Gauss, encontrar la solución del
sistema de ecuaciones lineales expresado en forma matricial, dado a conti-
nuación.
     
6 2 1 −1   x1 
 
 3 

2 4 1 0 
x2
 
5

 · =
1 1 4 −1  x  −8 
 3
 

  
−1 0 −1 3 x4 6
 

Solución

Para realizar la solución del sistema de ecuaciones lineales dado en este


ejemplo, se debe formar la Matriz Aumentada del sistema, ası́:
 
6 2 1 −1 | 3
2
 4 1 0 | 5
1 1 4 −1 | −8
−1 0 −1 3 | 6
Donde que la última columna corresponde al vector de términos inde-
pendientes, {b}, en su forma original. A la matriz aumentada del sistema
original, se le considera como el paso cero (k = 0) del proceso de eliminación
gaussiana. En el primer paso, k = 1, de la eliminación, se procederá a hacer
ceros los términos ai1 , para i = 2 : 4, de la matriz aumentada del sistema
original. De acuerdo con las ecuaciones 4.10, para cada fila se obtuvieron los
siguientes valores ψik : ψ21 = 1/3, ψ31 = 1/6 y ψ41 = −1/6. Reemplazando
estos valores y los términos correspondientes para i = 2 : 4, j = 1 : 4 y k = 1
en las ecuaciones 4.10, se llegó al siguiente sistema equivalente al original:
4.2. MÉTODOS DIRECTOS 173

 
6 2 1 −1 | 3
0 10/3 2/3
 1/3 | 4 
0 2/3 23/6 −5/6 | −17/2
0 1/3 −5/6 17/6 | 13/2
Luego, en el segundo paso (k = 2) del proceso de eliminación, se harán
ceros los elementos ai2 , para i = 3 : 4. Los valores obtenidos para ψik son:
ψ32 = 1/5 y ψ42 = 1/10. Sustituyendo estos y los respectivos valores para
i = 3 : 4, j = 2 : 4 y k = 2 en las ecuaciones 4.10 se obtuvo la Matriz
Aumentada (equivalente a la original) dada a continuación:
 
6 2 1 −1 | 3
0 10/3
 2/3 1/3 | 4  
0 0 37/10 −9/10 | −93/10
0 0 −9/10 14/5 | 61/10
En el último paso de la eliminación (k = 3), se hace cero el término a43 .
Para esto se obtuvo que ψ43 = −9/37. Del reemplazo de este y los valores
dados para i = 4, j = 3 : 4 y k = 3 en las ecuaciones 4.10 se llegó a:
 
6 2 1 −1 | 3
0 10/3 2/3
 1/3 | 4  
0 0 37/10 −9/10 | −93/10
0 0 0 191/74 | 142/37
De esta manera se consiguió la Matriz Triangular Superior equivalen-
te a la Matriz Aumentada del sistema de ecuaciones original. Ahora, para
obtener los valores de xi que son la solución del sistema de ecuaciones linea-
les propuesto en este ejemplo, se debe realizar la sustitución hacia atrás de
acuerdo a las ecuaciones 4.3. Entonces:

4
X
b3 (3) − a3j (3) xj
b4 (3) j=4
x4 = , x3 =
a44 (3) a33 (3)
y,

4
X 4
X
b2 (3) − a2j xj b1 (3) − a1j xj
j=3 j=2
x2 = , x1 =
a22 (3) a11 (3)
174 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

De donde al reemplazar los valores correspondientes en cada una de las


ecuaciones de las dos últimas expresiones, se obtienen los valores solución
del sistema de ecuaciones lineales propuesto para este ejemplo. Estos son:


 117 

191

 


 


 

 



 283 




 0, 6126


191 
   
1, 4817
  
{x} = '

 411 
 
 −2, 1518 


 − 
 
1, 4869

191 

 

 


 

 284 

 

 
191

Los cálculos fueron realizados utilizando fracciones para, de esta manera,


evitar el Error de Redondeo (ver Capı́tulo 2), y hacer énfasis en el hecho de
que el método de Gauss es un método exacto para la solución de sistemas
lineales de ecuaciones. De acuerdo con la ecuación 4.12, el número total de
operaciones realizado hasta llegar a la solución es de 62.

4.2.3. Método de Eliminación de Gauss-Jordan

A continuación se presenta una variante del Método de Gauss que con-


viene considerar. En este método, además de sustraer la fila k multiplicada
por:

(k−1)
aik
ψik = (k−1)
akk

A las filas posteriores, también se sustrae a las anteriores. Es práctica


común, en este caso, dividir la fila k por su pivote para que el término de la
diagonal quede unitario. De esta forma, el k-ésimo sistema ası́ obtenido se
escribe como:
4.2. MÉTODOS DIRECTOS 175

 (k) (k)
  
1 0 0 ... 0 a1,k+1 ... a1n  x1 
 (k)
b1

   
   
 
 

 (k) (k)   x2

 
 (k)


 0 1 0 ... 0 a2,k+1 ... a2n   
 
 b2 

   
 
 

   
 
 

 .. .. .. ..   .. 
 
 ..


  .
  

 . · . . .  







 . 


   
 
 

..
    
 b(k)
    
(k) (k)
 xk−1  
k−1

·
    
. 0 ak−1,k+1 ... ak−1,n
· =
 

(k)

 ..
 
  xk 




 bk



(k) (k)
·     

 . 1 ak,k+1 ... akn  











(k)
  xk+1 bk+1
  
 
 

 (k) (k)   
 
 

 0 ... ... ... 0 ak+1,k+1 ... ak+1,n   
 
 

.. .. .. ..
  ..
 
..

..
 
 
 
 

. . .
     
 . . . .   
 
 

  










(k) (k)
   (k)

bn
 
0 ... ... ... 0 an,k+1 ... ann xn
(4.13)
Como se puede observar, al anular todos los coeficientes de la columna k,
excepto el diagonal, se va transformando la matriz original en la identidad.
Al final, la (n)-ésima matriz obtenida por operaciones simples de fila es la
identidad, y por lo tanto, el (n)-ésimo término independiente:

 (n) 

 b1 


 


 

..

 

.

 


 


 


 

(n)
bn

 


 

.
 
 ..

 

 


 


 

 
 (n)
 
bn

Es la solución del sistema de ecuaciones original. El algoritmo necesario


para la transformación de la matriz es el siguiente:
176 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

(k−1)
(k) akj
akj = (k−1)
akk

(k−1)
(k) (k−1) aik (k−1)
aij = aij − a
(k−1) kj
akk
(4.14)
(k−1)
(k) bk
bk = (k−1)
akk

(k−1)
(k) (k−1) aik (k−1)
bi = bi − b
(k−1) k
akk
Para todo i = 1 : k − 1, k + 1 : n, j = k : n y k = 1 : n. El número de
operaciones que se deben realizar es:

 n−1
X (n − 1)2 (n − 2)
(n − 1)(n − k + 1) = sumas




 2
k=1


 n−1

(n − 1)2 (n − 2)
 X
(n − 1)(n − k + 1) = productos
 2

 k=1
 n−1
(n − 1)(n − 2)

 X
(n − k + 1) = divisiones



 2
k=1

Por consiguiente el número total de operaciones elementales del Método


de Gauss-Jordan, tal como se ha presentado aquı́, es de:
1 5
TGJ = n3 + n2 − n + 1 (4.15)
2 2

Diagrama de Flujo para el Método de Gauss-Jordan


En la Figura 4.1 se presenta un diagrama de flujo del Método de Gauss-
Jordan.

Ejemplo:
Utilizando en Método de Eliminación de Gauss-Jordan, encontrar la so-
lución del sistema de ecuaciones lineales expresado en forma matricial, dado
a continuación.
4.2. MÉTODOS DIRECTOS 177

Lea A ( i, j ); b( i )

Matriz Aumentada

k =1: n
= B uscar val or máx ( |A (k, j )|) 6= 0
A ( k, k ) = 0
para j = k + 1 : n

6= Intercambiar filas

Hacer ceros elementos


i =1: k − 1 , k +1: n
y j = k

Figura 4.1: Diagrama de flujo del Método de Gauss-Jordan con pivotamiento


parcial.

     
6 2 1 −1   x1 
 
 3 
2 4 1 0 
x2
 
5

 · =
1 1 4 −1  x  −8 
 3
 

  
−1 0 −1 3 x4 6
 

Solución

Para realizar la solución del sistema de ecuaciones lineales dado en este


ejemplo, se debe formar la Matriz Aumentada del sistema, ası́:
178 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

 
6 2 1 −1 | 3
2
 4 1 0 | 5
1 1 4 −1 | −8
−1 0 −1 3 | 6

Donde que la última columna corresponde al vector de términos inde-


pendientes, {b}, en su forma original. A la matriz aumentada del sistema
original, se le considera como el paso cero (k = 0) del proceso de eliminación
de Gauss-Jordan. En el primer paso, k = 1, de la eliminación, se procederá
a hacer ceros los términos ai1 , para i = 2 : 4, de la matriz aumentada del
sistema original (este paso casi idéntico al realizado en el Método de Elimi-
nación de Gauss, ver subsección 4.2.2). De acuerdo con las ecuaciones 4.14,
para cada fila se obtuvieron los siguientes valores ψik : ψ21 = 1/3, ψ31 = 1/6
y ψ41 = −1/6. Reemplazando estos valores y los términos correspondientes
para i = 2 : 4, j = 2 : 4 y k = 1 en las ecuaciones 4.14, se llegó al siguiente
sistema equivalente al original:

 
1 1/3 1/6 −1/6 | 1/2
0 10/3 2/3
 1/3 | 4 
0 2/3 23/6 −5/6 | −17/2
0 1/3 −5/6 17/6 | 13/2

Luego, en el segundo paso (k = 2) del proceso de eliminación, se harán


ceros los elementos ai2 , para i = 1 : 1, 3 : 4. Los valores obtenidos para ψik
son: ψ12 = 1/10, ψ32 = 1/5 y ψ42 = 1/10. Sustituyendo estos y los respecti-
vos valores para i = 1 : 1, 3 : 4, j = 3 : 4 y k = 2 en las ecuaciones 4.14 se
obtuvo la Matriz Aumentada (equivalente a la original) dada a continuación:

 
1 0 1/10 −1/5 | 1/10
0
 1 1/5 1/10 | 6/5 
0 0 37/10 −9/10 | −93/10
0 0 −9/10 14/5 | 61/10

Ahora, en el tercer paso (k = 3) de la eliminación, se hacen cero los


términos ai3 , para i = 1 : 2, 4 : 4. Los valores obtenidos para ψik son:
ψ13 = 1/37, ψ23 = 2/37 y ψ43 = −9/37. Del reemplazo de estos y los valores
dados para i = 1 : 2, 4 : 4, j = 4 y k = 3 en las ecuaciones 4.14 se obtuvo
que:
4.2. MÉTODOS DIRECTOS 179

 
1 0 0 −13/74 | 13/37
0
 1 0 11/74 | 63/37  
0 0 1 −9/37 | −93/37
0 0 0 191/74 | 142/37
Finalmente, para el último paso (k = 4) del proceso de Gauss-Jordan, se
deben hacer ceros los términos ai4 , para i = 1 : 3. Los valores para ψik en este
paso son: ψ14 = −13/191, ψ24 = 11/191 y ψ34 = −18/191. De la sustitución
de estos y los valores dados para i = 1 : 3 y k = 4 en las ecuaciones 4.14 se
llegó a:
 
1 0 0 0 | 117/191
0 1 0 0 | 283/191 
 
0 0 1 0 | −411/191
0 0 0 1 | 284/191
De esta manera se consiguió la Matriz Diagonal Unitaria equivalente a la
Matriz Aumentada del sistema de ecuaciones original y de donde se obtienen
directamente los valores solución del sistema dado para este ejemplo. Estos
son:

 117 

191

 


 


 

 



 283 




 0, 6126 

191 
   
1, 4817
  
{x} = '

 411   −2, 1518 
 

 − 
 
1, 4869

191

 


 


 

284

 


 

191
Los cálculos fueron realizados utilizando fracciones para, de esta manera,
evitar el Error de Redondeo (ver Capı́tulo 2), y hacer énfasis en el hecho
de que el método de Gauss-Jordan es un método exacto para la solución de
sistemas lineales de ecuaciones. De acuerdo con la ecuación 4.15, el número
total de operaciones realizado hasta llegar a la solución es de 63, una más que
en el Método de Eliminación de Gauss (ver Ejemplo del subsección 4.2.2).
Finalmente, en la Figura 4.2 se muestra una comparación gráfica del
número total de operaciones realizadas por lo métodos de Gauss y Gauss-
Jordan en función del tamaño del sistema, n, de acuerdo con las ecuaciones
4.12 y 4.15, respectivamente. Note que, para sistemas de hasta tamaño n = 4
180 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

105
10

0
0 10 20 30 40 50 60 70 80 90 100

Figura 4.2: Cantidad total de operaciones básicas realizadas por los métodos
de Gauss (lı́nea azul) y Gauss-Jordan (lı́nea roja) en función del tamaño n×n
del sistema, de acuerdo con las expresiones 4.12 y 4.15, respectivamente.

el método de Gauss realiza un poco más de operaciones que el método de


Gauss-Jordan. Sin embargo, para sistemas de tamaño mayor que n = 4,
en adelante, el método de Gauss realiza cada vez menos operaciones en
comparación al método de Gauss-Jordan.

4.2.4. Método de Gauss Compacto

La representación del Método de Gauss se ha realizado de forma cons-


tructiva mostrando el desarrollo del algoritmo. A continuación se presenta
el desarrollo matricial del método. De esta forma se sientan las bases de los
métodos de descomposición y, además, se analizan las justificaciones teóri-
cas del Método de Gauss sin o con pivotamiento. Se puede suponer que de
momento, la eliminación (reducción de la matriz original a una triangular
superior) puede realizarse sin pivotamiento. Entonces se toman las matrices:
4.2. MÉTODOS DIRECTOS 181

 
1 0 ... ... 0 0 ... ... 0
 .. .. .. 

 0 1 . . .  
 .. .. .. .. .. 
 . . . . . 
.. .. .. 
 

 . 1 0 . . 
[G](k)
 
= 0 ... ... 0 1 0 ... ... 0  (4.16)
.. .. .. 
 

 . . −ψk+1,k 1 . 
.. .. .. 
 
..
.

 . . −ψk+2,k 0 . 
.. .. .. ..
 
 
 . . . . 1 0 
0 ... ... 0 −ψn,k 0 ... 0 1

Para todo k = 1 : n − 1. Donde:


(k−1)
aik
ψik = (k−1)
akk
Para todo k + 1 : n. Denominando [A](k) y {b}(k) a los k-ésimos matriz
y vector de términos independientes obtenidos por el Método de Gauss sin
pivotamiento, se puede observar que las ecuaciones que realizan el paso entre
(k − 1) y k (ecuación 4.10) pueden escribirse como:

[A](k) = [G](k) · [A](k−1)

{b}(k) = [G](k) · {b}(k−1)


Por lo tanto, el (n − 1)-ésimo sistema de ecuaciones obtenido al final del
proceso de eliminación es simplemente:

[A](n−1) = [G](n−1) · [G](n−2) · . . . · [G](1) · [A]


(4.17)
{b}(n−1) = [G](n−1) · [G](n−2) · . . . · [G](1) · {b}
Puesto que [A](n−1) es triangular superior y que el producto de matrices
triangulares inferiores con diagonal unitaria es una matriz triangular inferior
con diagonal unitaria, la primera ecuación de 4.17 puede escribirse como:

[A] = [L] · [U ] (4.18)


Donde:
182 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

[U ] = [A](n−1)

[L]= [[G](n−1) · [G](n−2) · . . . · [G](1) ]−1

= [[G](1) ]−1 · [[G](2) ]−1 · . . . · [[G](n−1) ]−1

Puesto que las inversas de las [G](k) son triangulares inferiores con dia-
gonal unitaria, puede comprobarse que:
 
1 0 ... 0 0
 ψ21 1 0
.. .. 
 
[L] = 
 .. (4.19)
 . . .
ψn−1,1 1 0
ψn1 ψn2 . . . ψn,n−1 1

Por consiguiente, la ecuación 4.18 demuestra que se ha descompuesto la


matriz original [A] en el producto de una matriz triangular inferior con dia-
gonal unitaria por una triangular superior. A partir de esta misma ecuación
se puede observar que el determinante de la matriz [A] se obtiene como un
subproducto del Método de Eliminación de Gauss. Puesto que [L] es triangu-
lar con diagonal unitaria y [U ] = [A](n−1) es una triangular, el determinante
de [A] es:

n
(n−1)
Y
|A| = |A(n−1) | = aii (4.20)
i=1

De esta forma el cálculo del determinante de una matriz necesita de:

2 3
n
3
Operaciones aproximadamente que es muy inferior al orden n! de opera-
ciones en un cálculo común de un determinante.

El Método de Gauss planteado en su forma compacta, como se acaba de


describir, se compone de dos fases diferenciadas:

1. Descomposición de la matriz original en el producto de [L] por [U ] sin


que sea necesario efectuar operaciones sobre el término independiente.
4.2. MÉTODOS DIRECTOS 183

2. Resolución de dos sistemas triangulares, el primero de los cuales se co-


rresponde con la segunda ecuación 4.17. Estas dos faces aparecen tam-
bién en los Métodos de Descomposición, que se distinguen del Método
de Gauss Compacto en la forma de calcular las matrices triangulares
[L] y [U ].

Como ya se indicó, conviene aprovechar la forma compacta del Método


de Gauss para justificar teóricamente los algoritmos que se presentaron sobre
el mismo. Para ello se consideran los siguientes teoremas:

Teorema 4.2.1 Si [A] es una matriz inversible y factorizable bajo la forma:

[A] = [L] · [U ]
Donde [L] tiene la diagonal unitaria, entonces la descomposición es úni-
ca.

La demostración de este teorema se realiza de la siguiente manera:

Supóngase que existen dos descomposiciones posibles de la matriz [A],


es decir:

[A] = [L1 ] · [U1 ] = [L2 ] · [U2 ]


Si [A] es inversible, entonces [L1 ], [U1 ], [L2 ], y [U2 ] también lo son (tó-
mense por ejemplo determinantes en la ecuación anterior). Por consiguiente:

[L1 ] · [U1 ] = [L2 ] · [U2 ] ←→ [L2 ]−1 · [L1 ] = [U2 ] · [U1 ]−1
Pero el primer miembro de la igualdad es una matriz triangular inferior
con diagonal unitaria mientras que el segundo es una triangular superior.
Ambos miembros, por lo tanto, son iguales a la matriz identidad, de donde
se deduce que:

[L1 ] = [L2 ]
y,

[U1 ] = [U2 ]

Teorema 4.2.2 Si [A] es inversible, existe una matriz de permutación [P ]


tal que [P ]·[A] es factorizable bajo la fórmula [L]·[U ] donde [L] es triangular
inferior con diagonal unitaria y [U ] es triangular superior.
184 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

La demostración de este teorema se realiza de la siguiente manera:

Sea [Pij ] una matriz que permute las filas i, j. Esta matriz se escribe
como:

 i j 
1 0 ··· 0 ··· 0 ··· 0
 .. .. .. .. 
 0 . . . . 
..
 
 

 . 1 0 0 

i 
 0 ··· 0 0 0 ··· 0 1 0 ··· 0  
 0 1 0 
[Pij ] = .. .. .. ..  (4.21)
 
 ..

 . . . . .  
 0 1 0 
j
 

 0 ··· 0 1 0 ··· 0 0 0 ··· 0  
 .. 
 0 0 1 . 
.. .. ..
 
 ..
.

 . . . 0 
0 ··· 0 ··· 0 ··· 0 1

Esta matriz sólo difiere de la identidad en las filas y columnas i y j. La


k-ésima matriz, [A](k) , obtenida con el algoritmo de Gauss con pivotamiento
parcial, puede escribirse como:

[A](k) = [G](k) · [Pk,`k ] · [A](k−1)


Donde se ha permutado la fila k con la `k (k ≤ `k ). Obsérvese que si
no es necesario pivotar [Pk,`k ] = [I], es decir k = `k . Esta k-ésima matriz
también puede escribirse como:

[A](k) = [G](k) · [Pk,`k ] · [G](k−1) · [Pk−1,`k−1 ] · . . . · [G](1) · [P1,`1 ] · [A] (4.22)

Para poder seguir con el proceso de eliminación, el pivote de esta matriz


y todos los términos debajo de él deben ser no nulos. Si no es ası́, el deter-
minante de [A](k) es nulo y por lo tanto también es nulo el determinate de
la matriz original [A] (las matrices [G] y [P ] tienen diagonales unitarias).
Es decir, si [A] es regular, entonces [A](k) también lo es y siempre se puede
encontrar la permutación de filas adecuadas para seguir con el proceso de
eliminación.
4.2. MÉTODOS DIRECTOS 185

Queda todavı́a por demostrar que [P ] · [A] es factorizable. A partir de


la ecuación 4.22 se puede llegar a la expresión de la última matriz obtenida
con el algoritmo de Gauss con pivotamiento parcial:

[A](n−1) = [G](n−1) · [Pn−1,`n−1 ] · [G](n−2) · [Pn−2,`n−2 ] · . . . · [G](1) · [P1,`1 ] · [A]


(4.23)
(k)
Si k < i ≤ j, entonces existe una matriz [G̃] tal que:

[Pij ] · [G](k) = [G̃](k) · [Pij ]

En la que simplemente se han permutado los coeficientes −ψik y −ψjk .


Por lo tanto, la ecuación 4.23 puede reescribirse como:

[A](n−1) = [G](n−1) ·[G̃](n−2) ·. . .·[G̃](1) ·[Pn−1,`n−1 ]·[Pn−2,`n−2 ]·. . .·[P1,`1 ]·[A]


(4.24)
Que permite, con las definiciones adecuadas:

[P ] = [Pn−1,`n−1 ] · [Pn−2,`n−2 ] · . . . · [P1,`1 ]

[U]= [A](n−1) (4.25)


h i−1
[L]= [G](n−1) · [G̃](n−2) · . . . · [G̃]1

Volver a escribir la ecuación 4.23 como:

[P ] · [A] = [L] · [U ]

Donde [L] es triangular inferior con diagonal unitaria y [U ] es triangular


superior y de esta forma finalizar la demostración.

Esta demostración puede extenderse al caso de Gauss con pivotamiento


total empleando matrices de permutación [P ] y [Q] tales que [P ] · [A] · [Q]
sea factorizable como [L] · [U ]. Ası́ mismo, todas la propiedades anteriores
de existencia y unicidad de la descomposición se verifican también para [U ]
triangular superior con diagonal unitaria en vez de [L] con diagonal unitaria.

Por otro lado, el determinante de la matriz original se obtiene, de nuevo,


como un subproducto del proceso de eliminación por el Método de Gauss:
186 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

n
(n−1)
Y
|A| = ±|A(n−1) | = ± aii
i=1

Donde el signo depende del número de permutaciones realizadas.

Para finalizar esta sección, donde se han formalizado las diferentes va-
riantes del Método de Gauss, conviene conocer bajo qué condiciones puede
aplicarse el Método de Gauss sin pivotamiento. Esto es ası́ porque sólo en
esta variante (sin pivotamiento) pueden emplearse esquemas de almacena-
miento especı́ficos para algunos tipos de matrices muy frecuentes en cálculo
numérico (por ejemplo, matrices en banda y en skyline, simétricas o no, ver
Capı́tulo 1). Se consigue un ahorro computacional considerable mediante
estos esquemas de almacenamiento matricial, tanto en número de operacio-
nes como en memoria necesaria. Para ello, el siguiente teorema presenta la
condición necesaria y suficiente para aplicar el Método de Gauss sin pivo-
tamiento. Se denomina [A(m)11 ] al menor principal de [A] de orden m. Es
decir, los coeficientes de [A(m)11 ] son los aij de [A] para todo i = 1 : m y
j = 1 : m. Por extensión [A(m)11 ](k) será el menor de orden m de [A](k) . Las
tres cajas que completan la matriz [A] se denotan por [A(m)12 ], [A(m)21 ] y
[A(m)22 ], de forma que:

m columnas (n − m) columnas
[A(m)11 ] [A(m)12 ]
 
m filas
[A]=
 
 
(n − m) filas [A(m)21 ] [A(m)22 ]

Ejemplo:

Dada la matriz [A] correspondiente al sistema de los ejemplos dados en


los Métodos de Eliminación de Gauss y Gauss-Jordan. Permutar utilizando
una matriz de permutación, [Pij ]: a) Las columnas 2 y 4, y b) Las filas 2 y
4.

Solución

De acuerdo con lo pedido para este ejemplo, la matriz de permutación


correspondiente, [P24 ], es:
4.2. MÉTODOS DIRECTOS 187

 
1 0 0 0
0 0 0 1
[P24 ] = 
0

0 1 0
0 1 0 0

a) Para permutar las columnas 2 y 4 de la matriz [A] del sistema de ecua-


ciones lineales resuelto en los ejemplos anteriores (en este capı́tulo), se
debe postmultiplicar a [A] por la matriz de permutación [P24 ], ası́:
     
6 2 1 −1 1 0 0 0 6 −1 1 2
2 4 1 0 0 0 0 1 2 0 1 4
 · = 
1 1 4 −1 0 0 1 0  1 −1 4 1
−1 0 −1 3 0 1 0 0 −1 3 −1 0
| {z } | {z } | {z }
[A] [P24 ] [A24 ]

b) Ahora, para permutar las filas 2 y 4 de la matriz [A], se debe premulti-


plicar a [A] por la matriz de permutación [P24 ], de la siguiente forma:
     
1 0 0 0 6 −1 1 2 6 −1 1 2
 = −1 3 −1 0
0 0 0 1  2
  0 1 4  
 ·
0 0 1 0  1 −1 4 1   1 −1 4 1
0 1 0 0 −1 3 −1 0 2 0 1 4
| {z } | {z } | {z }
[P24 ] [A] [A24 ]

Teorema 4.2.3 La condición necesaria y suficiente para que una matriz


no singular [A] pueda descomponerse en la forma [A] = [L] · [U ] es que
det([A(m)11 ]) 6= 0 para todo m = 1 : n.

La demostración de este teorema se realiza de la siguiente manera:

Para demostrar que es condición suficiente hay que mostrar que una vez
obtenida la matriz [A](k) , el proceso de eliminación puede seguir; es decir,
(k)
que el pivote ak+1,k+1 es no nulo. Para ello supóngase que:

|A(m)11 | =
6 0 ∀m=1:n
En particular esto se verifica para m = 1; es decir:
(0)
a11 = |A(1)11 | =
6 0
188 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Y, por lo tanto, la primera etapa del algoritmo de Gauss puede aplicarse.


(i)
Para la siguientes etapas, supóngase que ai+1,i+1 6= 0 para todo i = 0 : k − 1;
en consecuencia, ya se ha obtenido la matriz [A](k) descrita en 4.9 y que puede
escribirse según la expresión 4.22, pero sin permutaciones, bajo la forma:

 (k) (k)

[A(k+1)11 ] [A(k+1)12 ]
[A](k) =  
(k) (k)
[A(k+1)21 ] [A(k+1)22 ]

 (k)
  (k−1)

[G(k+1)11 ] 0 [G(k+1)11 ] 0
= ·  · ...·
(k) (k) (k−1) (k−1)
[G(k+1)21 ] [G(k+1)22 ] [G(k+1)21 ] [G(k+1)22 ]

 (1)
 "
[G(k+1)11 ] 0
#
[A(k+1)11 ] [A(k+1)12 ]
 ·
(1) (1)
[G(k+1)21 ] [G(k+1)22 ] [A(k+1)21 ] [A(k+1)22 ]
(4.26)
Donde se ha realizado la misma partición en las matrices [G] mostrando
explı́citamente sus menores principales y su estructura triangular inferior a
partir de 4.26 es fácil ver que:

(k) (k) (k−1) (1)


[A(k+1)11 ] = [G(k+1)11 ] · [G(k+1)11 ] · . . . · [G(k+1)11 ] · [A(k+1)11 ]

(i)
Tomando ahora determinantes y recordando que todas las matrices [G](k+1)11
tienen diagonales unitarias y que det([A(k+1)11 ]) 6= 0 por hipótesis, es evi-
(k)
dente que det([A(k+1)11 ]) 6= 0. Por lo tanto queda demostrar que el pivote
(k)
ak+1,k+1 es no nulo y el proceso de eliminación puede seguir. Por inducción
se obtendrá la descomposición de [A] en [L] · [U ].

Para demostrar la condición necesaria en primer lugar se verá que si


[A] = [L] · [U ] entonces:

[A(m)11 ] = [L(m)11 ] · [U(m)11 ]

Para ello basta utilizar la partición de las matrices realizadas anterior-


mente, es decir:
4.2. MÉTODOS DIRECTOS 189

     
[A(m)11 ] [A(m)12 ] [L(m)11 ] 0 [U(m)11 ] [U(m)12 ]
 = · 
[A(m)21 ] [A(m)22 ] [L(m)21 ] [L(m)22 ] 0 [U(m)22 ]

Y efectuar el producto por cajas de las matrices. Además, al ser [A] no


singular por hipótesis, ni [L] ni [U ] lo serán y por lo tanto [L(m)11 ] y [U(m)11 ]
tienen determinantes no nulos. El producto de estas dos últimas matrices
tampoco tendrá determinante nulo; es decir, [A(m)11 ] es no singular. Todo
ello puede realizarse para todo valor de m = 1 : n y de esta forma la
condición queda demostrada.

Este resultado muestra que el Método de Gauss sin pivotamiento puede


emplearse si y sólo si todos los menores principales de [A] son no singulares.
Esta condición es obviamente muy difı́cil de verificar a priori. De hecho,
en la mayorı́a de los casos, es el propio proceso de Gauss el que indica
si es necesario o no realizar pivotamiento de filas. De cualquier forma, es
importante señalar una extensión del teorema anterior para dos clases de
matrices extraordinariamente comunes en las ciencias de la ingenierı́a.

Si la matriz [A] es simétrica y definida positiva (negativa) entonces sus


menores principales también son simétricos y definidos positivos (negativos),
es decir, son no singulares, y, por consiguiente, se puede aplicar el Método
de Gauss sin pivotamiento.

Para demostrar que [A(m)11 ] (menor principal de orden m de la matriz


[A]) es definido positivo (negativo) cuando [A] es definida positiva (negati-
va), basta trabajar con vectores cualesquiera tales que sólo las primeras m
componentes sean no nulas, es decir, del tipo {x(m) }T · {0}T .

Si la matiz [A] es estrictamente Diagonal Dominante (ver subsección


4.3.1) entonces sus menores principales son no singulares, y, por consiguiente
se puede aplicar al Método de Gauss sin pivotamiento.

Para demostrarlo, basta recordar que todos los menores de [A] son Dia-
gonal Dominantes y que toda matriz Diagonal Dominante es no singular.
190 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

4.2.5. Métodos de Descomposición


Los Métodos de Descomposición (o factorización) se fundamentan en las
ideas básicas descritas en la sección anterior, donde se ha demostrado que
toda matriz regular [A] puede, con las permutaciones adecuadas, descom-
ponerse en el producto de una matriz triangular inferior [L] por una matriz
triangular superior [U ]. Supóngase, para mayor claridad de la exposición, que
las permutaciones no son necesarias. Es decir, se dispone de dos matrices [L]
y [U ] tales que:

[A] = [L] · [U ]
Entonces, el sistema de ecuaciones original:

[A] · {x} = {b}


Puede escribirse como:

 [L] · {y} = {b}
(4.27)
[U ] · {x} = {y}

Donde se observa claramente que resolver el sistema original es equiva-


lente a realizar una sustitución hacia adelante para determinar {y} y una
sustitución hacia atrás para hallar la solución {x}.

El objetivo será, por consiguiente, desarrollar algoritmos que, de forma


eficiente, permitan descomponer la matriz original en el producto de matri-
ces triangulares (y, en algunos métodos, también matrices diagonales) para
acabar resolviendo Sistemas de Ecuaciones con Solución Inmediata.

En la subsección anterior (Método de Gauss compacto), ya se plantea, de


hecho, un Método de Descomposición. En ese caso, la matriz [L] se obtiene
de forma simple, pero la matriz [U ] requiere de las operaciones clásicas del
Método de Gauss, ecuación (4.10). Este método compacto se empleó con
frecuencia a finales de los años cincuenta para resolver manualmente los
sistemas inducidos por las primeras aplicaciones del Método de los Elementos
Finitos en Ingenierı́a. Con la aparición de los computadores, las mismas
operaciones del Método de Gauss empezaron a automatizarse. Por desgracia,
los primeros computadores disponı́an de poca memoria y, por tanto, de poca
precisión (los cálculos habituales hoy en dı́a con reales de 64 bits o con
enteros de 16 bits entonces eran un lujo); aparecieron los primeros problemas
4.2. MÉTODOS DIRECTOS 191

graves de propagación de errores de redondeo (ver Capı́tulo 2) y, por tanto,


se invirtieron muchos esfuerzos para estudiar su origen y para desarrollar
diversas técnicas que disminuyeran su influencia en el resultado final. Los
resultados de dichas investigaciones fueron muy extensos, pues acababan
desde el establecimiento de una notación estándar en análisis numérico de
matrices hasta las acotaciones de dichos errores, pero, en particular, dieron
lugar a los Métodos de Descomposición.

La sistematización de las modificaciones que realiza el Método de Gauss


compacto sobre la matriz original [A] dió lugar al Método de Doolittle. El
Método de Crout resulta de la misma sistematización pero ahora tomando
la matriz [U ] con diagonal unitaria (en vez de la matriz [L]). En la próximo
subsección se escribe en detalle este método desarrollado por Prescott D.
Crout en 1941 para, según el autor, evaluar determinantes y (sólo en segun-
do lugar) resolver sistemas lineales. Los demás métodos de descomposición
son casos particulares de los anteriores. Por consiguiente, los Métodos de
Descomposición son simplemente una sistematización del Método de Gauss.
Es decir, consisten en organizar las operaciones que se realizan en el Método
de Gauss de una forma distinta y, por tanto, las propiedades estudiadas en la
sección anterior (unicidad de la descomposición, necesidad de pivotamiento,
etc.) son idénticas en todos los casos. A pesar de ello, tienen un enfoque
conceptual distinto (eliminar la triangular inferior versus descomponer en
producto de triangulares) y esta sutil diferencia induce ciertas particulari-
dades que conviene tener presentes:

1. Los Métodos de Descomposición son especialmente indicados para re-


solver sucesivamente varios sistemas lineales con la misma matriz y
distintos términos independientes, sin necesidad, como se habı́an co-
mentado anteriormente para el Método de Gauss origina, de “recordar”
las operaciones de fila realizadas durante el proceso de eliminación. De
hecho, la matriz triangular inferior [L] representa una forma compacta
de recordar dicha operaciones, como se ha visto para la forma compac-
ta del Método de Gauss. Por tanto, una vez descompuesta la matriz
[A] en el producto de triangulares, basta realizar las dos sustituciones
indicadas en 4.27 para tantos vectores {b} como se desee. En contra-
partida, cuando todos los términos independientes son conocidos de
antemano y se quiere resolver todos los sistemas simultáneamente, la
simplicidad que existı́a en el Método de Gauss original para realizar las
operaciones de fila sobre todos los términos independientes en paralelo
se ha perdido. En la práctica, cuando se opta por un Método de Des-
192 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

composición, aunque se conozcan todos los términos independientes


de antemano, se procede de forma secuencial resolviendo consecutiva-
mente para cada término independiente de dos sistemas triangulares.

2. La compacidad de las operaciones de los Métodos de Descomposición


permite mejoras en la precisión de los resultados empleando únicamen-
te unas pocas variables de precisión alta. Esta ventaja de los Métodos
de Descomposición respecto de los Métodos de Eliminación ha perdido
importancia con el progresivo abaratamiento de la memoria.

4.2.6. Método de Doolittle


Aún cuando las formas especı́ficas de [L] y de [U ] se pueden obtener
del proceso de eliminación Gaussiana, es deseable encontrar un método más
directo para su determinación, para que, si fuera necesaria la solución de
varios sistemas utilizando [A] sólo se necesitará realizar una sustitución hacia
adelante y otra hacia atrás. Uno de los procedimientos más populares para
realizar este proceso, es el Método de Doolittle, el cual se ilustra mediante
el siguiente ejemplo.

Considérese la siguiente matriz [A] estrictamente Diagonal Dominante


(ver subsección 4.3.1).
 
6 2 1 −1
2 4 1 0
[A] =  
1 1 4 −1
−1 0 −1 3
De acuerdo a lo estudiado en las secciones anteriores, se garantiza que
[A] se puede factorizar en la forma [A] = [L] · [U ], donde:
 
l11 0 0 0
l21 l22 0 0
[L] = 
l31 l32 l33 0 

l41 l42 l43 l44


y,
 
u11 u12 u13 u14
 0 u22 u23 u24 
[U ] = 
 0

0 u33 u34 
0 0 0 u44
4.2. MÉTODOS DIRECTOS 193

Los 16 elementos conocidos de [A] se pueden usar para determinar par-


cialmente los diez elementos desconocidos de [L] y el mismo número de los
de [U ]. Sin embargo, si el procedimiento debe llevar a una solución única, se
necesita cuatro condiciones adicionales para los elementos de [L] y de [U ].
El Método de Doolittle consiste en requerir arbitrariamente que:

l11 = l22 = l33 = l44 = 1


Entonces:
  
1 0 0 0 u11 u12 u13 u14
l21 1 0 0  0 u22 u23 u24 

[A] = [L] · [U ] = 
l31 l32

1 0  0
 0 u33 u34 
l41 l42 l43 1 0 0 0 u44
La porción de la multiplicación [L] · [U ], que determina la primera fila de
[A], da lugar a las cuatro ecuaciones.

u11 = 6

u12 = 2

u13 = 1

u14 = −1
La porción de multiplicación que determina los elementos restantes de
la primera columna de [A], da las ecuaciones.

l21 u11 = 2

l31 u11 = 1

l41 u11 = −1
Ya que u11 = 6, se tiene que:
1
l21 =
3
1
l31 =
6
1
l41 = −
6
194 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Hasta aquı́ las matrices [L] y [U ] toman la forma.


 
1 0 0 0
 
 1
 
1 0 0


 3 
 
[L] = 
 1



 6 l32 1 0
 
 
 1 
− l42 l43 1
6
y,
 
6 2 1 −1
0 u22 u23 u24 
[U ] = 
0 0 u33 u34 

0 0 0 u44

La porción de multiplicación que determina los elementos restantes en


la segunda fila de [A], lleva a las ecuaciones.

2
+ u22 = 4
3
1
+ u23 = 1
3
1
− + u24 = 0
3
Ası́ que:

10
u22 =
3
2
u23 =
3
1
u24 =
3
Y la que determina los elementos restantes de la segunda columna de
[A], da.
4.2. MÉTODOS DIRECTOS 195

2 10
+ l32 = 1
6 3
2 10
− + l42 = 0
6 3
Ası́ que:

1
l32 =
5
1
l42 =
10
Éste proceso continua, alternando columnas y filas entre [L] y [U ], para
obtener finalmente:
 
1 0 0 0
 
 1
 
1 0 0


 3 
 
[L] = 
 1

1 

 6 1 0
 5 

 
 1 1 9 
− − 1
6 10 37
y,

−1

6 2 1
 
10 2 1 
 

0 

 3 3 3 
[U ] =  
 37 9
0 0 − 

 10 10 

 
 191 
0 0 0
74

4.2.7. Método de Crout


A continuación se presenta el Método de Crout en su versión estándar,
es decir, sin pivotamiento y para matrices llenas. En el Método de Crout
196 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

se realiza la descomposición de la matriz [A] en una [L] por una [U ], esta


última con diagonal unitaria.

Este método tiene un planteamiento recursivo en el que se descomponen


sucesivamente los menores principales de la matriz [A]. Se empieza por el
menor principal de orden 1, luego el de orden 2 y ası́ sucesivamente hasta el
menor de orden n, es decir, la matriz original. En esta ocasión, los menores
principales de orden m de la matriz [A] se denotan por [A(m) ]. La descom-
posición del menor principal de orden 1 es sencilla, puesto que [A(1) ] = a11
y se ha tomado [U ] con diagonal unitaria l11 = a11 y u11 = 1. Suponiendo
ahora descompuesto el menor de orden k, es decir, [A(k) ] = [L(k) ] · [U(k) ],
interesa estudiar cómo se descompone el siguiente menor principal [A(k+1) ].

Conviene primero escribir [A(k+1) ] en función de [A(k) ] y de los coeficien-


tes de [A] necesarios:

 
[A(k) ] {c(k+1) }
[A(k+1) ] =   (4.28)
{f(k+1) }T ak+1,k+1

Donde {c(k+1) } y {f(k+1) } son vectores de Rk :

   

 a1,k+1 
 
 ak+1,1 

 a2,k+1
 
  ak+1,2
 

{c(k+1) } = .. {f(k+1) } = .. (4.29)


 . 




 . 


ak,k+1 ak+1,k
   

Seguidamente, se establece la descomposición de [A(k+1) ] como:

[A(k+1) ] [L(k+1) ] [U(k+1) ]

     
[A(k) ] {c(k+1) } [L(k) ] {0}
[U(k) ] {u(k+1) }
 = · 
{f(k+1) } T {l(k+1) }T T
ak+1,k+1 lk+1,k+1 {0} 1
(4.30)
k
Donde aparecen los siguientes vectores de R :
4.2. MÉTODOS DIRECTOS 197

     

 lk+1,1 
 
 u1,k+1 
 
 0 
 lk+1,2
 
  u2,k+1
 
  0 
 
{l(k+1) } = .. {u(k+1) } = .. {0} = ..


 . 




 . 




 . 

 
lk+1,k uk,k+1 0
    
(4.31)
Y, por último, tras proceder a multiplicar las matrices [L(k+1) ] y [U(k+1) ]
en la ecuación 4.30, se obtiene las ecuaciones necesarias para la descompo-
sición del menor principal [A(k+1) ] Es decir:

[L(k) ] · {u(k+1) } = {c(k+1) }

[U(k) ]T · {l(k+1) } = {f(k+1) } (4.32)

lk+1,k+1 = ak+1,k+1 − {l(k+1) }T · {u(k+1) }

Nótese que los vectores {u(k+1) } y {l(k+1) } se obtienen resolviendo (me-


diante sustitución hacia adelante) sistema con matrices triangulares inferio-
res [L(k) ] y [U(k) ]T

El algoritmo de descomposición de Crout se obtiene finalmente repitiendo


las ecuaciones 4.32 para todo k = 1 : n − 1, sustituyendo las definiciones de
los vectores por las ecuaciones 4.29 y 4.31, y planteando explı́citamente las
dos sustituciones hacia a delante. Es decir:

l11 = a11 u11 = 1

k =1:n−1
198 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

 a1,k+1
 u1,k+1 =
l11







i−1

 !

 X
ai,k+1 − lij uj,k+1





 j=1
ui,k+1 = i=2:k


lii








 lk+1,1 = ak+1,1


(4.33)


 Xi−1
l = a − uji lk+1,j i=2:k



 k+1,i k+1,i

j=1







uk+1,k+1 = 1








k



 X
 l
 k+1,k+1

 = a k+1,k+1 − lk+1,i ui,k+1
i=1

Como ya se ha indicado, se ha supuesto que la matriz [A] es tal que per-


mite su descomposición sin pivotamiento; si esto no fuera ası́, algún lk+1,k+1
se anuları́a lo cual impedirı́a la descomposición del siguiente menor, pues-
to que se producirı́a una división para cero. Las técnicas de pivotamiento
también pueden emplearse con estos métodos y son muy extendidas a pesar
de que complican considerablemente el algoritmo expuesto en la expresión
4.33.

También conviene observar que el número de operaciones necesarias pa-


ra la descomposición (expresión 4.33) y posterior resolución de los sistemas
triangulares (ecuación 4.27) coincide exactamente con el Método de Gauss.
A pesar de ello, cada elemento de [L] y [U ] se evalúan de forma compacta
con las ecuaciones descritas anteriormente. Por este motivo, puede reducirse
la propagación de errores de redondeo sin los sumatorios que aparecen en las
expresiones de ui,k+1 y lk+1,i se evalúan con una precisión mayor (sólo es ne-
cesario un número con precisión alta). Esta técnica de mejora de la precisión
fue importante en su dı́a, pero a caı́do en desuso debido al abaratamiento
de la memoria. Además, para algunos sistemas lineales, la combinación de
variables de precisión normal y de precisión alta puede llegar a producir
más errores de redondeo que trabajar solamente con variables de precisión
normal.
4.2. MÉTODOS DIRECTOS 199

Por último, para evaluar un elemento ui,k+1 de [U ] únicamente es ne-


cesario conocer el elemento correspondiente ai,k+1 de [A], los de [U ] que se
encuentren encima de él en su propia columna (us,k+1 , s = 1 : i − 1) y la
descomposición previa del menor de [A] de orden k. Es decir, no son nece-
sarios ninguno de los coeficientes de [A] correspondientes a la columna k + 1
por encima de ui,k+1 ni del menor citado. En otras palabras, el elemento
ai,k+1 es necesario para calcular el ui,k+1 , pero no para calcular los siguien-
tes elementos de [U ]. Por consiguiente, se puede almacenar [U ] “sobre” (es
decir, empleando los mismos espacios de memoria) la matriz triangular su-
perior de [A]. Pueden deducirse conclusiones similares para la matriz [L]. Es
decir, el Método de Crout está perfectamente diseñado para poder reducir
las necesidades de memoria almacenando las dos matrices triangulares en
las mismas posiciones de memoria que ocupaba originalmente la matriz [A]
(la diagonal de [U ] por ser unitaria no es necesario guardarla). Más aún, el
almacenamiento de [A], y por tanto el de [L] y [U ], puede reducirse en el
caso de que la matriz [A] tenga estructura en banda o skyline. En realidad,
los esquemas de almacenamiento para estos tipos de matrices se diseñaron
para los métodos directos y conviene emplearlos siempre que la dimensión
de las matrices exceda las pocas decenas.

Ejemplo:

Utilizando en Método de Crout, encontrar la solución del sistema de


ecuaciones lineales expresado en forma matricial, dado a continuación.
     
6 2 1 −1   x1 
 
 3 

2 4 1 0 
x2
 
5

 · =
1 1 4 −1  x  −8 
 3
 

  
−1 0 −1 3 x4 6
 

Solución

De acuerdo con lo descrito en los párrafos anteriores, en el Método de


Crout, se debe descomponer la matriz [A] del sistema de ecuaciones lineales
propuesto en este ejemplo en dos matrices triangulares [L] y [U ], donde
[U ] tiene diagonal principal unitaria. Para esto, se utilizará el algoritmo
propuesto en la expresión 4.33. Entonces, para el primer paso (k = 1) de la
descomposición y de acuerdo con el algoritmo 4.33, se tiene que:
200 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES



 l11 = a11 = 6




u11 = 1







a12 1




 u12 = =
l11 3






 l21 = a21 = 2







 u22 = 1




 1
10

 X
l = a − l2i ui2 =

 22 22


3
i=1

Hasta aquı́, la descomposición es la siguiente:

     
6 2 1 −1 6 0 0 0 1 1/3 u13 u14
2 4 1 0  2 10/3 0 0  0 1 u23 u24 
 = · 
1 1 4 −1 l31 l32 l33 0  0 0 u33 u34 
−1 0 −1 3 l41 l42 l43 l44 0 0 0 u44
| {z } | {z } | {z }
[A] [L] [U ]

Luego, en el segundo paso (k = 2), se obtendrán los términos l3j de [L] y


ui3 de [U ], para i = 2 y j = 1. Por lo que, de acuerdo con el algoritmo 4.33.
4.2. MÉTODOS DIRECTOS 201

a13 1

 u13 = =
l11 6








Para i = 2










 X 1
a − l2j uj3



 23
1

j=1



 u23 = =
l 5

22





l31 = a31 = 1




1



 X 2
l32 = a32 − uj2 l3j =


3




 j=1








 u33 = 1




 2
37

 X
 l33 = a33 − l3i ui3 =


10

i=1

Añadiendo a la descomposición del primer paso (k = 1) los elementos l3j


y ui3 obtenidos, se tiene que:

     
6 2 1 −1 6 0 0 0 1 1/3 1/6 u14
2 4 1 0 =  2 10/3 0 0  · 0 1 1/5 u24 
  

1 1 4 −1   1 2/3 37/10 0  0 0 1 u34 
−1 0 −1 3 l41 l42 l43 l44 0 0 0 u44
| {z } | {z } | {z }
[A] [L] [U ]

Finalmente, en el último paso (k = 3), se calculan los valores de l4j de


[L] y ui4 de [U ], para i = 2 : 3 y j = 1 : i − 1. Reemplazando estos datos en
el algoritmo 4.33.
202 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

a14 1


 u14 = =−
l11 6







Para i = 2








  
1



 X


 a24 − l2j uj4 

j=1 1


u24 = =


l 10



 22




Para i = 3







  



 X 2


 a34 − l3j uj4 

9


 j=1

 u34 = =−
l33 37







l41 = a41 = −1







 Para i = 2




 1
1

 X
l = a − uj2 l4j =

42 42

3





 j=1




Para i = 3








 2
9

 X
l = a − uj3 l4j = −


 43 43

 10
j=1







u44 = 1








3

191

 X

 l44 = a44 −
 l4i ui4 =
74


i=1

Por lo que agregando a las matrices de descomposición los elementos


obtenidos en este último paso (k = 3), se llega a las matrices [L] y [U ]
finales.
4.2. MÉTODOS DIRECTOS 203

     
6 2 1 −1 6 0 0 0 1 1/3 1/6 −1/6
2 4 1 0 =  2 10/3 0 0   · 0 1 1/5 1/10 
  

1 1 4 −1   1 2/3 37/10 0  0 0 1 −9/37
−1 0 −1 3 −1 1/3 −9/10 191/74 0 0 0 1
| {z } | {z } | {z }
[A] [L] [U ]

Una vez obtenidas las matrices [L] y [U ], se continúa con las sustituciones
hacia adelante y hacia atrás dadas en la expresión 4.27. Para la sustitución
hacia adelante, se tiene que:
     
6 0 0 0 
 y1 
 
 3 

 2 10/3 0 0   y2
 
5

 · =
1 2/3 37/10 0    y3 
  −8 

 
−1 1/3 −9/10 191/74 y4 6
  
| {z } | {z } | {z }
[L] {y} {b}

De resolver este último sistema (sustitución hacia adelante), se llega a:

1 6
y1 = , y2 =
2 5
y,

93 284
y3 = − , y4 =
37 191
Ahora, con los valores de {y} se sigue con la sustitución hacia atrás dada
en la expresión 4.27, ası́:
     
1 1/3 1/6 −1/6 
 x1 
 
 1/2 

0 1 1/5 1/10   x2
 
6/5

 · =
0 0 1 −9/37   x3 
 
 −93/37 

0 0 0 1 x4 284/191
   
| {z } | {z } | {z }
[U ] {x} {y}

Por último, al resolver este sistema (sustitución hacia atrás), se llega a la


solución del sistema de ecuaciones lineales propuesto en este ejemplo. Esta
es:
204 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES


 117 

191

 


 


 

 



 283 




 0, 6126 

191 
   
1, 4817
  
{x} = '

 411  
 −2, 1518 

 − 
 
1, 4869

191

 


 


 

284

 


 

191
Los cálculos fueron realizados utilizando fracciones para, de esta manera,
evitar el Error de Redondeo (ver Capı́tulo 2). El número total de operaciones
realizado hasta llegar a la solución al igual que en el Método de Eliminación
de Gauss, de 62 (ver Ejemplo de la subsección 4.2.2).

4.2.8. Método de Cholesky


Un caso bastante usual por el gran número de aplicaciones que se en-
cuentran en el marco de la resolución numérica de ecuaciones en derivadas
parciales (Métodos de Diferencias Finitas, Elementos Finitos, etc.) es el de
sistemas con matrices simétricas y definidas positivas. Como ya se ha visto
anteriormente, este es un caso en el que no es necesario pivotar (véase el
comentario al respecto al final del Análisis Matricial del Método de Gauss),
y además conviene explotar el carácter simétrico de [A] tanto desde el punto
de vista del número de operaciones como del almacenamiento. El Método
de Cholesky se propone precisamente utilizar esta información previa para
realizar una descomposición más eficaz que el Método de Crout.

De nuevo, la descomposición se realiza consecutivamente sobre todos los


menores de [A] y ahora el objetivo es encontrar [L] tal que:

[A] = [L] · [L]T


Es decir, la incógnita es una única matriz triangular inferior [L], y su
transpuesta [L]T hace de matriz triangular superior. El menor de orden 1
es, de nuevo, muy simple:

l11 = a11
Y los siguientes se obtienen a partir de otra relación de recurrencia.
Descompuesto el menor de orden k:
4.2. MÉTODOS DIRECTOS 205

[A(k) ] = [L(k) ] · [L(k) ]T


Se establece la descomposición de [A(k+1) ] (ver ecuaciones 4.28, 4.29 y
4.30) como:

[A(k+1) ] [L(k+1) ] [L(k+1) ]T


[L(k) ]T {l(k+1) }
     
[A(k) ] {f(k+1) } [L(k) ] {0}
 = · 
{f(k+1) } T {l(k+1) } T T
ak+1,k+1 lk+1,k+1 {0} lk+1,k+1
(4.34)
Nótese que, por ser [A] una matriz simétrica, los vectores {c(k+1) } y
{f(k+1) } definidos en la ecuación 4.29 coinciden. A partir de 4.34 se obtie-
nen las ecuaciones necesarias para la descomposición del menor principal
[A(k+1) ]:

[L(k) ] · {l(k+1) } = {f(k+1) }


q (4.35)
lk+1,k+1 = ak+1,k+1 − {l(k+1) }T · {l(k+1) }
Detallando la sustitución hacia adelante para el cálculo de {l(k+1) } se
llega al algoritmo:

l11 = a11
k =1:n−1
 ak+1,1
 lk+1,1 =
l11







i−1

 !

 X
ak+1,i − lij lk+1,j




j=1 (4.36)
lk+1,i = i=2:k


 lii



 v


 u
u X k
2



 lk+1,k+1 = tak+1,k+1 − lk+1,i


i=1
Para concluir, es preciso comprobar que este algoritmo puede utilizarse
para cualquier matriz simétrica y definida positiva. El algoritmo sólo falla-
rı́a si se realizaran divisiones para cero o se calcularan raı́ces cuadradas de
números negativos.
206 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Teorema 4.2.4 La descomposición de Cholesky dada por la expresión 4.36


puede realizarse para cualquier matriz [A] simétrica y definida positiva.

La demostración de este teorema se realiza de la siguiente manera:

Por ser [A] simétrica y definida positiva:

a11 > 0

y,


l11 = a11 > 0

A partir de aquı́, se procede recursivamente. Se supone que se tiene la


descomposición:

[A(k) ] = [L(k) ] · [L(k) ]T

Es decir, que se han ido obteniendo coeficientes lii positivos, con i = 1 : k,


y se comprueba que puede hacerse la descomposición:

[A(k+1) ] = [L(k+1) ] · [L(k+1) ]T

La ecuación 4.34 y la expresión4.35 permiten obtener el determinante


del menor [A(k+1) ], de la siguiente manera:

det([A(k+1) ]) = det([L(k) ])2 (ak+1,k+1 − {l(k+1) }T · {l(k+1) })

Se verifica que det([A(k+1) ]) > 0 (por ser [A] simétrica y definida positiva)
y que det([L(k) ])2 > 0 (por ser positivos todos sus elementos diagonales). En
consecuencia:

ak+1,k+1 − {l(k+1) }T · {l(k+1) }

Es positivo, y al extraer la raı́z cuadrada se obtiene:

lk+1,k+1 > 0
4.2. MÉTODOS DIRECTOS 207

Ejemplo:

Utilizando en Método de Cholesky, encontrar la solución del sistema de


ecuaciones lineales expresado en forma matricial, dado a continuación.
     
1 2 −1 4  x1
 
 
 3 

 2 13 4 11  x2  
7

−1 4 14 7  ·  x3 =
 
 
  11 
  
4 11 7 27 x4 −6
  

Solución

De acuerdo con lo descrito en los párrafos anteriores, en el Método de


Cholesky, se debe descomponer la matriz simétrica [A] (y definida positiva)
del sistema de ecuaciones lineales propuesto en este ejemplo en dos matrices
triangulares [L] y [L]T . Para esto, se utilizará el algoritmo propuesto en la
expresión 4.33. Entonces, para el primer paso (k = 1) de la descomposición
y de acuerdo con el algoritmo 4.36, se tiene que:
 √

 l11 = a11 = 1


a21



 l21 = =2


l11

 v
1

 u
 X
2
 u


 l22 = ta22 − l2i =3

i=1

Hasta aquı́, la descomposición es la siguiente:

     
1 2 −1 4 1 0 0 0 1 2 l31 l41
 2 13 4 11  2 3 0 0  0
  3 l32 l42 
−1 4 14 7  = l31 l32 l33 0  · 0
   
0 l33 l43 
4 11 7 27 l41 l42 l43 l44 0 0 0 l44
| {z } | {z } | {z }
[A] [L] [L]T

Luego, en el segundo paso (k = 2), se obtendrán los términos l3j de [L],


para i = 2 y j = 1. Por lo que, de acuerdo con el algoritmo 4.36.
208 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

a13 1

 u13 = =
l11 6








Para i = 2










 X 1
a − l2j uj3



 23
1

j=1



 u23 = =
l 5

22





l31 = a31 = 1




1



 X 2
l32 = a32 − uj2 l3j =


3




 j=1








 u33 = 1




 2
37

 X
l = a − l3i ui3 =

33 33

10


i=1

Añadiendo a la descomposición del primer paso (k = 1) los términos


elementosl3j y ui3 obtenidos, se tiene que:

 a31
l31 = = −1
l




 11



Para i = 2







  



 X1
a32 − l2j l3j 

 j=1

 l32 = =2
l22







 v
2

 u
 X
2
 u
 l
 33

 = t a 33 − l3i =3
i=1

Añadiendo a la descomposición del primer paso (k = 1) los elementos l3j


obtenidos, se tiene que:
4.2. MÉTODOS DIRECTOS 209

     
1 2 −1 4 1 0 0 0 1 2 −1 u41
 2 13 4 11  2 3 0 0  0 3 2 u42 
·
−1 4 14 7  = −1 2
   
3 0  0 0 3 u43 
4 11 7 27 l41 l42 l43 l44 0 0 0 u44
| {z } | {z } | {z }
[A] [L] [L]T

Finalmente, en el último paso (k = 3), se calculan los valores de l4j de


[L], para i = 2 : 3 y j = 1 : i − 1. Reemplazando estos datos en el algoritmo
4.36.

 a41
 l41 = =4
l11











 Para i = 2



  
1



 X


 a42 − l2j l4j 


 j=1
l42 = =1






 l22

 Para i = 3



  



 X2



 a43 − l3j l4j 

j=1


l43 = =3


l33







 v


 u
X3
2
 u
l = a − l4i =1

 44 44

 t

i=1

Por lo que agregando a las matrices de descomposición los elementos


obtenidos en este último paso (k = 3), se llega a las matrices [L] y [L]T
finales.
210 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

     
1 2 −1 4 1 0 0 0 1 2 −1 4
 2 13 4 11  2 3 0 0 0 3 2 1
·
−1 4 14 7  = −1
   
2 3 0 0 0 3 3
4 11 7 27 4 1 3 1 0 0 0 1
| {z } | {z } | {z }
[A] [L] [L]T

Una vez obtenidas las matrices [L] y [L]T , se continúa con las susti-
tuciones hacia adelante y hacia atrás dadas en la expresión 4.27. Para la
sustitución hacia adelante, se tiene que:
     
1 0 0 0   y1 
 
 3 

2 3 0 0

y2
 
7

 · =
−1 2 3 0  y3   11 
  
 
4 1 3 1 y4 −6
  
| {z } | {z } | {z }
[L] {y} {b}

De resolver este último sistema (sustitución hacia adelante), se llega a:

1
y1 = 3 , y2 =
3
y,

40 95
y3 = , y4 = −
9 3
Ahora, con los valores de {y} se sigue con la sustitución hacia atrás dada
en la expresión 4.27, ası́:
     
1 2 −1 4   x1 
 
 3 

0 3 2 1

x2
 
1/3

 · =
0 0 3 3  x 40/9
 3
   
   
0 0 0 1 x4 −95/3
  
| {z } | {z } | {z }
[L]T {x} {y}

Por último, al resolver este sistema (sustitución hacia atrás), se llega a la


solución del sistema de ecuaciones lineales propuesto en este ejemplo. Esta
es:
4.2. MÉTODOS DIRECTOS 211

 15040 
 
81

 


 


 

 

 926 
  
185, 6790 

 − 
 
81 
   
−11, 4320
  
{x} = '

 895   
 33, 1481 
−31, 6666

 
  
27

 


 


 

95

 

 −
 

3
Los cálculos fueron realizados utilizando fracciones para, de esta manera,
evitar el Error de Redondeo (ver Capı́tulo 2).

4.2.9. Métodos [L] · [D] · [U ] y [L] · [D] · [L]T


Como se ha visto, el Método de Crout consiste en descomponer la matriz
[A] en el producto de dos matrices triangulares, una de las cuales (la matriz
triangular superior [U ]) tiene unos en la diagonal. Si se desea, puede conse-
guirse que ambas matrices ([L] y [U ]) tengan diagonales unitarias, a cambio
de añadir una matriz diagonal [D]. Se obtiene entonces la descomposición
generalizada:

[A] = [L] · [D] · [U ]


Pueden obtenerse las matrices [L], [D] y [U ] de forma recursiva, tal y
como se ha visto para el Método de Crout.

Ası́ mismo, la descomposición de Cholesky:

[A] = [L] · [L]T


Pueden generalizarse en:

[A] = [L] · [D] · [L]T


De nuevo, a cambio de añadir una matriz diagonal [D], pueden imponerse
que [L] tenga diagonal unitaria.

Para ambos métodos, una vez efectuada la descomposición, la solución


{x} del sistema lineal se obtiene resolviendo tres sistemas con solución in-
mediata, dos triangulares y uno diagonal.
212 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

El rango de aplicación de las descomposiciones [L]·[U ] y [L]·[D]·[U ] es el


mismo. No ocurre lo mismo para las descomposiciones simétricas [L] · [L]T y
[L] · [D] · [L]T , solamente las matrices simétricas y definidas positivas pueden
escribirse como:

[A] = [L] · [L]T


En cambio, cualquier matriz simétrica que no requiera pivotamiento (por
ejemplo, las matrices simétricas y definidas negativas) puede expresarse co-
mo:

[A] = [L] · [D] · [L]T

4.3. Métodos Iterativos


4.3.1. Matriz Dominante
Cuando en cada una de las filas de una matriz cuadrada [A], el valor
absoluto de uno de los coeficientes es mayor o igual a la suma de los valores
absolutos de los demás coeficientes de la misma fila, y en cada fila el coefi-
ciente mayor está en una columna diferente y no repetida, la matriz [A] se
denomina Matriz Dominante.

Se dice que una matriz [A] es Diagonal Dominante cuando se cumple


que:

n
X
|aii | ≥ |aij |
j=1
j 6= i

para cada i = 1 : n.

Diagrama de Bloques para una Matriz Dominante


En la Figura 4.3 se presenta un diagrama de bloques para la comproba-
ción de la dominancia de una matriz.
Una familia de técnicas para la solución de Sistemas de Ecuaciones Linea-
les es la conocida como Métodos Iterativos (cuando se debe resolver Sistemas
4.3. MÉTODOS ITERATIVOS 213

Matriz Dominante

1 2

Obtenga el valor mayor Vea si todos los


de cada fila y su posi- términos están en
Lea la matriz
ción, en valor absoluto. diferente posición
en las columnas.

3 4

Comparar el valor ab-


soluto del mayor valor
de cada fila con la su-
ma del resto de los
valores absolutos de la
fila.

Figura 4.3: Diagrama de Bloques para la comprobación de la dominancia de


una matriz dada.

de Ecuaciones Lineales “grandes”, estos métodos producen menor error que


los métodos directos). De manera general, estos están basados en la descom-
posición aditiva de una matriz [A], de la forma:

[A] = [P ] − [N ] (4.37)

Donde [P ] y [N ] son matrices y [P ] es no singular, conocida como Matriz


de Precondicionamiento o Precondicionador. Precisamente, dado {x}(0) , se
puede calcular {x}(k) para k ≥ 1, resolviendo el sistema que se obtiene al
sustituir 4.37 en 4.1:

[P ] · {x}(k+1) = [N ] · {x}(k) + {b}

de donde que,

{x}(k+1) = [B] {x}(k) + {f } (4.38)


214 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Para k ≥ 0. La matriz de iteración del método 4.38 es [B] = [P ]−1 · [N ],


mientras {f } = [P ]−1 · {b}. Alternativamente, 4.38 puede ser escrita en la
forma:

{x}(k+1) = {x}(k) + [P ]−1 · {r}(k) (4.39)


donde, de las ecuaciones 4.1 y 4.37, se tiene que:

{r}(k) = {b} − [A] · {x}(k) (4.40)


Se denomina Vector Residual del paso k. La relación 4.39 resalta el hecho
de que un sistema lineal, con una matriz de coeficientes [P ], debe ser resuelta
para actualizar la solución del paso k +1. Ası́, [P ], además de ser no singular,
debe ser fácilmente inversible, con el objetivo de mantener bajo el costo
computacional total. (Adviértase que, si [P ] fuera igual a [A] y [N ] = 0, el
método 4.39 convergerá en una iteración, pero con el mismo consto de un
método directo).

A continuación se mencionan dos propiedades que aseguran la conver-


gencia de la expresión 4.39, proporcionando las condiciones para la adecuada
descomposición de [A].

a) Dado [A] = [P ] − [N ], con [A] y [P ] simétricas y definidas positivas. Si


la matriz 2[P ] − [A] es definida positiva, entonces el método iterativo
definido en 4.39 converge para cualquier valor inicial {x}(0) dado y:

ρ([B]) = k[B]k[A] = k[B]k[P ] < 1

Donde que, ρ([B]) es el radio espectral de [B], definido como ρ([B]) =


máx|λi |, y donde que λi son los valores propios de [B]. Por otro lado:

{x}T · [B]T · [A] · [B] · {x}


k[B]k[A] =
{x}T · [P ] · {x}
y,

{x}T · [B]T · [P ] · [B] · {x}


k[B]k[P ] =
{x}T · [P ] · {x}

Se conocen como la norma energética de [B] con respecto a [A],y a la


norma energética de [B] con respecto a [P], respectivamente. Además,
4.3. MÉTODOS ITERATIVOS 215

la convergencia de la iteración es monótona con respecto a las normas


k · k[P ] y k · k[A] (ver Capı́tulo 1), esto es:

ke(k+1) k[P ] < ke(k) k[P ]

y,

ke(k+1) k[A] < ke(k) k[A]

para k = 0 : . . .

b) Dado [A] = [P ] − [N ], con [A] simétrica y definida positiva. Si la matriz


[P ] + [P ]T − [A] es definida positiva, entonces [P ] es inversible, y el
método iterativo de 4.39 tiene convergencia monotónica con respecto
a la norma k · k[P ] (ver Capı́tulo 1).

4.3.2. Método de Jacobi


Si todos los términos de la diagonal principal de [A] son diferentes de cero,
se puede despejar la variable correspondiente en cada ecuación, obteniendo
el siguiente sistema lineal equivalente:
 
n
1  X 
xi = bi − aij xj  (4.41)
 
aii  
j=1
j 6= i

para i = 1 : n. En el Método de Jacobi, se escoge un vector arbitrario inicial


{x}(0) , entonces {x}(k+1) es calculado por la ecuación:
 
n
(k+1) 1  X 
xi = bi − aij xj (k)  (4.42)
 
aii  
j=1
j 6= i

para i = 1 : n. En base a esto se puede realizar la siguiente descomposición


de [A]:
216 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES



 [P ] = [D]



[N ] = [D] − [A] (4.43)




[N ] = [E] + [F ]

Donde [D] es una matriz diagonal de la diagonal principal de [A], [E] es


una matriz triangular inferior de los valores:

 eij = −aij , Si i > j

eij = 0, Si i ≤ j

y [F ] es una matriz triangular superior de los valores:



 fij = −aij , Si j > i

fij = 0, Si j ≤ i

Como una consecuencia:

[A] = [D] − [[E] + [F ]]


Entonces, la matriz iteración del Método de Jacobi está dada por:

[B]J = [D]−1 · [[E] + [F ]]


o por:
[B]J = [1] − [D]−1 · [A] (4.44)
Una generalización del Método de Jacobi es el Método de Sobre-relajación
(o JOR por sus siglas en inglés), en el cual se introduce un parámetro de
relajación ω, entonces la ecuación 4.42 es reemplazada por:
 
n
ω  X 
xi (k+1) = bi − aij xj (k)  + (1 − ω)xi (k) (4.45)
 
aii  
j=1
j 6= i

para i = 1 : n. La correspondiente matriz de iteración es:

[B]Jω = ω[B]J + (1 − ω)[1] (4.46)


4.3. MÉTODOS ITERATIVOS 217

En la forma de la ecuación 4.39, el Método de Sobre-relajación se escribe


como:

{x}(k+1) = {x}(k) + ω[D]−1 · {r}(k)

Este método es consistente para cualquier ω 6= 0 y para ω = 1 éste


coincide con el Método de Jacobi.

Pseudocódigo del Método de Jacobi

x =zeros(n)
xNi =zeros(n)
for i = 1 : n
sumatoria= 0
for j = 1 : n
if (i 6= j)
sumatoria = sumatoria+aij ∗ xj
end
end
(bi − sumatoria )
xNi =
aii
end
for i = 1:n
if r (k) (xNi ) ≤ tolerancia


return
else
xi = xNi
end
end

Ejemplo:
Resolver el siguiente sistema de ecuaciones utilizando el Método Iterativo
de Jacobi.

13x1 + 5x2 − 6x3 = 9 (4.47)

x1 − 10x2 + 6x3 = 4 (4.48)

0, 5x1 − 3x2 + 16x3 = 4 (4.49)


218 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Solución Despejando x1 de 4.47, se tiene:

9 − 5x2 + 6x3
x1 =
13
Despejando x2 de 4.48, se tiene:

4 − (x1 + 6x3 )
x2 =
−10
Despejando x3 de 4.49, se tiene que:

4 − (0, 5x1 − 3x2 )


x3 =
16
Tomando una tolerancia de 0, 10 y utilizando el pseudocódigo dado en
esta subsección, se realizó la siguiente tabla con los valores obtenidos para
las variables x1 , x2 y x3 en cada iteración.

x1 x2 x3
0 0 0
9/13 -2/5 1/4
0,96 -0,18 0,1534
0,8326 -0,2118 0,1861
0,8597 -0,2051 0,1843
Podemos comprobar la convergencia mediante el residuo en cada itera-
ción, esto es:
 (i) (i) (i) (i)

 r1 = 13x1 + 5x2 − 6x3 − 9




(i) (i) (i) (i)
r2 = x1 − 10x2 + 6x3 − 4




 (i)
 (i) (i) (i)
r3 = 0, 5x1 − 3x2 + 16x3 − 4
y en donde que:
r 2  2  2
(i) (i) (i) (i)
r = r1 + r2 + r3

es la norma del residuo que, en este caso, deberá ser menor o igual que
tol = 0, 1 para ser una solución aceptable, entonces:

Para i = 0:
4.3. MÉTODOS ITERATIVOS 219

(0)

r1 = 9 





(0)
⇒ r(0) = (9)2 + (4)2 + (4)2 = 10, 6310
p
r2 = 4




(0)

r3 = 4

Donde 10, 6301 > 0, 1 entonces, i = i + 1.

Para i = 1:

(1)

r1 = −3, 5 




(1)
p
r2 = 2, 1923 ⇒ r(1) = (3, 5)2 + (2, 1923)2 + (1, 5462)2 = 4, 4098




(1)
r3 = 1, 5462

Donde 4, 4098 > 0, 1 entonces, i = i + 1.

Para i = 2:

(2)

r1 = 1, 6751 




(2)
p
r2 = −0, 3101 ⇒ r(2) = (1, 6751)2 + (0, 3101)2 + (0, 5224)2 = 1, 7819




(2)
r3 = −0, 5224

Donde 1, 7819 > 0, 1 entonces, i = i + 1.

Para i = 3:

(3)

r1 = −0, 3518 
 


(3)
p
r2 = 0, 0672 ⇒ r(3) = (0, 3518)2 + (0, 0672)2 + (0, 0293)2 = 0, 3594




(3)
r3 = 0, 0293

Donde 0, 3594 > 0, 1 entonces, i = i + 1.

Para i = 4:
220 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

(4)

r1 = 0, 0448 




(4)
p
r2 = 0, 0165 ⇒ r(4) = (0, 0448)2 + (0, 0165)2 + (0, 00605)2 = 0, 0481




(4)
r3 = −0, 00605

Donde 0, 0481 < 0, 1 y comprobamos que en la 4ta iteración encontramos


la solución y demostramos la convergencia mediante la Figura 4.4.
Por otro lado, para este ejemplo, la matriz [A] está dada por:
 
13 5 −6
[A] =  1 −10 6 
0, 5 −3 16

De donde que de las ecuaciones 4.43 se tiene:


 
13 0 0
[P ] = [D] =  0 −10 0 
0 0 16

y que:
 
0 5 −6
[N ] = [P ] − [A] =  1 0 6 
0, 5 −3 0

Además, de la expresión 4.44, se obtiene:


 
0 5/13 −6/13
[B] = [1] − [D]−1 · [A] =  1/10 0 6/10 
−1/32 3/36 0

De aquı́ se tiene que los 3 valores propios de [B] están dados por λ1 =
−0, 364, λ2 = −0, 011 y λ3 = 0, 375 y de acuerdo con los criterios de con-
vergencia para métodos iterativos como el método de Jacobi, se sabe, que
convergerá monotónicamente a la solución partiendo de cualquier {x}(0) , si
su radio espectral, ρ([B]) es menor que uno. Entonces, note que en este caso
ρ([B]) = 0, 375 < 1.
4.3. MÉTODOS ITERATIVOS 221

101

100

10-1

1 2 3 4 5

Figura 4.4: Gráfico de convergencia del método de Jacobi.

4.3.3. Método de Gauss-Seidel


El Método de Gauss-Seidel difiere del Método de Jacobi en el hecho que
en el (k + 1)-ésimo paso los valores disponibles xi (k+1) son usados para la
actualización de la solución, y la ecuación 4.42 se puede reescribir de la
siguiente manera:
 
i−1 n
1 X X
xi (k+1) = bi − aij xj (k+1) − aij xj (k)  (4.50)
aii
j=1 j=i+1

para i = 1 : n. De donde, se puede realizar la siguiente descomposición de


[A]:

 [P]=[D]-[E]

[N]=[F]

y la matriz de iteración asociada es:


222 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

[B]GS = [[D] − [E]]−1 · [F ]


En analogı́a con la generalización realizada en el Método de Jacobi, se
introduce el Método de Sobre-relajación Sucesiva (SOR por sus siglas en
inglés):

 
i−1 n
ω  X X
xi (k+1) = bi − aij xj (k+1) − aij xj (k)  + (1 − ω)xi (k) (4.51)
aii
j=1 j=i+1

para i = 1 : n. La ecuación 4.51 puede ser re-escrita de manera vectorial


como:

[[1] − ω[D]−1 · [E]] · {x}(k+1) = [(1 + ω)[1] + ω[D]−1 · [F ]] · {x}(k) + ω[D]−1 · {b}
(4.52)
de donde la matriz de iteración es:

[B(ω)] = [[1] − ω[D]−1 · [E]]−1 · [(1 − ω)[1] + ω[D]−1 · [F ]] (4.53)

Multiplicando por [D] ambos lados de la ecuación 4.52 y sustituyendo


en esta:

[A] = [D] − [[E] + [F ]]


Se llega a la siguiente expresión:
 −1
(k+1) (k) 1
{x} = {x} + [D] − [E] · {r}(k)
ω
Este método es consistente para cualquier ω 6= 0 y para ω = 1 coincide
con el Método de Gauss-Seidel. En particular, si ω pertenece al intervalo
(0,1) el método es llamado Baja-relajación, mientras que si ω > 1 este es
llamado Sobre-relajación.

Ejemplo:
Resolver el siguiente sistema de ecuaciones utilizando el Método Iterativo
de Gauss-Seidel.
4.3. MÉTODOS ITERATIVOS 223

13x1 + 5x2 − x3 = 9

x1 − 10x2 + 6x3 = 4

0, 5x1 − 3x2 + 16x3 = 4

Solución El sistema se puede reescribir de forma matricial, ası́:


     
13 5 −6  x1   9 
 1 −10 6  · x2 = 4
1/2 −3 16 x3 4
   
| {z } | {z } | {z }
[A] {x} {b}
Aplicando el Método de Gauss-Seidel dado por la ecuación 4.50, en donde
que, para el sistema dado en este ejemplo, n = 3. Entonces, para la primera
iteración (k = 0) se tomará la solución trivial, es decir:
 
 0 
(0)
{x} = 0
0
 

Ahora, se verifica si los valores de {xi }(0) obtenidos en la primera itera-


ción son soluciones del sistema por medio del criterio dado en el pseudocódigo
propuesto para el Método de Jacobi (ver subsección 4.3.2), esto es:

|r(k) | ≤ tolerancia
Entonces, verificando para cada xi (i = 1 : 3) obtenido en la primera
iteración (k = 0) y remplazando estos valores para obtener el residuo, ya
que la norma del residuo nos dirá si los xi son soluciones del sistema o no.
Para ello, en este caso, la norma del residuo deber ser menor a tol = 0, 1

(0)

r1 = −9 





(0)
⇒ r(0) = (9)2 + (4)2 + (4)2 = 10, 6310
p
r2 = −4




(0)

r3 = −4

donde 10, 6301 > 0, 1 entonces k = k + 1. Ahora:


224 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Para i = 1.
 
3
(1) 1  X (1)
x1 = b1 − a1j xj 
a11
j=2

Sustituyendo los valores correspondientes en la última ecuación.

(1) 1
x1 = {9 − [(5)(0) + (−6)(0)]} = 0, 6923
13
Para i = 2.
 
1 3
(1) 1  X (2)
X (1)
x2 = b2 − a2j xj − a2j xj 
a22
j=1 j=3

Reemplazando en la última ecuación los valores correspondientes.

(1) 1
x2 = [4 − (1)(0, 6923) − (6)(0)] = −0, 3308
−10
Para i = 3.
 
2
(1) 1  X (2)
x3 = b3 − a3j xj 
a33
j=1

Sustituyendo los valores correspondientes en la última ecuación.

(1) 1
x3 = {4 − [(0,5)(0, 6923) + (−3)(−0, 3308)]} = 0, 1664
16
Finalmente, verificamos con el residuo:

(1)

r1 = −2, 6519 





(1)
⇒ r(1) = (2, 6519)2 + (0, 9981)2 + (0)2 = 2, 8335
p
r2 = 0, 9981




(1)

r3 = 0

donde 2, 8335 > 0, 1 entonces k = k + 1.

Ası́, se realizará una tercera iteración (k = 2) en la que se tomará como


vector de incógnitas base el resultado obtenido en la segunda iteración (k =
1).
4.3. MÉTODOS ITERATIVOS 225

 

 0, 6923 


 

 
{x}(1) = −0, 3309

 


 

0, 1664
 

De acuerdo con esto, se procede a calcular el nuevo vector de incógnitas


{x}(2) , ası́:

Para i = 1.
 
3
(2) 1  X (2)
x1 = b1 − a1j xj 
a11
j=2

Reemplazando en la última ecuación los valores correspondientes.

(2) 1
x1 = {9 − [(5)(−0, 3308) + (−6)(0, 1664)]} = 0, 8963
13
Para i = 2.
 
1 3
(2) 1  X (3)
X (2)
x2 = b2 − a2j xj − a2j xj 
a22
j=1 j=3

Sustituyendo los valores correspondientes en la última ecuación.

(2) 1
x2 = [4 − (1)(0, 8963) − (6)(0, 1664)] = −0, 2106
−10
Para i = 3.
 
2
(2) 1  X (3)
x3 = b3 − a3j xj 
a33
j=1

Reemplazando en la última ecuación los valores correspondientes.

(2) 1
x3 = {4 − [(0,5)(0, 8963) + (3)(−0, 2106)]} = 0, 1825
16
A continuación, se verificará si los valores de las incógnitas xi obtenidos
en esta iteración son soluciones del sistema propuesto en este ejemplo, al
226 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

igual que en la iteración anterior se utilizará el criterio dado en el pseudo-


código del Método de Jacobi (ver subsección 4.3.2). Verificando por medio
de la norma del residuo:

(2)

r1 = 0, 5039 
 


(2)
p
r2 = 0, 0973 → r(2) = (0, 5039)2 + (0, 0973)2 + (−5E −5 )2 = 0, 5132




(2)
r3 = −5E −5

(4.54)
donde 0, 5132 > 0, 1 entonces k = k + 1.

De acuerdo con esto se realizará una cuarta iteración (k = 3), en la que


se tomará como vector de incógnitas base el obtenido en la tercera iteración
(k = 2).
 

 0, 8963 

 

 
(2)
{x} = −0, 2106

 


 

0, 1825
 

Ası́, se puede obtener el nuevo vector de incógnitas {x}(3) , de la siguiente


manera:

Para i = 1.
 
3
(3) 1  X (3)
x1 = b1 − a1j xj 
a11
j=2

Sustituyendo los valores correspondientes en la última ecuación.

(3) 1
x1 = {9 − [(5)(−0, 2106) + (6)(0, 1825)]} = 0, 8575
13
Para i = 2.
 
1 3
(3) 1  X (4)
X (3)
x2 = b2 − a2j xj − a2j xj 
a22
j=1 j=3

Reemplazando en la última ecuación los valores correspondientes.


4.3. MÉTODOS ITERATIVOS 227

(3) 1
x2 = [4 − (1)(0, 8575) − (6)(0, 1825)] = −0, 2048
−10
Para i = 3.
 
2
(3) 1  X (4)
x3 = b3 − a3j xj 
a33
j=1

Sustituyendo los valores correspondientes en la última ecuación.

(3) 1
x3 = {4 − [(0, 5)(0, 8575) + (3)(−0, 2048)]} = 0, 1848
16
(3)
Luego, se procede a verificar si los valores de los xi son soluciones del
sistema propuesto en este ejemplo. Se utilizará el mismo criterio que en las
tres iteraciones anteriores.

(3)

r1 = 0, 0147 
 


(3)
p
r2 = 0, 0143 → r(3) = (0, 0147)2 + (0, 0143)2 + (−5E −5 )2 = 0, 0205




(3)
r3 = −5E −5

donde 0, 0205 < 0, 1.

Si cumple. Por lo que de acuerdo con la tolerancia requerida, las solucio-


nes del sistema están dados por el vector:
 

 0, 8575 


 

 
(3)
{x} = −0, 2048

 


 

0, 1848
 

En la Figura 4.5 podemos demostrar la convergencia del método en la


4ta iteración.

4.3.4. Convergencia de los Métodos de Jacobi y Gauss-Seidel


Existen algunas clases especiales de matrices para las cuales es posible
asegurar a priori la convergencia de éste tipo de métodos, a continuación se
describirán las más importantes.
228 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

101

100

10-1

1 2 3 4

Figura 4.5: Gráfico de convergencia del método de Gauss-Seidel.

Si [A] es una Matriz Diagonal Dominante, los Métodos de Jacobi y


Gauss-Seidel son convergentes.

Si [A] y 2[D] − [A] son simétricas y definidas positivas, entonces el


Método de Jacobi es convergente y:

ρ([B]J ) = kBJ k[A] = kBJ k[D]

Si [A] es simétrica y definida positiva, entonces el Método de la Sobre-


relajación (JOR) es convergente para:

2
0<ω<
ρ([D]−1 · [A])

Si [A] es simétrica y definida positiva, el Método de Gauss-Seidel es


monotónicamente convergente con respecto a la norma k · k[A] .
4.4. APLICACIÓN A LA ESTÁTICA 229

Además, al momento de programar estos métodos, deben tenerse en


cuenta los siguientes puntos:

Número de Iteraciones (máximas) que va a realizar el programa.

(solución)
lı́m {x}(k) = {x}
k→∞

Tolerancia para la exactitud de la respuesta.

4.4. Aplicación a la Estática


4.4.1. Armaduras o Celosı́as
Las celosı́as son una de las estructuras más populares y comúnmente
utilizadas en la ingenierı́a. En la Figura 4.6 se muestra una estructura de
éste tipo, que será objeto de análisis para la realización de un algoritmo
capaz de encontrar los esfuerzos en las barras de cualquier armadura que
cumpla con las condición de ser isostática.

P =5

y 2 .

1 3
2

1
2
.3 x

Figura 4.6: Estructura simple de tipo celosı́a.


230 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Para que una armadura sea isostática debe cumplirse la siguiente rela-
ción.

B = 2N − 3 = (2)(3) − (3) = 3 Sı́ cumple

Donde:

B= Número de barras.
n= Número de nudos.

Discretización

Elemento Nudo i Nudo j θ


(1) 1 2 α1
(2) 1 3 α2
(3) 2 3 α3

Análisis de Fuerzas

El análisis de las fuerzas que actúan sobre una barra y su descomposición


en ejes locales y globales se lo realiza mediante la Figura 4.7.

Matriz

    
Q1 

a11 a12 ... a1,B+3  F1
  
 P1 
  
a21 a22 a2,B+3   F2
 
  
.
.. .. · .. = ..
 

 . .   . 
 
 Q


   N 

a2N,1 a2N,2 . . . a2N,B+3 F2N
  
PN

Nudo 1:

R 1x
R 1y
4.4. APLICACIÓN A LA ESTÁTICA 231

−F e(j) cos α (j)

y
−F e(j) sen α
e

F e(i) sen α

α
x
(i) F e(i) cos α

Figura 4.7: Análisis en coordenadas globales y locales de las fuerzas que


actúan sobre un elemento (barra) de una estructura tipo celosı́a.

Fxint = Fxext
P P

F1 cos α1 + F2 cos α2 = −R1x

Fyint = Fyext
P P

F1 sen α1 + F2 sen α2 = R1y

Nudo 2:

Fxint = Fxext
P P

F1 cos(α1 + 180) + F3 cos(α3 + 180) = 0

Fyint = Fyext
P P

F1 sen (α1 + 180) + F3 sen (α3 + 180) = −P


232 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

F1 F2 F3 R1x R1y R3y


n1x cos α1 cos α2 0 1 0 0
n1y sen α1 sen α2 0 0 1 0
n2x cos(α1 + 180) 0 cos α3 0 0 0
n2y sen (α1 + 180) 0 sen α3 0 0 0
n3x 0 cos(α2 + 180) cos(α3 + 180) 0 0 0
n3y 0 sen (α2 + 180) sen (α3 + 180) 0 0 1

Tabla 4.1: Matriz del sistema a resolver

Nudo 3:

Fxint = Fxext
P P

F2 cos(α2 + 180) + F3 cos α3 = 0

Fyint = Fyext
P P

R 3y
F2 sen (α2 + 180) + F3 sen α3 = R3y

Ecuación Adicional:

−P + R1y + R3y = 0

Armado de la Matriz
La Tabla 4.1 corresponde a la armadura isostática de la Figura 4.6.
De acuerdo con la Tabla 4.1, el sistema matricial a resolver queda de la
siguiente manera:

     
cos(α1 ) cos(α2 ) 0 1 0 0 
 F1 
 
 0 

sen(α1 ) sen(α2 ) 0 0 1 0   F2 0
  
 
 

   
 
 

cos(180 + α1 ) 0 cos(180 + α3 ) 0 0 0   F3 0
  
· =



 sen(180 + α1 ) 0 sen(180 + α3 ) 0 0 0  
  R1x 
 
 −P 

0 cos(180 + α2 ) cos(α3 ) 0 0 0   R2x 0
  
 
 


 
 
 

0 sen(180 + α2 ) sen(α3 ) 0 0 1 R3x 0
   
| {z } | {z } | {z }
[A] {x} {b}
4.5. EJERCICIOS 233

4.5. Ejercicios
1. La temperatura en los nodos de la malla de una placa se puede calcular
con el promedio de las temperaturas de los 4 nodos vecinos de la izquier-
da, derecha, arriba y abajo. Una placa cuadrada de 3m de lado tiene la
temperatura en los nodos de los bordes como se indica en la Figura 4.8.

50 50

100 a b 30

100 c d 30

60 60

Figura 4.8: Malla de una placa cuadrada en cuyos nodos internos se quiere
obtener la temperatura promedio.

Plantee el sistema de ecuaciones y resuelva con eliminación de Gauss,


encontrar a, b, c y d.

Encuentre la matriz [B] de Jacobi y comente sobre la convergencia.

Con x(0) = (a = 60, b = 40, c = 70, d = 50)T , realice 3 iteraciones,


estime el error y comente.

Con la 3era iteración calcule el residuo y encuentre una cota del error
absoluto y error relativo.

2. De la teorı́a de elasticidad lineal unidimensional, se sabe que la elon-


gación δ de una barra de sección transversal uniforme con área A, longitud
L y módulo de elasticidad E, está dada por

PL
δ=
EA
234 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

p1 p2

Figura 4.9: Barra elástica unidimensional sometida a cargas axiales P1 y P2


aplicadas en sus nodos izquierdo y derecho, respectivamente.

donde que P es la fuerza axial (tracción o compresión) a la que está sometida


dicha barra. De esta última ecuación y de la Figura 4.9 se deduce que

EA
 P1 = L (u1 − u2 )


 P2 = EA (u2 − u1 )



L
donde que u1 y u2 son las elongaciones (desplazamientos) correspondientes a
cada nodo de la barra en los que actúan las fuerzas P1 y P2 , respectivamente.
Además note que este último sistema de dos ecuaciones puede ser reescrito
de forma matricial como sigue:
    
P1 EA 1 −1 u1
= (4.55)
P2 L −1 1 u2
| {z }
[k]

Ahora, suponga que la celosı́a o armadura de la Figura 4.6 está hecha de


este tipo de barras que se pueden deformar elásticamente de manera axial.
Entonces, en este caso, el gráfico equivalente al de la Figura 4.7 serı́a el
mostrado en la Figura 4.10, en donde se muestra un análisis en coordenadas
globales (X-Y) de la deformación unidimensional de la barra de la Figura
4.9 (coordenadas locales, x-y).
Ası́, del análisis descrito en el párrafo anterior y mostrado en la Figura
4.10, note que:

 u1 = u1x cos θ + u1y sen θ

u2 = u2x cos θ + u2y sen θ


que puede también ser escrito en forma matricial como sigue:


4.5. EJERCICIOS 235

p2

u2
y
x

Y θ
u 1 u 1y

X u 1x

p1 u1

Figura 4.10: Análisis en coordenadas globales de una barra unidimensional


con deformación elástica lineal.

 
    u1x
 

u1 cos θ sin θ 0 0 u1y
 
= (4.56)
u2 0 0 cos θ sin θ  u
 2x

| {z } u2y


[R]

Ahora, realizando un análisis similar al hasta aquı́ llevado a cabo para


los desplazamientos u1 y u2 , pero esta vez, para las fuerzas nodales P1 y P2 ,
se obtiene:

(e) (e) (e) (e)


u1x u1y u2x u2y
(e) (e) (e) (e) (e)
k11 k12 k13 k14 k1x
(e) (e) (e) (e) (e)
k21 k22 k23 k24 k1y
(e) (e) (e) (e) (e)
k31 k32 k33 k34 k2x
(e) (e) (e) (e) (e)
k41 k42 k43 k44 k1x

Tabla 4.2: Matriz de rigidez local en coordenadas globales de un elemento


(e) dado.
236 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

Barra Nodo Local 1 Nodo local 2


1 2 (Global) 1 (Global)
2 1 (Global) 3 (Global)
3 3 (Global) 2 (Global)

Tabla 4.3: Tabla de conectividad de la armadura mostrada por la Figura


4.6.

 
    P1x
 

P1 cos θ sin θ 0 0 P1y
 
= (4.57)
P2 0 0 cos θ sin θ  P
 2x
 

P2y

Finalmente, combinando las ecuaciones matriciales 4.55, 4.56 y 4.57, se


llega a la siguiente expresiòn matricial que relaciona directamente fuerzas y
desplazamientos en coordenadas globales (X-Y) para cada barra (elemento)
de una celosı́a en dos dimensiones:

{Px }4x1 = [R]T4x2 [k]2x2 [R]2x4 {Ux }4x1


Note que esta última ecuación puede ser escrita una vez más como sigue:

{Px }4x1 = [K]4x4 {Ux }4x1 (4.58)

donde que, [K]4x4 = [R]T4x2 [k]2x2 [R]2x4 , que de forma explı́cita se muestra en
la Tabla 4.2.

Entonces, una vez las matrices de rigidez de todos y cada uno de los
elementos del sistema han sido puestas en coordenadas globales, se debe
proceder a ensamblar la matriz de rigidez global, correspondiente a todo el
sistema, que es la que finalmente se resolverá una vez aplicadas las restric-
ciones y cargas correspondientes.

Una manera práctica de ensamblar dicha matriz de rigidez global es


mediante el uso de una tabla de conectividad. Ası́, por ejemplo, para la
armadura mostrada en la Figura 4.6 se tiene la Tabla de conectividad 4.3.
Una manera práctica de ensamblar dicha matriz de rigidez global es
mediante el uso de una tabla de conectividad. Ası́, por ejemplo, para la ar-
madura mostrada en la Figura 4.6 se tiene la Tabla de conectividad 4.3.
4.5. EJERCICIOS 237

U1x U1y U2x U2y U3x U3y


(1) (2) (1) (2) (1) (1) (2) (2)
k33 + k11 k34 + k12 k31 k32 k13 k14 U1x
(1) (2) (1) (2) (1) (1) (2) (2)
k43 + k21 k44 + k22 k41 k42 k23 k24 U1y
(1) (1) (1) (3) (1) (3) (3) (2)
k13 k14 k11 + k33 k12 + k34 k31 k32 U2x
(1) (1) (1) (3) (1) (3) (3) (2)
k23 k24 k21 + k43 k22 + k44 k41 k42 U2y
(2) (2) (3) (3) (2) (3) (2) (3)
k31 k32 k13 k14 k33 + k11 k34 + k12 U3x
(2) (2) (3) (3) (2) (3) (2) (3)
k41 k42 k23 k24 k43 + k21 k44 + k22 U3y

Tabla 4.4: Matriz de rigidez global de la armadura mostrada por la Figura


4.6.

x 1,0 1,1 1,3 1,5 1,9 2,1


y 1,84 1,90 2,10 2,28 2,91 3,28

Tabla 4.5: Función tabular.

Por ejemplo, note que para el elemento (3), su nodo local 1 corresponde
al nodo global 3 del sistema (ver Figura 4.6 y Tabla de conectividad 4.3);
por lo que los miembros de la matriz de rigidez en coordenadas globales
del elemento (3) y correspondientes al nodo local 1, se encuentran en las
posiciones (filas y columnas) 5 y 6 de la matriz de rigidez global de la Tabla
4.4.
Se aconseja como una buena práctica incluir el ensamblaje por medio de
una tabla de conectividad en códigos que resuelvan problemas de este tipo
o similares.

Finalmente, se pide: realizar un programa que calcule los desplazamien-


tos nodales de cualquier armadura/celosı́a en dos dimensiones. El programa
debe permitir al usuario seleccionar de entre al menos un método directo,
un método de descomposición, y un método iterativo para la solución del
sistema global de ecuaciones, de acuerdo con los criterios aprendidos a lo
largo de este capı́tulo.

3. Encuentre el polinomio P2 (x) = α0 + α1 x + α2 x2 , tal que se ajuste


a tres puntos de y(x) para x = 1, 0; 1, 5 y 2, 1, mediante un sistema de
ecuaciones y de acuerdo con los valores dados en la Tabla 4.5.
238 CAPÍTULO 4. SISTEMAS DE ECUACIONES LINEALES

a) Plantee el sistema [A]{x} = {b}, que resulta con respecto a α0 , α1 y


α2 .

b) Calcule ρ([B]) y comente.

c) Resuelva el sistema con el método de Gauss.

También podría gustarte