You are on page 1of 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 resolver 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 1. Solucin nica 3x1 + 2x2 = 10 x1  x2 = 5 = 1 4 x = 2 1 x

En sistemas simples como ste, podemos notar lo siguiente:

2. Soluciones innitas 3x1  3x2 = 15 x1  x2 = 5 3. Ninguna solucin

=

1 5+t x , = 2 t x

t5R

2x1  2x2 = 8 x1  x2 = 5

35

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

36

Figura 3.1: Representacin grca 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 (gura 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 denido por cada ecuacin se denomina n-hiperplano.

3.1.

Aspectos tericos
ecuaciones lineales y n variables es la formulacin + + a1,n xn = b1 + + a2,n xn = b2 . . . . ... . . . . . . . . . . . + + am,n xn = bm

Para un caso general, un sistema de m matemtica siguiente:  $ a1,1 x1 + a1,2 x2 $ $ " a2,1 x1 + a2,2 x2 . . . . . . $ . . . $ $ am,1 x1 + am,2 x2

(3.1)

Usando la notacin matricial, el mismo sistema puede ser visto por Ax = b donde A 5 Rm n , b 5 Rm 5 a1,1 9 a2,1 9 A=9 . 7 . . am,1 (3.2)

t ^1 x ^n Una solucin para el sistema (3.1) es un vector x ^= x 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 innitas soluciones

y x 5 Rn es el vector de las variables o incgnitas, denidas por: 5 6 5 6 6 b1 x1 a1,2 a1,n 9 b2 : 9 x2 : a2,2 a2,n : 9 : 9 : : b=9 . y x=9 . :, : : . . ... . . . 7 . 8 7. . .8 . 8 bm xn am,2 am,n

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 3. El sistema lineal no posee soluciones

37

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 Rm n , denimos 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 Rm n , note que Ax =
n X j =1

aj xj

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 signica 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 Rm n , denotado por rango (A), es denido 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 las 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 Matriz A 5 Rm n


Rango completo Rango deciente

38 m>n rango (A) = n b 5 Im (A) so lu c i n n ic a b 65 Im (A) in co m p a tib le

m<n rango (A) = m


innitas soluc.

m=n rango (A) = n


solucin nica innitas soluc. incompatible

b 5 Im (A) innitas soluc. b 65 Im (A) incompatible

innitas soluc. 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 innitas soluciones. En estas condiciones, 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 ecuaciones lineales

Los mtodos numricos que estudiaremos aqu requieren que el sistema (3.1) est constituido de n las y n columnas, es decir, n = m. Al nal 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 n n pueden ser de dos tipos, directos e iterativos. Directos: Si la solucin existe, otorgan la solucin exacta del sistema lineal despus de un nmero nito 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 teorema 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: xj = det (Aj ) det (A) j = 1, ..., n (3.3)

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 denido por det (A) =
n X j= 1

(1)j+1 a1,j det (A [1, j])

(3.4)

donde a1,j es el elemento en la 1-la y j-columna de la matriz A, mientras que A [i, j] es la submatriz obtenida al eliminar la 1-la 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 denicin dada en (3.4), pero eso tomar por lo menos alrededor de n3 operaciones elementales. Por lo tanto, para nes 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 . . . . . . . ... . . . . . . . . . $ . . . . . . . . $ $ an,1 x1 + an,2 x2 + + an,n xn = bn
1 2

(3.5)

Pero pueden requerir muchas iteraciones. 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 El mtodo de eliminacin de Gauss consiste equivalente, a un sistema triangular superior:  $ a01,1 x1 + a01,2 x2 + $ $ " a02,2 x2 + $ $ $

40

en transformar el sistema (3.5), de un modo + a01,n xn = b01 + a02,n xn = b02 . . . ... . . . . . . . . . a0n,n xn = b0n

(3.6)

El benecio de esto es que se puede resolver el sistema triangular (3.6) de modo eciente, es as que de la ltima ecuacin de (3.6) tenemos xn = Luego, xn1 puede ser obtenido mediante xn 1 = b0n 1  a0n1,n xn a0n1,n1 b0n a0n,n

Y as sucesivamente, obtenemos xn2 , xn3 , ..., x2 , nalmente x1 = b01  a01,2 x2  a01,3 x3   a01,n xn 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 triangular 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 cuntas operaciones aritmticas efecta el algoritmo 3.1. Solucin. Note que en el bucle interno se realizan P 2 operaciones por cada ciclo, una multiplicacin, ak,j xj , y una suma, s + ak,j xj , totalizando n j=k +1 2 operaciones aritmticas.

El algoritmo en s requiere realizar en total una divisin, bn /an,n , ms las operaciones dentro del bucle externo, que son por cada ciclo, 2 operaciones debido a (bk  s) /ak,k , ms lo P realizado por bucle interno, n j=k +1 2. Por lo tanto, el algoritmo requiere en total ! n 1 n X X 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 algoritmo 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 =b , el cual es equivalente4 al sistema original Ax = b. obtenemos un nuevo sistema Ax

3.4.2.

Conversin de un sistema de ecuaciones lineales a uno triangular 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 cuntas 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 !! n 1 n X X X 2 1 7 3+ 2 = n3 + n2  n 3 2 6 k =1 i= k + 1 j =k +1
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 3 1 2 7 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 2 n3 , 3 2 3 y se representa por O( 3 n ). Denicin 3.1 El nmero mi,k = ai,k , ak,k i = 2, ..., n, k = 1, ..., n  1

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

b(1)

Para k = 2, m3,2 = 0.5, m4,2 = 1 y 5 6 1 2 3 0 9 0 2 2 10 : : A(2) = 9 7 0 0 4 4 8 0 0 1 8 Finalmente, para k = 3 tenemos 5 1 9 0 A(3) = 9 7 0 0 m4,3 = 0.25 y 6 2 3 0 2 2 10 : : 0 4 4 8 0 0 7

b(2)

b(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 vericar si realmente es solucin, vemos que 5 5 6= b = Ax = 9 8.51691434300102 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 m2,1 a2,1 1016 = = a1,1 11

es muy grande, lo que ocasionar impresiciones en los clculos siguientes, pues el computador trabaja con precisin nita. Pero qu signica 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 condicin

Considere el sistema Ax = b, donde A es inversible y b es un vector no nulo. Digamos que x ^ sea la nica solucin. Consideremos ahora una perturbacin b de b, el sistema lineal perturbado ser Ay = b + b (3.9) Observe que el sistema (3.9) tambin tiene nica solucin, digamos que sta sea y ^ . Denotemos x ^=y ^x ^, en consecuencia, y ^ =x ^ + x ^. Es natural esperar que cuando b sea pequeo, entonces x ^ tambin lo sea. Para cuanticar 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 x ^ relativa a x ^ es dada
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 5

Si x 5 Rn , kxk =

2 x2 1 + ... + xn .

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

44

por kx ^k / kx ^k. Por lo tanto, en trminos ms precisos, esperamos que cuando kbk / kbk sea pequeo, entonces kx ^k / kx ^k tambin lo sea. As, como y ^ es solucin del sistema (3.9), entonces Ay ^ = b + b = A (^ x + x ^) = b + b = A (x ^) = b = x ^ = A1 (b) Considerando la norma matricial inducida por la vectorial, kAk = m axx6=0
kAx k , kx k

tenemos (3.10)

Por otro lado,

^k = A1 (b)  A1 kbk x ^ = A1 (b) = kx b = Ax ^ = kbk = kAx ^k  kAk kx ^k = kAk 1  kx ^k kbk

(3.11)

kx ^k kbk  A1 kAk kx ^k kbk 1 razonablemente pequeo, Observe que, si kbk / kbk es pequeo y A kAk es un nmero 1 entonces kx ^k / kx ^k debera ser tambin pequeo. Sin embargo, si A kAk es extremadamente grande, a pesar que k b k / k b k sea pequeo, no hay garanta que k x ^k / kx ^k tambin 1 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 formalizamos. Denicin 3.2 (Nmero de condicin) Dada la matriz A 5 Rn n 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: = 1 = kIk = A1 A  A1 kAk = cond (A) I = A1 A

Por (3.10) y (3.11) tenemos

Observacin 3.1 Algunas veces se utiliza tambin la siguiente expresin, rcond (A), la cual est denida 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 1 k 1 mayor mdulo entre los coecientes: ak i,k , para i = k, k + 1, ..., n, donde ai,k representa la (i, k)-componente en la iteracin k  1. Permutar la la 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 6 5 3 2 1 1 5 (1) (1) 90 1 0 3 6: : A b =9 70 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 1. Escoger el pivote: m axj=2,3,4 |a1 j,2 | = |a3,2 | = 3, entonces el pivote es 3

2. Cambiamos las lneas 2 y 3, de donde obtenemos 5 3 2 1 1 (1) (1) 90 3 5 7 b =9 A 70 1 0 3 0 2 4 0

6 5 7: : 68 15

Observe que en este caso los multiplicadores respectivos sern: m3,2 = m4,2 = 1 1 = 3 3 2 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 denitivamente 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 9 9 U=9 7 u1,1 u1,2 u1,n 0 u2,2 u2,n . . . ... . . . . . . 0 0 un,n 6 : : : 8

De ese modo, resolver el sistema Ax = b, o sino LUx = b, es equivalente a resolver consecutivamente: 1. Ly = b 2. Ux = y Una de las principales ventajas que tiene resolver sistemas mediante este mtodo, en contraste 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 (denin 3.1). Supongamos que tenemos la matriz 5 6 0 0 a0 1,1 a1,2 a1,3 : 9 0 0 0 :=A a a a A0 = 9 2,1 2,2 2,3 8 7 0 0 0 a3,1 a3,2 a3,3 Primera iteracin: Los respectivos multiplicadores estn dados por
0 m2,1 = a0 2,1 /a1,1 0 m3,1 = a0 3,1 /a1,1

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


0 a1 1,j = a1,j

j = 1, 2, 3 i = 2, 3, 6 j = 1, 2, 3

0 0 a1 i,j = ai,j  mi,1 a1,j

y obtenemos

9 A1 = 9 7 0 0 Observe que A1 = M0 A0 , donde 5

1 1 a1 1,1 a1,2 a1,3

: 1 : a1 2,2 a2,3 8 1 a1 3,2 a3,3

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 1 m3,2 = a1 3,2 /a2,2 y hacemos
1 a2 1,j = a1,j 1 a2 2,j = a2,j

j = 1, 2, 3 j = 2, 3  m3,2 a1 2,j j = 1, 2, 3 6

a2 3,j y obtenemos

= =

a1 3,j 5

9 A2 = 9 7 0 0 Observe que

2 2 a2 1,1 a1,2 a1,3

: 2 : a2 2,2 a2,3 8 0 a2 3,3

A2 = M1 A1 donde 6 1 0 0 1 0 8 M1 = 7 0 0 m3,2 1 5

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES Adems, A2 es triangular superior y podemos denir U = A2 . Luego: U = M1 A1 = M1 M0 A0 = M1 M0 A0 = M1 M0 A Es decir, y como 0 1 1 1 M M 1 1 1 1 U = M0 U M A = M1 M0 5

48

61 5 61 1 0 0 1 0 0 1 0 8 = 7 m2,1 1 0 8 7 0 m3,1 0 1 0 m3,2 1 5 65 6 5 6 1 0 0 1 0 0 1 0 0 1 0 8 1 0 8 = 7 m2,1 = 7 m2,1 1 0 8 7 0 m3,1 0 1 m3,1 m3,2 1 0 m3,2 1

concluimos que la matriz triangular inferior debera ser 5 6 1 0 0 1 0 8 L = 7 m2,1 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 6 1 2 3 A = 7 2 5 1 8 1 2 1 5 6 10 b = 7 20 8 6 5 5

Luego, m2,1 = 2, y m3,2 = 4, m3,1 = 1, 5

6 1 2 3 A1 = 7 0 1 7 8 0 4 4

6 1 2 3 A2 = 7 0 1 7 8 0 0 32

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES Por lo tanto, 6 5 65 5 6 5 6 1 0 0 1 2 3 1 2 3 1 0 0 1 0 8 A2 = 7 2 1 0 8 7 0 1 7 8 = LU A = 7 2 5 1 8 = 7 m2,1 m3,1 m3,2 1 1 2 1 1 4 1 0 0 32

49

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 6 3/2 Ux = y = x = 7 7/2 8 1/2 5

Ejercicio 3.9 Dada la matriz A 5 Rn n , 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 descomposicin de Cholesky. Denicin 3.3 (Matriz denida positiva) Se dice que una matriz A 5 Rnn simtrica y de orden n es denida 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 denida 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


6 : : : 8

Dada una matriz simtrica y denida positiva: 5 a1,1 a1,2 a1,n 9 a2,1 a2,2 a2,n 9 A=9 . . . ... . . 7 . . . . an,1 an,2 an,n El factor G ser obtenido de la ecuacin matricial: 6 5 5 g1,1 0 0 a1,1 a1,2 a1,n 9 a2,1 a2,2 a2,n : 9 g2,1 g2,2 0 : 9 9 = : 9 9 . . . . . . . . . .. . .. . . 7 . . . . . . 8 7 . . an,1 an,2 an,n gn,1 gn,2 gn,n

65 :9 :9 :9 87

g1,1 g2,1 gn,1 0 g2,2 gn,2 . . . ... . . . . . . 0 0 gn,n

6 : : : 8

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES La columna 1: 5 9 9 9 7 luego g1,1 =

50

a1,1 a2,1 . . .

: 9 : 9 :=9 8 7

g1,1 g2,1 . . . gn,1

an,1

0 0 g2,2 0 . . . . .. . . . gn,2 gn,n y gj,1 =

65 :9 :9 :9 87

g1,1 0 . . . 0

: 9 : 9 :=9 8 7

g1,1 g1,1 g2,1 g1,1 . . . gn,1 g1,1

6 : : : 8

s a1,1

aj,1 g1,1 5 g1,2 g2,2 0 . . . 0

para j = 2, ..., n 6 5 6 : : : : : 8

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

9 :9 :9 :9 89 7

: 9 : 9 : 9 :=9 : 9 8 7

g1,1 g1,2 2 g2 2,1 + g2,2 g3,1 g2,1 + g3,2 g2,2 . . . gn,1 g2,1 + gn,2 g2,2

g1,2 g1,1 = a1,2 = g1,2 = g2,1 = g2 2,1 Como gj,1 g2,1 + gj,2 g2,2 = aj,2 y los gj,1 , j = 1, ..., n, ya fueron calculados, entonces gj,2 = (aj,2  gj,1 g2,1 ) g2,2 + g2 2,2 = a2,2 = g2,2

a1,2 g1,1

q = a2,2  g2 2,1 j = 3, ..., n

j = 3, ..., n

haciendo

Columna k: Los elementos de la columna k de G son: t 0 0 gk,k gk+1,k gn,k 5 9 9 9 9 9 9 ak,k 9 9 ak+1,k 9 . 7 . . an,k ak,1 ak,2 . . . 6 : 5 : g1,1 0 0 : : 9 g2,1 g2,2 0 : 9 :=9 . . . . . .. . : 7 . . . . : : gn,1 gn,2 gn,n 8

k = 2, ..., n 5 gk,1 gk,2 . . . 6 : : : : : : : : : 8

69 9 9 :9 :9 : 9 gk,k 89 9 0 9 . 7 . . 0

tenemos
2 2 ak,k = g2 k,1 + gk,2 + + gk,k

de donde gk,k =

ak,k 

k 1 X i =1

g2 k,j

!1/2

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES 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 1 g g aj,k  k j,i k,i i= 1 gj,k = j = k + 1, ..., n gk,k Algoritmo 3.3 Sea A una matriz simtrica y denida positiva. Para k = 1, ..., n suma = 0; Para j = 1, ... (k  1) suma = suma + g2 k,j r = ak,k  suma .............. (*) s 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

51

Por lo general, ver si una matriz simtrica es denida positiva usando la denicin es una tarea prcticamente imposible. Sin embargo, podemos usar el algoritmo de Cholesky para vericar si A es denida positiva. Si en (*) se tiene que r  0, entonces la descomposicin no es posible y A no es denida 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 1. Resolver Gy = b 2. Resolver Gt x = y Laboratorio 3.2 En algn lenguaje de programacin de su preferencia, implemente el algoritmo de Cholesky, de modo que: cuando la matriz A sea denida positiva, devuelva la matriz triangular inferior G. Caso contrario, debera emitir un mensaje anunciando que A no es denida positiva.

entonces

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES Ejercicio 3.11 Usando el algoritmo de Cholesky, 5 27 12 10 9 12 9 16 9 7 10 16 42 24 29 70 es realmente denida positiva. verique que la matriz 6 24 29 : : 70 8 137

52

Ejercicio 3.12 Una duda comn es, podra ser denida positiva una matriz la cual tiene algunas componentes negativas? Verique 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 denida positiva (use el algoritmo). Ejercicio 3.13 Una matriz simtrica A 5 Rn n se llama semidenida positiva, si xt Ax  0, para todo x 5 Rn . Probar que, para cualquier matriz B 5 Rm n , la matriz C = Bt B es semidenida positiva. Solucin: Observe que C 5 Rm m es simtrica, pues t t Ct = Bt B = Bt Bt = Bt B = C y donde kk es la norma eucldea.

xt Cx = xt Bt B x = (Bx)t (Bx) = kBxk2  0

Ejercicio 3.14 Probar que, si A 5 Rn n es denida 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 Rn n 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 denida positiva y no inversible. Entonces, el sistema Ax = 0 tiene una solucin no trivial, digamos que existe x ^ 6= 0 tal que Ax ^ = 0. Luego, 0<x ^t Ax ^=x ^t 0 = 0 Lo cual es una contradiccion. Esto completa la prueba. Para vericar la segunda parte del ejercicio, basta hacer notar que la matriz 1 0 0 1 es inversible pero no es denida positiva (en realidad es denida 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 jo. Dado el sistema lineal de ecuaciones Ax = b (3.14)

donde A 5 Rn n 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 Rn n 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 denida por la regla xk+1 =  (xk ) = Dxk + d Observe que, si l mk xk = xW , entonces xW es un punto jo de . Bajo ciertas condiciones, W x 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 ecuaciones, respectivamente: x1 = x2 = 1 (b1  a1,2 x2  a1,3 x3  ...  a1,n xn ) a1,1

xn De esta forma tenemos 5 5 6 9 x1 9 x2 : 9 9 : 9 9 . :=9 7 . . 8 9 9 7 xn

1 (b2  a2,1 x2  a2,3 x3  ...  a2,n xn ) a2,2 . . . 1 = (bn  an,1 x1  an,2 x2  ...  an,n 1 xn1 ) an,n
b1 a 1 ,1 b2 a 2 ,2

. . .
bn a n ,n

: 9 : 9  a2 ,1 : 9 a2 ,2 :+9 : 9 . . : 7 . 8 a n ,1 a n ,n

1 ,2 a a 1 ,1

1 ,3 a a 1 ,1 2 ,3 a a 2 ,2

1 ,n a a 1 ,1

0 . . .
a n ,2 a n ,n

. . .
a n ,3 a n ,n

: 2 ,n :9 a a 2 ,2 : 9 :9 . ... 7 . . : 8 0

x1 x2 . . . xn

6 : : : 8

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES Es decir, la funcin iteracin quedara establecida por x =  (x) = Dx + d donde 5 0
1 ,2 a a 1 ,1 1 ,3 a a 1 ,1 2 ,3 a a 2 ,2 1 ,n a a 1 ,1

54

5 9 9 9 d=9 9 9 7

b1 a 1 ,1 b2 a 2 ,2

6 : : : : : : 8

9 a 2 ,1 9  a 2 ,2 9 D=9 . 9 . . 7
a n ,1 a n ,n

0 . . .
a n ,2 a n ,n

. . .
a n ,3 a n ,n

: 2 ,n : a a 2 ,2 : : . ... . . : 8 0

. . .
bn a n ,n

(3.16)

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 denidos en este caso por (3.16). O sino:
+1 xk = 1 +1 xk 2

+1 xk 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  = m ax {i } 1 $i$n |ai,i |  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 .

1 k k b1  a1,2 xk 2  a1,3 x3  ...  a1,n xn a1,1 1 k k = b2  a2,1 xk 2  a2,3 x3  ...  a2,n xn a2,2 . . . 1 k k = bn  an,1 xk 1  an,2 x2  ...  an,n 1 xn 1 an,n

(3.17)

3.10.

Comparacin entre mtodos directos e iterativos

Convergencia: Los mtodos directos son procesos nitos y, tericamente, encuentran la solucin exacta de cualquier sistema de ecuaciones, desde que sta exista. En la prctica no es bien cierto esta ltima armacin, 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 espacio 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 modican 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 modican 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 GaussJacobi. 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 denido por Ax = b, donde A 5 Rm n , 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: B N A = xB x = xN As, Ax = b es equivalente a xB B N = b  BxB + NxN = b  xB = B1 b  B1 NxN xN

Luego, las soluciones x ^ 5 Rn seran generadas dando valores arbitrarios a x ^N 5 Rn m : 1 x ^B B b  B1 NxN x ^= = x ^N x ^N As por ejemplo, haciendo x ^N = 0 5 Rn m , tendramos: 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.

You might also like