Está en la página 1de 21

Captulo 3

Resolucin de sistemas lineales

Sistemas de ecuaciones lineales aparecen en la resolucin de diversos problemas de la vida


real, frecuentemente, algunos de esos problemas involucran un gran nmero de variables y
ecuaciones. Claramente, el mtodo basado en la sustitucin de variables, empleado para re-
solver pequeos sistemas de dos o tres variables, resulta obsoleto en estos casos, por lo que
es necesario conocer mtodos numricos especializados para hacer frente a estas situaciones.
Los mtodos numricos no podran trabajar sin la intervencin de un computador, debido a
la gran cantidad de clculo envuelto en ese procedimiento.

Todo esto sin lugar a dudas torna importante el estudio de sistemas de ecuaciones lineales
desde el punto de vista numrico. Pero la resolucin de sistemas de ecuaciones lineales no
slo tiene importancia propia, sino que constituye tambin una herramienta indispensable en
la resolucin de sistemas de ecuaciones no lineales. Ms an, es la base para la resolucin
de muchos otros problemas que surgen en diferentes reas, tales como en optimizacin y
ecuaciones diferenciales.

Considere el siguiente sistema de ecuaciones lineales compuesto de dos ecuaciones y dos


variables:
a1,1 x1 + a1,2 x2 = b1
a2,1 x1 + a2,2 x2 = b2
En sistemas simples como ste, podemos notar lo siguiente:

1. Solucin nica

3x1 + 2x2 = 10 x1 4
= =
x1  x2 = 5 x2 1

2. Soluciones infinitas

3x1  3x2 = 15 x1 5+t
= = , t5R
x1  x2 = 5 x2 t

3. Ninguna solucin
2x1  2x2 = 8
x1  x2 = 5

35
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 36

Figura 3.1: Representacin grfica de sistemas de ecuaciones lineales

Las anteriores ecuaciones representan rectas, un punto que satisface ambas ecuaciones al
mismo tiempo deber estar en la interseccin de ambas rectas (figura 3.1).

Por otro lado, cuando tenemos 3 variables, cada ecuacin representara un plano, un punto
que satisface tres ecuaciones de un sistema simultneamente estar en la interseccin de tres
planos. Para el caso n-dimensional, la situacin es anloga, pero el conjunto definido por cada
ecuacin se denomina n-hiperplano.

3.1. Aspectos tericos


Para un caso general, un sistema de m ecuaciones lineales y n variables es la formulacin
matemtica siguiente:

$
$ a1,1 x1 + a1,2 x2 + + a1,n xn = b1
$
" a2,1 x1 + a2,2 x2 + + a2,n xn = b2
.. .. .. .. . . . .. .. .. (3.1)
$
$ . . . . . .. . . .
$
am,1 x1 + am,2 x2 + + am,n xn = bm

Usando la notacin matricial, el mismo sistema puede ser visto por

Ax = b (3.2)

donde A 5 Rmn , b 5 Rm y x 5 Rn es el vector de las variables o incgnitas, definidas por:


5 6 5 6 5 6
a1,1 a1,2 a1,n b1 x1
9 a2,1 a2,2 a2,n : 9 b2 : 9 x2 :
9 : 9 : 9 :
A = 9 .. .. ... .. : , b = 9 .. : y x = 9 .. :
7 . . . 8 7 . 8 7.8
am,1 am,2 am,n bm xn
t
^= x
Una solucin para el sistema (3.1) es un vector x ^1 x^n 5 Rn el cual satisface
simultneamente cada una de las m ecuaciones que conforman el sistema. En un sistema lineal
puede suceder lo siguiente:

1. El sistema lineal tiene nica solucin

2. El sistema lineal posee infinitas soluciones


CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 37

3. El sistema lineal no posee soluciones

Cuando n = m y A es inversible en (3.2), entonces la solucin es nica, en consecuencia,


dicha solucin puede ser obtenida haciendo x = A1 b. No obstante, se debe advertir que
este procedimiento tiene slo un valor terico, pues desde el punto de vista computacional es
considerado costoso por el excesivo nmero de operaciones involucradas para calcular la inversa
de A. En contraste, existen mtodos ms apropiados que no requieren el clculo explcito de
A1 , como los que veremos ms adelante.

3.1.1. Conjunto imagen de una matriz A


Dada una matriz A 5 Rmn , definimos la imagen de A, denotado por Im (A), como el
conjunto:
Im (A) = {y 5 Rm : <x 5 Rn , y = Ax}
Algunas veces a este conjunto se le donomina espacio imagen de A, debido a lo siguiente:

Ejercicio 3.1 Muestre que Im (A) es un subespacio vectorial de Rm .

Desde el punto de vista de las columnas de A 5 Rmn , note que


X
n
Ax = aj xj
j=1

donde aj representa la j-columna de A y xj es la j-componente del vector x 5 Rn . Luego,


resolver el sistema Ax = b significa obtener escalares x1 , ..., xn que permitan escribir b 5 Rm
como una combinacin lineal de las columnas de A, es decir:

b = a1 x1 + ... + an xn

Por esta razn, al conjunto Im (A) tambin se le conoce como espacio columna de A. En
consecuencia, la dimensin de la imagen de A, denotada por dim (Im (A)), est determinada
por el mximo nmero de columnas linealmente independientes de A.

3.1.2. Rango de una matriz A


El rango de la matriz A 5 Rmn , denotado por rango (A), es definido por

rango (A) = dim (Im (A))

Una manera prctica de encontrar el rango (A) consiste en determinar el mayor nmero de
columnas linealmente independientes de A. En lgebra Lineal se conoce que rango (A) =
rango (At ), por consiguiente, para encontrar el rango (A) basta determinar tambin el mayor
nmero de filas linealmente independientes de A, esto ltimo suele ser de gran ayuda en muchos
casos.

Con respecto a la resolucin del sistema de ecuaciones lineales Ax = b, podemos destacar


lo siguiente:

1. Si m = n, puede pasar lo siguiente:


CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 38

Matriz A 5 Rmn m<n m=n m>n


rango (A) = n
rango (A) = m rango (A) = n
Rango completo b 5 Im (A) so lu c i n n ic a
infinitas soluc. solucin nica
b 65 Im (A) in co m p a tib le
Rango b 5 Im (A) infinitas soluc. infinitas soluc. infinitas soluc.
deficiente b 65 Im (A) incompatible incompatible incompatible

Cuadro 3.1: Soluciones de un sistema de ecuaciones lineales

a) Si rango (A) = n, el sistema Ax = b tiene solucin nica, pues A es inversible. En


estas condiciones, se dice que el sistema es compatible y determinado.
b) Si rango (A) < n, puede pasar lo siguiente
i. Si b 5 Im (A), el sistema Ax = b admitir infinitas soluciones. En estas condi-
ciones, se dice que el sistema es compatible e indeterminado.
ii. Si b 65 Im (A), el sistema no admite solucin. En estas condiciones, se dice que
el sistema es incompatible.

2. Si m > n, aunque rango (A) = n, el sistema puede no tener solucin, debido a que es
muy frecuente que b 65 Im (A).

3. Si m < n, es muy probable que el sistema sea compatible e indeterminado si b 5 Im (A).


En el caso que b 65 Im (A), el sistema ser incompatible.

El cuadro 3.1 esquematiza las soluciones de un sistema de ecuaciones lineales.

3.2. Mtodos numricos para resolver sistemas de ecua-


ciones lineales
Los mtodos numricos que estudiaremos aqu requieren que el sistema (3.1) est constitu-
ido de n filas y n columnas, es decir, n = m. Al final de este captulo, en el problema 3.10.3,
ser discutida una estrategia para enfrentar sistemas lineales donde m < n. Por otro lado,
sistemas donde m > n se denominan sobredeterminados, ellos sern discutidos en el siguiente
captulo.

Los mtodos para resolver sistemas de ecuaciones lineales de nn pueden ser de dos tipos,
directos e iterativos.

Directos: Si la solucin existe, otorgan la solucin exacta del sistema lineal despus de un
nmero finito de operaciones, excepto errores de redondeo.

Iterativos: Dada una aproximacin inicial x0 , generan una sucesin de vectores {xk } k=0 . Si
la solucin existe, bajo ciertas condiciones, esta sucesin converge a la solucin.

A simple vista, parece ser que la eleccin de un mtodo directo es la ms adecuada. No


obstante, como veremos ms adelante, los mtodos directos tienen un alto costo computacional,
requiriendo alrededor de n3 operaciones elementales para resolver un sistema lineal de n n.
En contraste, los mtodos iterativos parecen menos atractivos, sin embargo, slo requieren
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 39

alrededor de n2 operaciones elementales por cada iteracin1 , eso los torna ms viables en la
resolucin de sistemas de ecuaciones lineales de grandes dimensiones2 .

En las siguientes secciones analizaremos algunos de los mtodos ms importantes para la


resolucin numrica de sistemas de ecuaciones lineales.

3.3. Mtodo de Cramer


La Regla de Cramer puede ser enfocada como un mtodo directo. Proviene de un teo-
rema en lgebra lineal, mediante el cual se puede obtener la solucin de un sistema lineal
de ecuaciones en trminos de determinantes. Recibe este nombre en honor a Gabriel Cramer
(1704 - 1752).

Si Ax = b es un sistema de ecuaciones lineales, donde A 5 Rnn es inversible y b 5 Rn es


un vector columna, entonces la solucin del sistema se calcula as:

det (Aj )
xj = j = 1, ..., n (3.3)
det (A)
donde Aj es la matriz que resulta de reemplazar la j-columna de A por b.

Ejercicio 3.2 El determinante de una matriz real cuadrada de orden n est definido por
X
n
det (A) = (1)j+1 a1,j det (A [1, j]) (3.4)
j=1

donde a1,j es el elemento en la 1-fila y j-columna de la matriz A, mientras que A [i, j] es


la submatriz obtenida al eliminar la 1-fila y la j-columna de A. Muestre que el nmero de
multiplicaciones necesarias para hallar det (A) es aproximadamente n!

Es posible calcular el determinante de una matriz sin utilizar directamente la definicin


dada en (3.4), pero eso tomar por lo menos alrededor de n3 operaciones elementales. Por lo
tanto, para fines prcticos, mtodos como el de Cramer deben estar fuera de nuestro inters,
debido a que resulta muy costoso en la resolucin numrica de sistemas de ecuaciones lineales3 .

3.4. Mtodo de Gauss


Este mtodo numrico es el ms conocido y encuadra dentro de los mtodos directos.

Dado el sistema lineal de n n



$
$ a x + a1,2 x2 + + a1,n xn = b1
$ 1,1 1
" a2,1 x1 + a2,2 x2 + + a2,n xn = b2
.. .. .. .. . . . .. .. .. (3.5)
$
$ . . . . . .. . . .
$
an,1 x1 + an,2 x2 + + an,n xn = bn
1
Pero pueden requerir muchas iteraciones.
2
Frecuentemente, cuando n > 1000.
3
La regla de Cramer tiene un valor terico, pues se utiliza en la demostracin de muchas propiedades.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 40

El mtodo de eliminacin de Gauss consiste en transformar el sistema (3.5), de un modo


equivalente, a un sistema triangular superior:

$
$ a01,1 x1 + a01,2 x2 + + a01,n xn = b01
$
" a02,2 x2 + + a02,n xn = b02
. . . .. .. .. .. (3.6)
$
$ . . . .
$
a0n,n xn = b0n
El beneficio de esto es que se puede resolver el sistema triangular (3.6) de modo eficiente, es
as que de la ltima ecuacin de (3.6) tenemos
b0n
xn =
a0n,n
Luego, xn1 puede ser obtenido mediante
b0n1  a0n1,n xn
xn1 =
a0n1,n1
Y as sucesivamente, obtenemos xn2 , xn3 , ..., x2 , finalmente
b01  a01,2 x2  a01,3 x3   a01,n xn
x1 =
a01,1

3.4.1. Resolviendo un sistema triangular


El siguiente algoritmo resuelve un sistema de ecuaciones lineales de orden n, el cual ya
est en la forma triangular superior.
Algoritmo 3.1 (Resolucin de un sistema triangular superior) Dado un sistema tri-
angular superior Ax = b de orden n, con elementos de A sobre la diagonal no nulos. Los
valores de las variables xn , xn1 , ..., x2 , x1 son obtenidos mediante:
xn = bn /an,n
Para k = (n  1) , ..., 1
s=0
Para j = (k + 1) , ..., n
s = s + ak,j xj
xk = (bk  s) /ak,k
Ejercicio 3.3 (Nmero de operaciones aritmticas del algoritmo 3.1) Determine cun-
tas operaciones aritmticas efecta el algoritmo 3.1.
Solucin. Note que en el bucle interno se realizan P 2 operaciones por cada ciclo, una multipli-
cacin, ak,j xj , y una suma, s + ak,j xj , totalizando nj=k+1 2 operaciones aritmticas.

El algoritmo en s requiere realizar en total una divisin, bn /an,n , ms las operaciones


son por cada ciclo, 2 operaciones debido a (bk  s) /ak,k , ms lo
dentro del bucle externo, queP
realizado por bucle interno, nj=k+1 2. Por lo tanto, el algoritmo requiere en total
!
X
n1 X n
1+ 2+ 2 = n2 + n  1 (3.7)
k=1 j=k+1

operaciones aritmticas.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 41

Frecuentemente, debido al resultado obtenido en el ejercicio 3.3, se dice que el algoritmo


3.1 realiza aproximadamente n2 operaciones aritmticas. Esto se debe a que, cuando n es
grande, slo el trmino de mayor grado de n2 + n  1 es el que predomina.
Ejercicio 3.4 Anlogamente al algoritmo 3.1, disear un algoritmo que resuelva un sistema
triangular inferior de orden n.
Ejercicio 3.5 Cuntas operaciones elementales (sumas, restas, multiplicaciones, divisiones
y comparaciones) son necesarias para la ejecucin del algoritmo 3.1 y el algoritmo planteado
en el ejercicio 3.4?
Laboratorio 3.1 En algn lenguaje de programacin, implementar el algoritmo 3.1 y el al-
goritmo planteado en el ejercicio 3.4.
La conversin de un sistema de orden n a un sistema equivalente, y triangular superior, es
posible en virtud al siguiente teorema del lgebra lineal:
Teorema 3.1 Sea Ax = b un sistema de ecuaciones lineales. Aplicando sobre las ecuaciones
de este sistema una sucesin de operaciones elementales:
1. Cambiar dos ecuaciones
2. Multiplicar una ecuacin por una constante no nula
3. Adicionar un mltiplo de una ecuacin a otra ecuacin
obtenemos un nuevo sistema Ax = b, el cual es equivalente4 al sistema original Ax = b.

3.4.2. Conversin de un sistema de ecuaciones lineales a uno trian-


gular superior
El siguiente algoritmo usa el Teorema 3.1 y convierte un sistema de ecuaciones lineales
Ax = b en un sistema triangular superior equivalente.
Algoritmo 3.2 Dado el sistema lineal Ax = b de n n. Suponga que el elemento ak,k 6= 0
al inicio de la etapa k:
Para k = 1, ..., n  1
Para i = k + 1, ..., n
mi,k = ai,k /ak,k
ai,k = 0
Para j = k + 1, ..., n
ai,j = ai,j  mi,k ak,j
bi = bi  mi,k bk
Ejercicio 3.6 (Numro de operaciones aritmticas del algoritmo 3.2) Determine cun-
tas operaciones aritmticas efecta el algoritmo 3.2.
Solucin. De forma anloga a lo realizado en el ejercicio 3.3, vemos que el total de operaciones
aritmticas requeridas por este algoritmo corresponde a
n !!
Xn1 X Xn
2 1 7
3+ 2 = n3 + n2  n
k=1 i=k+1 j=k+1
3 2 6
4
Equivalente, en el sentido que tienen las mismas soluciones
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 42

Basados en los ejercicios 3.3 y 3.6, podemos decir que el procedimiento de Gauss para
resolver sistemas de ecuaciones lineales de n n requiere en total

2 2 3 1 2 7 2 3 1
n +n1 + n + n  n = n3 + n2  n  1 (3.8)
3 2 6 3 2 6
operaciones aritmticas. Debido al predominio del trmino de mayor grado, tambin se dice
que el procedimiento de Gauss realiza un nmero de operaciones elementales del orden 23 n3 ,
y se representa por O( 23 n3 ).

Definicin 3.1 El nmero


ai,k
mi,k = , i = 2, ..., n, k = 1, ..., n  1
ak,k
introducido en el algoritmo 3.2, lo denominaremos (i, k)-multiplicador de la matriz A. Adems,
ak,k se denomina el k-simo pivote.

Ejemplo 3.1 Considere el siguiente sistema de ecuaciones lineales Ax = b, donde


5 6 5 6
1 2 3 0 2
9 2 2 4 10 : : 9 :
A = A(0) = 9 y b = b(0)
= 9 4 :
7 1 1 2 1 8 7 6 8
1 0 0 2 0

Aplicando el Algoritmo 3.2, para k = 1, los multiplicadores respectivos son m2,1 = 2, m3,1 = 1
y m4,1 = 1, de donde:
5 6 5 6
1 2 3 0 2
9 0 2 2 10 : 9 0 :
A(1) = 97 0
: y b(1) =9 :
1 5 1 8 7 4 8
0 2 3 2 2

Para k = 2, m3,2 = 0.5, m4,2 = 1 y


5 6 5 6
1 2 3 0 2
9 0 2 2 10 : 9 0 :
A(2) = 9
7 0 0 4 4
:
8 y b(2) =9
7 4 8
:

0 0 1 8 2

Finalmente, para k = 3 tenemos m4,3 = 0.25 y


5 6 5 6
1 2 3 0 2
9 0 2 2 10 : 9 0 :
A(3) = 9
7 0
: y b(3) =9 :
0 4 4 8 7 4 8
0 0 0 7 3

Resta slo aplicar el Algoritmo 3.1 para resolver el sistema triangular superior A(3) x = b(3) ,
de donde obtuvimos 5 6
6/7
9 25/7 :
x=9 7 10/7 8
:

3/7
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 43

Un inconveniente que puede suceder en la aplicacin de los algoritmos 3.2 y 3.1, es el clculo
del multiplicador mi,k , pues se necesita que ak,k 6= 0 en cada iteracin. Pero el simple hecho
que ak,k sea pequeo puede ocasionar que el multiplicador mi,k tome valores inmensamente
grandes, lo que puede ocasionar a su vez el mal condicionamiento5 del sistema.

Ejemplo 3.2 (Sistema mal condicionado) Utilice algn lenguaje de programacin para
implementar los algoritmos 3.2 y 3.1, y resuelva el siguiente sistema de ecuaciones:

11x1 + 2x2 = 5
1016 x1 + 0.5x2 = 9

Despus de aplicar consecutivamente los programas6 respectivos, obtuvimos como solucin:



7.26691434300103 1016
x=
2.5
Al verificar si realmente es solucin, vemos que

5 5
Ax = 6= b =
8.51691434300102 9

Este fenmeno se debe a que el pivote A1,1 = 11, cuando comparado con A2,1 = 1016 , es muy
pequeo. Observe que en estas condiciones, el multiplicador
a2,1 1016
m2,1 = =
a1,1 11
es muy grande, lo que ocasionar impresiciones en los clculos siguientes, pues el computador
trabaja con precisin finita.

Pero qu significa mal condicionamiento? Ese concepto es de gran ayuda en la resolucin


de sistemas lineales. A continuacin formalizaremos ese trmino.

3.5. Sensibilidad en sistemas lineales: nmero de condi-


cin
Considere el sistema Ax = b, donde A es inversible y b es un vector no nulo. Digamos
^ sea la nica solucin. Consideremos ahora una perturbacin b de b, el sistema lineal
que x
perturbado ser
Ay = b + b (3.9)
^ . Denotemos
Observe que el sistema (3.9) tambin tiene nica solucin, digamos que sta sea y
^x=y ^x ^, en consecuencia, y^ =x^ + ^ x. Es natural esperar que cuando b sea pequeo,
entonces ^
x tambin lo sea.

Para cuantificar el tamao de vectores, usaremos la norma vectorial eucldea7 kk. As, la
medida de b relativa a b es kbk / kbk, mientras que la medida de ^ ^ es dada
x relativa a x
5
La matriz A tiende a ser no inversible en la prctica, aunque en teora lo sea. Esto puede producir
imprecisiones en los clculos realizados por el computador.
6
Se utiliz el MatLab
q 6.0 sobre el Windows XP, 32bits.
7
Si x 5 Rn , kxk = x21 + ... + x2n .
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 44

por k^
xk / k^
xk. Por lo tanto, en trminos ms precisos, esperamos que cuando kbk / kbk sea
pequeo, entonces k^ xk / k^
xk tambin lo sea.

^ es solucin del sistema (3.9), entonces


As, como y

y = b + b = A (^
A^ x + ^
x) = b + b = A (^ x = A1 (b)
x) = b = ^
kAxk
Considerando la norma matricial inducida por la vectorial, kAk = maxx6=0 kxk
, tenemos

^ xk = A1 (b)  A1 kbk
x = A1 (b) = k^ (3.10)

Por otro lado,


1 kAk
b = A^ xk  kAk k^
x = kbk = kA^ xk =  (3.11)
k^
xk kbk
Por (3.10) y (3.11) tenemos
k^xk kbk
 A1 kAk
k^
xk kbk
1
Observe que, si kbk / kbk es pequeo y A kAk es un nmero razonablemente
pequeo,
entonces k^xk / k^
xk debera ser tambin pequeo. Sin embargo, si A 1
kAk es extremada-
mente grande, a pesar que kbk /
1 kbk sea pequeo, no hay garanta que k^xk / k^
xk tambin

lo sea. En otras palabras, si A kAk es grande, podemos advertir que el sistema Ax = b
puede ser susceptible a grandes alteraciones en la solucin si b es ligeramente perturbado.
Esto es crucial, pues el mtodo de Gauss altera el vector b en cada iteracin.

Como se puede apreciar, el papel del nmero A1 kAk juega un rol importante en la
determinacin de la estabilidad del sistema de ecuaciones lineales. A continuacin lo forma-
lizamos.

Definicin 3.2 (Nmero de condicin) Dada la matriz A 5 Rnn inversible. El nmero


de condicin de A, denotado por cond (A), es

cond (A) = A1 kAk

Si cond (A) es grande, diremos que la matriz es mal condicionada, caso contrario, ella ser
bien condicionada.

Ejercicio 3.7 Mostrar que, si kk es una norma matricial inducida por la norma vectorial
eucldea en Rn , cond (A)  1.
Solucin. Observe que la norma matricial usada es consistente, as:

I = A1 A = 1 = kIk = A1 A  A1 kAk = cond (A)

Observacin 3.1 Algunas veces se utiliza tambin la siguiente expresin, rcond (A), la cual
est definida por
rcond (A) = 1/ cond (A)
Claramente, si rcond (A) es prximo a cero, la matriz A ser mal condicionada.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 45

3.6. Estrategia con pivotamiento parcial


Como habamos comentado anteriormente, uno de los inconvenientes en la aplicacin del
mtodo de Gauss consista en el clculo de los multiplicadores, si el multiplicador mi,k =
ai,k /ak,k es demasiado grande, ste podra ocasionar clculos imprecisos en el sistema de
cmputo. Algunas de las estrategias para evitar tal inconveniente son:

1. Estrategia con pivotamiento parcial

2. Estrategia con pivotamiento total

Aqu veremos en qu consiste la estrategia de pivoteamiento parcial:

En el inicio de la etapa k de la eliminacin gaussiana, escoger como pivote el elemento de


mayor mdulo entre los coeficientes: ak1 k1
i,k , para i = k, k + 1, ..., n, donde ai,k representa
la (i, k)-componente en la iteracin k  1.

Permutar la fila k e i, si fuera necesario.

Ejemplo 3.3 Considere un sistema de orden n, donde n = 4 y la iteracin k = 2. Observe


que 5 6
3 2 1 1 5
(1) (1) 90 1 0 3 6:
A b =970 3 5 7
:
78
0 2 4 0 15
(1) (1)
Note que A b representa la situacin del sistema en la primera iteracin. Ahora, para
el inicio de la segunda iteracin

1. Escoger el pivote: maxj=2,3,4 |a1j,2 | = |a13,2 | = 3, entonces el pivote es 3

2. Cambiamos las lneas 2 y 3, de donde obtenemos


5 6
3 2 1 1 5
(1) (1) 90 3 5 7 7:
A b =9 70 1
:
0 3 68
0 2 4 0 15

Observe que en este caso los multiplicadores respectivos sern:


1 1
m3,2 = =
3 3
2 2
m4,2 = =
3 3
As, al escoger el mayor elemento en mdulo entre los candidatos a pivote, se consigue
que los multiplicadores m, en mdulo, estn entre cero y uno, lo que evita la propagacin
de errores de redondeo.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 46

La estrategia con pivoteamiento parcial no elimina del todo la acumulacin de errores


de redondeo, existe otra estrategia denominada estrategia con pivoteamiento completo. En
contraste al pivoteamiento parcial, que busca el mejor pivote en una porcin de cada columna
en cada iteracin, la estrategia de pivoteamiento completo analiza toda matriz. A pesar que
en teora esto elimina definitivamente las imprecisiones numricas que puedan ocurrir, su uso
no es cmun en la prctica pues requiere mucho esfuerzo computacional, es decir, requiere
muchas operaciones elementales (comparaciones) para su ejecucin.

Problema 3.6.1 Investigue la estrategia de pivoteamiento completo.

3.7. Descomposicin LU
Esta estrategia consiste en descomponer la matriz A como el producto de dos matrices
factores: A = LU, donde L es una matriz triangular inferior con unos sobre su diagonal, es
decir 5 6
1 0 0
9 `2,1 1 0 :
9 :
L = 9 .. .. . . . .. :
7 . . . 8
`n,1 `n,2 1
y U es una matriz triangular superior
5 6
u1,1 u1,2 u1,n
9 0 u2,2 u2,n :
9 :
U=9 .. .. ... .. :
7 . . . 8
0 0 un,n

De ese modo, resolver el sistema Ax = b, o sino LUx = b, es equivalente a resolver consecuti-


vamente:

1. Ly = b

2. Ux = y

Una de las principales ventajas que tiene resolver sistemas mediante este mtodo, en con-
traste con el mtodo de Gauss, es la siguiente: supongamos que se quiere resolver los sistemas
Ax = b y Ax = b0 , una vez obtenidos tales factores L y U, bastara resolver consecutivamente
los sistemas triangulares:
Ly = b Ux = y (3.12)
y
Ly = b0 Ux = y (3.13)
Observe que los mismos factores L y U fueron usandos para resolver los sistemas (3.12) y
(3.13), los cuales son fciles de resolver usando el algoritmo 3.1 para sistemas triangulares
superiores.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 47

3.7.1. Clculo de los factores L y U


El clculo de las matrices L y U de modo que A = LU, est basado en los multiplicadores
mi,j introducidos en la eliminacin gaussiana (definin 3.1). Supongamos que tenemos la matriz
5 6
a01,1 a01,2 a01,3
9 0 :
A0 = 9
7 a 2,1 a 0
2,2 a 0
2,3
:=A
8
0 0 0
a3,1 a3,2 a3,3

Primera iteracin: Los respectivos multiplicadores estn dados por

m2,1 = a02,1 /a01,1


m3,1 = a03,1 /a01,1

para deshacernos de la variable x1 en las i-filas, para i = 2, 3, hacemos

a11,j = a01,j j = 1, 2, 3

a1i,j = a0i,j  mi,1 a01,j i = 2, 3, j = 1, 2, 3

y obtenemos 5 6
a11,1 a11,2 a11,3
9 :
A1 = 9
7 0 a12,2 a12,3 :
8
1 1
0 a3,2 a3,3
Observe que A1 = M0 A0 , donde
5 6
1 0 0
M0 = 7 m2,1 1 0 8
m3,1 0 1

Segunda iteracin: Para eliminar x2 de las restantes lneas, calculamos el multiplicador


m3,2 = a13,2 /a12,2 y hacemos

a21,j = a11,j j = 1, 2, 3
a22,j = a12,j j = 2, 3
a23,j = = a13,j  m3,2 a12,j j = 1, 2, 3

y obtenemos 5 6
a21,1 a21,2 a21,3
9 :
A2 = 9
7 0 a22,2 a22,3 :
8
2
0 0 a3,3
Observe que
A2 = M1 A1
donde 5 6
1 0 0
M1 = 7 0 1 0 8
0 m3,2 1
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 48

Adems, A2 es triangular superior y podemos definir U = A2 . Luego:



U = M1 A1 = M1 M0 A0 = M1 M0 A0 = M1 M0 A

Es decir,
1 1 1 1
A = M1 M0 U = M0 M U
y como
5 61 5 61
0 1 1 1 1 0 0 1 0 0
M M = 7 m2,1 1 0 8 7 0 1 0 8
m3,1 0 1 0 m3,2 1
5 65 6 5 6
1 0 0 1 0 0 1 0 0
= 7 m2,1 1 0 8 7 0 1 0 8 = 7 m2,1 1 0 8
m3,1 0 1 0 m3,2 1 m3,1 m3,2 1

concluimos que la matriz triangular inferior debera ser


5 6
1 0 0
L = 7 m2,1 1 0 8
m3,1 m3,2 1

de modo que A = LU.

Teorema 3.2 Dada una matriz cuadrada A de orden n, sea la matriz Ak constituida de
las primeras k lneas y k columnas de A. Suponga que det (Ak ) 6= 0 para k = 1, ..., n  1.
Entonces, existe una nica matriz triangular inferior L = [mi,j ], con mi,i = 1, para i = 1, ..., n,
y una nica matriz triangular superior U = [ui,j ] tales que A = LU. Adems, det (A) =
u1,1 u2,2 ...un,n .

Ejercicio 3.8 Investigue la demostracin del teorema 3.2.

Ejemplo 3.4 Resolver el siguiente sistema de ecuaciones lineales utilizando la descomposicin


LU.
x1 + 2x2 + 3x3 = 10
2x1 + 5x2  x3 = 20
x1 + 2x2 + x3 = 6
Observe que 5 6 5 6
1 2 3 10
A = 7 2 5 1 8 y b = 7 20 8
1 2 1 6
Luego, 5 6
1 2 3
m2,1 = 2, m3,1 = 1, A1 = 7 0 1 7 8
0 4 4
y 5 6
1 2 3
m3,2 = 4, A2 = 7 0 1 7 8
0 0 32
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 49

Por lo tanto,
5 6 5 6 5 65 6
1 2 3 1 0 0 1 0 0 1 2 3
A = 7 2 5 1 8 = 7 m2,1 1 0 8 A2 = 7 2 1 0 8 7 0 1 7 8 = LU
1 2 1 m3,1 m3,2 1 1 4 1 0 0 32
Puesto que Ax = b lo podemos expresar como (LU) x = b, usando el algoritmo 3.1 y el
ejercicio 3.4 para resolver sistemas triangulares, calculamos consecutivamente:
5 6
10
Ly = b = y = 7 0 8
16
y 5 6
3/2
Ux = y = x = 7 7/2 8
1/2
Ejercicio 3.9 Dada la matriz A 5 Rnn , construya un algoritmo que resuma el proceso para
encontrar los factores L y U. Adems, realice un programa en algn lenguaje de programacin
de su preferencia y experimente con diversos ejemplares.

3.8. Descomposicin de Cholesky


Una estrategia que tiene suma importancia, sobre todo en optimizacin, es la descomposi-
cin de Cholesky.
Definicin 3.3 (Matriz definida positiva) Se dice que una matriz A 5 Rnn simtrica y
de orden n es definida positiva, si xt Ax > 0, para todo x 5 Rn y x 6= 0.
Teorema 3.3 (Descomposicin de Cholesky) Si A es una matriz de orden n, simtrica
y definida positiva, entonces existe una nica matriz triangular inferior de orden n y con
diagonal positiva, tal que
A = GGt
Ejercicio 3.10 Investigue la demostracin del teorema 3.3.

3.8.1. Clculo del factor de Cholesky


Dada una matriz simtrica y definida positiva:
5 6
a1,1 a1,2 a1,n
9 a2,1 a2,2 a2,n :
9 :
A = 9 .. .. ... .. :
7 . . . 8
an,1 an,2 an,n
El factor G ser obtenido de la ecuacin matricial:
5 6 5 65 6
a1,1 a1,2 a1,n g1,1 0 0 g1,1 g2,1 gn,1
9 a2,1 a2,2 a2,n : 9 g2,1 g2,2 0 :9 0 g2,2 gn,2 :
9 : 9 :9 :
9 .. .. . .. . : = 9
.. 8 7 .. . .
.. . .. .. :9 .. .. ... .. :
7 . . . 87 . . . 8
an,1 an,2 an,n gn,1 gn,2 gn,n 0 0 gn,n
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 50

La columna 1:
5 6 5 65 6 5 6
a1,1 g1,1 0 0 g1,1 g1,1 g1,1
9 a2,1 : 9 g2,1 g2,2 0 :9 0 : 9 g2,1 g1,1 :
9 : 9 :9 : 9 :
9 .. :=9 .. .. ... .. :9 .. :=9 .. :
7 . 8 7 . . . 87 . 8 7 . 8
an,1 gn,1 gn,2 gn,n 0 gn,1 g1,1

luego
s aj,1
g1,1 = a1,1 y gj,1 = para j = 2, ..., n
g1,1
La columna 2:
5 6 5 6 5 6
a1,2 5 6 g1,2 g1,1 g1,2
9 a2,2 : g1,1 0 0 9 : 9 :
9 : 9 g2,1 g2,2 :9 g2,2 : 9 g22,1 + g22,2 :
9 a3,2 : 9 0 :9 : 9 :
9 : = 9 .. .. . .. :9 0 :=9 g3,1 g2,1 + g3,2 g2,2 :
9 .. : 7 . . .. . 89 .. : 9 .. :
7 . 8 7 . 8 7 . 8
gn,1 gn,2 gn,n
an,2 0 gn,1 g2,1 + gn,2 g2,2

de donde
a1,2
g1,2 g1,1 = a1,2 = g1,2 = g2,1 =
g1,1
q
g22,1 + g22,2 = a2,2 = g2,2 = a2,2  g22,1

Como
gj,1 g2,1 + gj,2 g2,2 = aj,2 j = 3, ..., n
y los gj,1 , j = 1, ..., n, ya fueron calculados, entonces

(aj,2  gj,1 g2,1 )


gj,2 = j = 3, ..., n
g2,2
Columna k: Los elementos de la columna k de G son:
t
0 0 gk,k gk+1,k gn,k k = 2, ..., n

haciendo 5 6 5 6
ak,1 gk,1
9 ak,2 : 5 69 gk,2 :
9 .. : g1,1 0 0 9 .. :
9 : 9 :
9 . : 9 g2,1 g2,2 0 :9 . :
9 : 9 :9 :
9 ak,k : = 9 .. .. . .. .. : 9 gk,k :
9 : 7 . . . 89 :
9 ak+1,k : 9 0 :
9 .. : gn,1 gn,2 gn,n 9 . :
7 . 8 7 .. 8
an,k 0
tenemos
ak,k = g2k,1 + g2k,2 + + g2k,k
de donde !1/2
X
k1
gk,k = ak,k  g2k,j
i=1
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 51

Y como
aj,k = gj,1 gk,1 + gj,2 gk,2 + + gj,k gk,k j = k + 1, ..., n
y como los elementos gi,k , i = 1, ..., k  1, ya fueron calculados, tenemos
P
aj,k  k1 i=1 gj,i gk,i
gj,k = j = k + 1, ..., n
gk,k

Algoritmo 3.3 Sea A una matriz simtrica y definida positiva.

Para k = 1, ..., n
suma = 0;
Para j = 1, ... (k  1)
suma = suma + g2k,j
r = ak,ks suma ..............(*)
gk,k = r
Para i = k + 1, ..., n
suma = 0
Para j = 1, ..., k  1
suma = suma + gi,j gk,j
gi,k = (ai,k  suma) /gk,k

Por lo general, ver si una matriz simtrica es definida positiva usando la definicin es una
tarea prcticamente imposible. Sin embargo, podemos usar el algoritmo de Cholesky para
verificar si A es definida positiva. Si en (*) se tiene que r  0, entonces la descomposicin no
es posible y A no es definida positiva. Caso contrario, el algoritmo otorga la matriz triangular
inferior G tal que A = GGt .

La descomposicin de Cholesky requiere alrededor de n3 /6 operaciones de multiplicacin


para la descomposicin. Este nmero es aproximadamente la mitad del nmero de operaciones
necesarias para la realizacin de la eliminacin en la descomposicin LU, pues requera n3 /3.

Al igual que la descomposicin LU, una vez conocido A = GGt , es posible resolver el
sistema lineal asociado: Ax = b, del siguiente modo: como

Ax = b  GGt x = 0

entonces

1. Resolver Gy = b

2. Resolver Gt x = y

Laboratorio 3.2 En algn lenguaje de programacin de su preferencia, implemente el algo-


ritmo de Cholesky, de modo que: cuando la matriz A sea definida positiva, devuelva la matriz
triangular inferior G. Caso contrario, debera emitir un mensaje anunciando que A no es
definida positiva.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 52

Ejercicio 3.11 Usando el algoritmo de Cholesky, verifique que la matriz


5 6
27 12 10 24
9 12 9 16 29 :
9 :
7 10 16 42 70 8
24 29 70 137

es realmente definida positiva.

Ejercicio 3.12 Una duda comn es, podra ser definida positiva una matriz la cual tiene
algunas componentes negativas? Verifique si la matriz
5 6
27 12 10 24
9 12 9 16 11 :
9 :
7 10 16 42 2 8
24 11 2 137

es o no definida positiva (use el algoritmo).

Ejercicio 3.13 Una matriz simtrica A 5 Rnn se llama semidefinida positiva, si xt Ax  0,


para todo x 5 Rn . Probar que, para cualquier matriz B 5 Rmn , la matriz C = Bt B es
semidefinida positiva.
Solucin: Observe que C 5 Rmm es simtrica, pues
t t
Ct = Bt B = Bt Bt = Bt B = C

y
xt Cx = xt Bt B x = (Bx)t (Bx) = kBxk2  0
donde kk es la norma eucldea.

Ejercicio 3.14 Probar que, si A 5 Rnn es definida positiva, entonces A es inversible. Lo


recproco no siempre es vlido, de un contraejemplo.
Solucin: Recordemos el teorema de lgebra lineal que nos deca: Una matriz A 5 Rnn es
inversible si, y slo si, el sistema Ax = 0 tiene como nica solucin la trivial.
Ahora, con respecto al ejercicio, realizaremos una prueba por contradiccin. Asumamos
que A es definida positiva y no inversible. Entonces, el sistema Ax = 0 tiene una solucin no
^ 6= 0 tal que A^
trivial, digamos que existe x x = 0. Luego,

^t A^
0<x ^t 0 = 0
x=x

Lo cual es una contradiccion. Esto completa la prueba.


Para verificar la segunda parte del ejercicio, basta hacer notar que la matriz

1 0
0 1

es inversible pero no es definida positiva (en realidad es definida negativa).


CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 53

3.9. Mtodos iterativos


La idea de los mtodos iterativos para resolver sistemas de ecuaciones est inspirada en el
mtodo de punto fijo.
Dado el sistema lineal de ecuaciones
Ax = b (3.14)
donde A 5 Rnn y b 5 Rn . Los mtodos iterativos consisten en expresar el sistema (3.14) en
una ecuacin matricial equivalente:
x = Dx + d (3.15)
donde D 5 Rnn y d 5 Rn . Note que en este caso  (x) = Dx + d es una funcin iteracin
n-dimensional.
As, los mtodos de este tipo construyen una sucesin {xk 5 Rn }
k=0 definida por la regla

xk+1 =  (xk ) = Dxk + d


Observe que, si lmk xk = xW , entonces xW es un punto fijo de . Bajo ciertas condiciones,
xW debera ser tambin la solucin del sistema original Ax = b.

Mtodo de Gauss-Jacobi
Este mtodo se caracteriza por transformar el sistema Ax = b a la forma x = Dx + d, del
siguiente modo:
Sea el sistema original
a1,1 x1 + a1,2 x2 + + a1,n xn = b1
a2,1 x1 + a2,2 x2 + + a2,n xn = b2
.. .. .. .. . . . .. .. ..
. . . . . .. . . .
an,1 x1 + an,2 x2 + + an,n xn = bn
Suponiendo que ai,i 6= 0 para i = 1, ..., n, despejamos las variables x1 , ..., xn de las n ecua-
ciones, respectivamente:
1
x1 = (b1  a1,2 x2  a1,3 x3  ...  a1,n xn )
a1,1
1
x2 = (b2  a2,1 x2  a2,3 x3  ...  a2,n xn )
a2,2
..
.
1
xn = (bn  an,1 x1  an,2 x2  ...  an,n1 xn1 )
an,n
De esta forma tenemos
5 b1 6 5 6
5 6 a 1 ,1 0  aa 11 ,2,1  aa11 ,3,1  aa11,n 5 6
x1 9 b2 : 9 ,1
: x1
9 x2 : 9 : 9  a2 ,1 0  aa22 ,3,2  aa22,n :9 :
9 : 9 a 2 ,2 : 9 a2 ,2 ,2 : 9 x2 :
9 .. : = 9 .. :+9
.. : 9 .. :
7 . 8 9 9 .
: 9
: 7 ..
.
..
.
..
.
...
. : 7 . 8
7 8 8
xn bn xn
a n ,n  aann,n
,1
 aann,n
,2
 aann,n
,3
0
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 54

Es decir, la funcin iteracin quedara establecida por


x =  (x) = Dx + d
donde 5 6
5 6 b1
0  aa11 ,2,1  aa11 ,3,1  aa11,n a 1 ,1
9 a 2 ,1
,1
: 9 b2 :
9  a 2 ,2 0  aa22 ,3,2  aa22,n : 9 :
9 ,2 : 9 a 2 ,2 :
D=9 .. .. .. .. : y d=9
9 .. :
: (3.16)
9 ...
7 . . . . : 8 9
7
. :
8
bn
 aann,n
,1
 aann,n
,2
 aann,n
,3
0 a n ,n

El mtodo de Gauss-Jacobi consiste en lo siguiente: dado x0 , una aproximacin inicial a la


solucin del sistema lineal Ax = b, obtener x1 , x2 , ..., xk , ...por medio de la relacin recursiva
xk+1 = Dxk + d
donde D y d estn definidos en este caso por (3.16). O sino:
1
xk+1
1 = b1  a1,2 xk2  a1,3 xk3  ...  a1,n xkn
a1,1
1
xk+1
2 = b2  a2,1 xk2  a2,3 xk3  ...  a2,n xkn (3.17)
a2,2
..
.
1
xk+1
n = bn  an,1 xk1  an,2 xk2  ...  an,n1 xkn1
an,n
Una caracterstica de los mtodos iterativos, a diferencia de los mtodos directos, es que slo
convergen si algunas hiptesis son satisfechas.

Criterio de convergencia para el mtodo de Gauss-Jacobi Dado el sistema lineal


Ax = b, sea Pn
j=1j6=i |ai,j |
i = y  = max {i }
|ai,i | 1$i$n

Si  < 1, entonces el mtodo de Gauss-Jacobi genera una sucesin de vectores xk k=0 , la
cual converge a la solucin del sistema lineal Ax = b, independientemente de la eleccin del
vector inicial x0 .

3.10. Comparacin entre mtodos directos e iterativos


Convergencia: Los mtodos directos son procesos finitos y, tericamente, encuentran la solu-
cin exacta de cualquier sistema de ecuaciones, desde que sta exista. En la prctica no
es bien cierto esta ltima afirmacin, pues debemos tener en cuenta los errores de clculo
del sistema de cmputo y el mal condicionamiento del sistema. Por otro lado, los mtodos
iterativos apenas convergen cuando son satisfechos algunos requerimientos. Esto ltimo
parece tornarlos poco atractivos en la prctica, pero debemos tener en cuenta el espa-
cio requerido en memoria-computador, observe por ejemplo la ecuacin (3.17), notar
que para operar el mtodo de Gauss-Jacobi, slo necesitamos almacenar en memoria la
matriz A y el vector b, el resto de clculos no requieren la construccin de matrices
auxiliares como en el mtodo directo basado en la descomposicin LU.
CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 55

Errores de redondeo: Mtodos directos modifican el sistema original, por ejemplo, en la


triangularizacin hecha por el mtodo de Gauss, adicionalmante a los errores cometidos
por un sistema de cmputo, los datos del problema original son alterados y la solucin no
es precisa desde un punto de vista computacional. Por otro lado, los mtodos iterativos no
modifican el sistema original y, una vez asegurada la convergencia, los errores numricos
son menores a los cometidos por los mtodos directos.

Problema 3.10.1 Investigue la prueba del criterio de convergencia del mtodo de Gauss-
Jacobi.

Problema 3.10.2 Investigue sobre el mtodo iterativo de Gauss-Seidel.

Problema 3.10.3 Elaborar una estrategia para resolver un sistema de ecuaciones lineales
indeterminado, es decir, donde el nmero de ecuaciones es menor que el nmero de variables
(m < n).
Solucin. Una manera consiste en asumir que el sistema est definido por Ax = b, donde
A 5 Rmn , b 5 Rm , m < n y rango(A) = m. En consecuencia, existe una submatriz cuadrada
e inversible B, tal que, posiblemente despus de un intercambio compatible de posiciones de
columnas de A y de variables de x, tenemos:

A = B N

xB
x =
xN

As, Ax = b es equivalente a

xB
B N = b  BxB + NxN = b  xB = B1 b  B1 NxN
xN

^ 5 Rn seran generadas dando valores arbitrarios a x


Luego, las soluciones x ^N 5 Rnm :
1
^B
x B b  B1 NxN
^=
x =
^N
x ^N
x

^N = 0 5 Rnm , tendramos:
As por ejemplo, haciendo x
1
B b
^=
x
0

el cual, claramente, es una solucin para el sistema Ax = b. Se debe advertir que el proceso
para encontrar las columnas de A que conformarn B puede ser computacionalmente costoso.

También podría gustarte