You are on page 1of 45
10.1 CAPITULO 10 Descomposicién LU e inversion de matrices Bin este capitulo se estudiars una clase de métodos de eliminacidn amada téenieas de dlescomposicién LU. El principal recurso de la descomposicisn LU es que el paso de la climinacisn que toma mucho tempo se puede formular de tal manera que involucre sdlo operaciones con la matriz de coeficientes [A]. Por esto, es muy adecuado para aguellas situaciones donde se deben evaluat muchos vectores {B} del lado derecho para un solo valor de [A]. Aungue hay muchas formas de hacer esto, el andisis se enfocarden mostrar mo el método de eliminacisn de Gauss se implementa como una descomposicién LU. ‘Un motivo para inlroducir la descomposicién LU es que proporciona un medio cficiente para calcula la mate inversa. La inversa tiene muchas aplicaciones valiosas cn la prdctica de la ingenieria. sta ofzece también un medio para evaluar la condicién de un sistema. DESCOMPOSICION LU. Como se describié en el capitulo anterior, la eliminacién de Gauss sirve para resolver sistemas de ecuaciones algebraicas lineales, [a] = {8} aon) ‘Aunque la eliminacién Gauss representa una forma satisfactoria para resolver tales sistemas, esultaineficiente cuando deben resolverse ecuaciones con los mismos coefi- cientes (Al, pero con diferentes constantes del lado derecho (las b). ‘ecuerde que la eliminacisn de Gauss implica dos pasos: eliminacién hacia adelan- {ey sustitucién hacia ards (figura 9.3)._De ambas, el paso de eliminacién hacia adelan- tees el que representa la mayor parte del trabajo computacional (recuerde la tabla 9.1). Esto es particularmente cierto para grandes sistemas de ecuaciones. Los métodos de descomposicién LU sepatan el tiempo usado en las eliminaciones para la matriz [A] de las manipulaciones en el lado derecho (B). Una vez que [A] se ha “descompuesto”, los miltiples vectores del lado derecho (B} se pueden evaluar de ma- nera eficient. El hecho de que la misma eliminacién de Gauss se puede expresar como una des- composicién LU es muy interesante. Antes de mostrar cémo se puede realizar esto demos primero una demostracién matemética de la estrategia de descomposicién, descomposicién LU De manera similar al caso de la eliminacin de Gauss, la descomposicisn LU requiere de pivoteo para evitar la divisin entre cero. Sin embargo, para simplificar la siguiente 10.1_DESCOMPOSICION LU 283 descripcién, abordaremos el tema del pivoteo después de que el planteamiento funda- mental se haya elaborado. Ademés, la siguiente explicacién se limita a un conjunto de tues ecuaciones simulténeas. Los resultados se pueden extender en forma directa a sis- temas n dimensionales. La ecuacién (10.1) se reordena como 1a] (X} - (2) =0 02) ‘Suponga que la ecuaci6n (10.2) puede expresarse como un sistema triangular superior: = 4d, 103) 4, Observe que esto es similar ala manipulacién que ocurte en el primer paso de la elimi- nacién de Gauss. Bs decir, se utiliza la eliminacién para reducis el sistema a una forma twiangular superior. La ecuacién (10.3) también se expresa en notaci6n matricial y se reordena como (Ux) - (D} =0 aos) ‘Ahora, suponga que existe una matziz diagonal inferior con min nal, 08 Len la diago- 10 0 Lj=|l, 1 0 405) fa he gue tiene la propiedad de que cuando se premultiplica por la ecuacién (10.4), el resulta- does la ecuacin (10,2). Es decir, UEI((U}( — (D}) = AIX) ~ (BY a0.6) Siesta ecuacién se satisface, segtin las reglas de multiplicacién entre matrices, se obten- ara eitu) = A) 40.7) [u1(D} = (8) 0.8) Una estrategia de dos pasos (véase figura 10.1) para oblener soluciones se basa en. las ecuaciones (10.4), (10.7) y (10.8) 1. Paso de descomposicién LU. [A] se factoriza o“descompone” en las matrices ran ‘gulares inferior [2] y superior [U 2. Paso deta susitucién, (L} y [0] se usan para determinar una soluci6n (X} para un lado derecho (B}. ste paso, a su ve, se divide en dos, Primero, la ccuacin (10.8) se usa para generar un vector intermedio (DD) mediante susttucién hacia adelante Después, el resultado se sustituye en Ia ecuacién (10.4), fa que se resuelve por sus- Gtucign hacia ates para (X) DESCOMPOSICION LU E INVERSION DE MATRICES: FIGURA 10.1 Pasos en fs descamoosicion w, Ahora se mostrard cémo se puede llevar a cabo la climinacién de Gauss en esta forma, 10.1.2 Versién de la eliminacién de Gauss usando la descomposicion LU Aunque a primera vista podria parecer que la eliminacién de Gauss no esté relacionada con la eliminacidn LU, aquélla puede usarse para descomponer [4] en {L] y [U), lo cual se observa [écilmente pata [U), que es el resultado directo de la eliminacién hacia ade~ lante, Recuerde que en el paso correspondiente a esta eliminacién se pretende reducir la ‘matriz de coeficientes [A] a la forma dy ay wi-]o as, a, 03) 0 0 a ‘que es el formato triangular superior deseado. ‘Aungue quizé no sea muy clara la matriz (L] se produce durante este paso. Lo anterior se slstrafécslmente con wn sistema de tes ecuaciones, ay ay ay ]fx] [by By dan da fa pes a dy aaltss) [Oy EI primer paso en la eliminacién de Gauss consiste en mulipicar el rengl6n 1 por el factor [recuerde la ecuacién (913)] fue a 10.1_DESCOMPOSICION LU 285 EJEMPLO 10.1 y testar el resultado al segundo senglén para eliminar a, De forma similar, el renglén 1 se multiplica por iyo y el zesultado se resta al tercer renglén para elitminar a. El paso final es multiplicar el segundo tenglén moditicado por y restar el resultado al tercer renglin para eliminar as, Ahora suponga que realizamos todas esas operaciones s6lo en la matriz (A). Resul- ta claro que si no se quiere modificar la ecuacién, se tiene que hacer Io mismo con el lado derecho (B}. Pero no existe ninguna raz6n para realizar las operaciones en forma simultinea. Se podian conservar las fy después manipula (B). {Dénde se guardan los factores fx, fu Y fuz? Recuerde que la idea principal de la onees, se puede guardar fy en aay, fy en 44, ¥ fra €R ayy, Después de la eliminacién la matriz [A], por Io tanto, se describe climinacién fue crear ceros en aay, 43, Y x fi: a ay 10.10) Va fa a, De hecho, esta matriz representa un almacenamiento eficiente de a descomposicién LU de Al [4] > (L)LU] (0.11) donde Ul=| 0 ok a y 1 00 =| fy 1 0 Su Sos EI siguiente ejemplo confirma que (A) = [L]IU Descomposicién LU con eliminacién de Gauss Planieamienio del problema. Obtenga una descomposicién LU basindose en la climinacién de Gauss que se realiz6 en el ejemplo 9.5. 286 DESCOMPOSICION LU E INVERSION DE MATRICES: Solucién. Enel ejemplo 95, se resolvis la matriz 3 1 02 talsjor 7-03 03 02 10 Después de la eliminacisn hacia adelante, se obtuvo la siguiente mateiz wiangular supe- 3 1 02 0 7.00333 0.293333, 0 9 100120 wl Los factores empleados para obtener la matriz wiangular superior se pueden colocar en ‘una matriz triangular inferior. Los elementos a, y dy se eliminaron al usar los factores =SLeoossss 4, = 23 =0.1000000 y elelemento ay se elimina al usar el factor 0.19 fo -0,0271300 Foo Asf, la matriz triangular inferior es 1 oo 0.033333 I ° 0.100000 -0.0271300 1 En consecuencia, la desomposicién 1 0 oyfs -o1 02 [Al =[zitv] =| 0.033333 1 o|]o 7.00333 0.293333 0.100000 9.027130 1]f0 0 — 10.0120 Este resultado se verifica al realizar la multiplicacién de [L][U] que da 3 0.1 02 0.099999 7 0.3 03 0.2 9.99996 (ae donde las pequetias diferencias son debidas a errores de redondeo 10.1_DESCOMPOSICION LU 287 El siguiente es el seudocédigo de una subrutina para realizar la fase de descompo- sicién: end Observe que este algoritmo es “simple” en cl sentido de que no se incluye el pivoteo, Bsta caracteristica se agregar més tarde cuando se desarrolle el algoritmo completo para la descomposicién LU. Después de descomponer la matriz, se puede generar una solucin para un vector particular (B). Esto se lleva a cabo en dos pasos. Primero, serealiza un paso de sustitucién hacia adelante al resolver la ecuacién (10.8) para (D). Es importante notar que esto sslo se rfiere ala realizacidn de las operaciones de la eliminacién en (8). De esta forma, al final del procedimiento, el lado derecho estara en el mismo estado que si se hubiesen realizado las operaciones hacia adelante sobre [A] y (B) en forma simultinca El paso de la susttucidn hacia adelante se representa en forma concisa como dad S oh, parai=2,3,..00 «aoa En el segundo paso, entonces, tan s6lo se realiza la sustitucién hacia atras, como en Ia ecuacién (10.4). Otra vez, ¢s importante reconocer que este paso es idéatico al de la fase de sustitucién hacia atrds, en la eliminacién de Gauss convencional. Asi, de mane- +a similar a las ecuaciones (9.16) y (9.17), el paso de la sustituci6n hacia atrds se repre- senta en forma concisa como = dyn ios) para i= 1 ois EJEMPLO 10.2 Pasos en la sustitucién Planieamiento del problema, ‘Termine el problema que se inici6 en el ejemplo 10.1 para generar la solucin final con eliminacién hacia adelante y sustituciGn hacia atts. 288 DESCOMPOSICION LU E INVERSION DE MATRICES: Soluci6n, Como se establecié antes, la intencién de la sustitucién hacia adelante es aplicas las operaciones de eliminacién al vector {B), previamente aplicadas a [A]. Re- ccuerde que el sistema resuelto en el ejemplo 9.5 fue 3 01 02] [x,) [785 o1 7 -03|fe,)aL 105 y que la fase de eliminacién hacia adelante del método de eliminacién convencional de Gauss dio como resultado 3 1 02 Yfx, 785 0 7.00333 0.293333], |= 419.5617 1021) lo 0 100120 | |x} | 70.0843, La fase de la sustitucién hacia adelante se realiza aplicando la ecuacién (10.7) a nuestro problema, 1 0 olla) 785 0.033333 1 of}, p=4-19.3 [0.100000 -0.0271300 1] [a,) [714 oxealiz \do la multiplicacién entre matrices det lado izquierdo e igualando, 4, 008333334, + dy Old ~ 0.027134; + d= 71.4 Se vesuelve la primera ecuacisn para dj y= 7.85 la cual se sustituye en la segunda ecuaci6a y se resuelve para d; dd; = -19.3 ~ 0.0333333(7.85) = -19.5617 Ambas, dj y d;, se sustituyen en la tercera ecuacién para d3 dy = N1A4=0.1(7.85) + 0.02713(-19.5617) = 70.0843 As, 785 {D}=4-19.5617 70.0843 ue es idéatica al lado derecho de la ecuacién (E10.2.), 10.1_DESCOMPOSICION LU 289 Este resultado se sustituye, entonces, en la ecuacién (10.4), [U[{X} = (D}, para obtener 3-01 02 Wx] [785 © 7.00333 -0,293333] x, |= }-19.5617 © 0 100120 Js, | ro.0843 gue se resuelve por sustitucién hacia atras (véase ejemplo 9.5 para més detalles) para obtener la solucisn final, 3 (X=) 25 7.00003 El siguiente es el seudocédigo de una subrutina para implementar ambas fases de sustitucisn SUB Substitute (a. A, B. x) titucién hacéa adelante borok + = 2,0 sun ~ 8, », DoFoR boroR j= i +I, 0 Xp > (By = Sum)f ay, END 09 END Substitute El algoritmo de descomposicién LU requieve los mismos FLOP de multiplicacisn/ divisi6n (otales que la eliminacién de Gauss. La dnica diferencia es que se aplica un ‘menor abajo en la fase de descomposicisn, debido a que las operaciones no se aplican al ado derecho, De esta forma, el ntimero de FLOP de multiplicacién/divisién en la fase de descomposicisn se caleulan ast: oem + O(n) 10.18) 290 DESCOMPOSICION LU E INVERSION DE MATRICES: Por lo contario, la fase de sustitucién require de un mayor trabajo, Ast el nimero de FLOP para la sustitucién hacia adelante y hacia ards es n*. El wabajo total es, por lo tanto, idéntico al dela eliminacion de Gauss sn) stecem ot) «016 10.1.3 Algoritmo para la descomposicién LU En la figura 10.2 se presenta un algoritmo que implementa la descomposicién LU con climinacién de Gauss, Vale la pena mencionar cuatro caracteristicas de este algoritmo: FIGURA 10.2 Seudoeédigo pata un algorime de descomposicin IU, vB tudecomp (a, 5, », tol, x, er) fo 1 DIM 05, Sq END Decompose ALL beconposeta, n, tol, 0, 6, er) SUH Pivot(a, 0, 5.0. IF er © -1 THEW pak CALL Substitutere. 0, n.d. x) Dig = ABS Cay. F000) mo IF poror ii = kt I,m END Ludecomp dummy = ABS C34 150105) 1F dummy > big THEN 5B Decompose (2, n, tol. 0, big = dummy DorOR i= 1, pe ii nt 10 IF 5, = ABS(2, e bo Doror j = 2, 0 dummy TE ABS(a,,,)5, THEN 5; = ABSCa, 3 4 % END 00 oc = dummy np 09 END’ Pivor BOFOR k= 2, - 3 CALL Pivotle, 6, s,m, K) SUB Substitute (a, 0, n, b,x TF ABS (aon 1 Spay) © ted THEN DOFOR i = 2, 0 er= sua = be, PRINT tocn al So) Doron j= 1, 4-1 EXIT 50 Sum = 84m ~ agin.s * Bows Fao TF END 00 DoFOR i= k= I, 0 bay = sum Factor = ayia foc. #1060 fornia = Factor fa DOFOR j= e+ 1, 0 DoroR = n= T. 2, =I ‘ DorOR = 4-1, 0 E10 0 sum su@ = ages * x END 0 £0 00 TF ABSC2oy al Sag) © t0T THEW Ky = tba ~ Sum)l ayer, oe END 60 PRINT aor Seve END Substitute 10.1_DESCOMPOSICION LU 291 ‘© Los factores gonerados durante la fase de eliminacién se guardan en la parte inferior de la matriz. Esto puede hacerse debido a que de cualquier manera éstos se convier- ten en ceros y no son necesatios en Ia solucién final. Este almacenamiento ahora espacio. ‘+ El algoritmo lleva cuenta del pivoteo al usar un vector de orden 0. Esto acelera notablemente el algoritmo, ya que sélo se pivotea el vector (y no todo el rengl6n). ‘© Las ecuaciones no estén escaladas, pero se usan valores escalados de los elementos para determina si se va a usar el pivoteo. ‘+ El témino de la diagonal se verifica durante la fase de pivoteo para detectar ocu- rencias cercanas a cero con el propésito de advertir al usuario respecto de sistemas singulares. Si baja de un valor er = I, entonces se ha detectado una maltiz singular yy se debe terminar el célculo. Bl usuario le da a un parémetzo rol un valor pequeito, ppara detectar ocurrencias cercanas a cero, 10.1.4 Descompesicién Crout Observe que en la descomposicién LU con la eliminacién de Gauss, la matriz [LJ tiene rnimeros | en la diagonal. Formalmente, a esto se le denomina descomposicion 0 facto- rizacién de Doolittle, Un método alternativo usa una matriz.[U] con mimeros | sobre la diagonal, Bsto se conoce como descomposicién Crour. Aunque hay algunas diferencias entre estos métodas, su funcionamiento es comparable (Atkinson, 1978; Ralston y Ra- binowitz, 1978) ® EI método de descomposicn de Crout genera [0] y [L] barriendo las columnas y Jos renglones de la matriz, como se ilustra en Ie figura 10.3. La descompasicién de Crout se puede implementar mediante la siguiente serie concisa de formulas: parai=i,2,...0 0.17) » para j=2,3,. 10.18) lr para i= jjt 1am 40.19) _ pak =j 41) +2000 (10.20) y Ian = An YY lin 0.21) mposcion Wide Ademés de que consiste de pocos ciclos, el método anterior también tiene la ventaja de economizar espacio de almacenamiento. No hay necesidad de guardar los nimeros 1 10.2 DESCOMPOSICION LU E INVERSION DE MATRICES: gue estin en la diagonal de [U] 0 los mimeros cero de (L o (UI, ya que se dan en el método, En consecuencia, los valores de [U] se pueden guardar en el espacio de los ceros de [L]. Ademés, mediante un cuidadoso examen de lo anterior, queda claro que después de que un elemento de [A] se emplea una vez, nunca vuelve a uilizarse. Por lo tanto, conforme se va calculando cada elemento de {L] y [U], se puede sustituir por el elemento correspondiente de [A] (como se designé por sus subindices). El seudocédigo para realizar esto se presenta en la figura 10.4. Observe que la ecuacién (10.17) no est incluida en el seudocédigo, porque la primera cotumna de (L] yase guard6 en [A]. De otra forma, el algoritmo sigue, en forma directa, de las ecuacio- nes (10.18) ala (10.2). LA MATRIZ INVERSA. Enel estudio de las operaciones con matrices (sevcién PT3.2.2), vimos que si una mati [a] es cuadrada, existe otra matriz [AI conocida como la inversa de [A], pata la cual [ecuaci6n (PT3.3)] lar =4rial= 11 Ahora se enfocard el anslisis ha ccamente. Después se explorari cl modo en que la matriz inversa se calcula numéi “6mo se uiliza para el disedo en ingenieria, FIGURA 10.4 Seudozédige para el elgosiimo de la descompasiciin (U de Crout DoFoR J Eno bo Doron j= 2, END 00 sun = 9 boroR t= 1, 9-2 BOFOR k= 1 10.2_LAMATRIZINVERSA EJEMPLO 10.3 10.2.1 Céleulo de la inversa La inversa se puede calcular en forma de columna por columna, generando soluciones con veetores unitarios como las constantes del lado derecho. Por ejemplo, sila constan- {e del lado derecho de la ecuacién tienen un niéimeto 1 en la primera posicién, y ceros en las otras, 1 (= 40 0 la solucién resultante sera la primera columna de la matriz inversa. En forma similar, si se emplea un vector unitario que tiene un nero | en el segundo renglén 0 b)=91 0 cl resultado seré la segunda columna de la mateiz inversa, La mejor forma de realizar un eéleulo como éste es con el algoritmo de descompo- sici6n LU, descrito a inicio de este capitulo. Recuerde que una de las ventajas mas im- pportantes de la descomposicisn LU es que proporciona un medio eficiente para evaluat diversos vectores del lado derecho. Por lo tant resulta ideal para evaluar los vectores unitarios requeridos en el eéleulo de la inversa Inversion de matrices Planiecmienio del problema. Emplee la descomposicién LU para determinar la rmatriz inversa del sistema del ejemplo 10.2. 3 1 02 Alz]o1 7-03 03 02 10 Recuerde que la descomposicisn dio como resultado las siguientes matrices triangulares inferior y superior 30 1 02 1 oo u}=[0 7.00333 0.293333] [)=| 0.033333 1 ° 0 0 10.0120 0.100000 -0.0271300 1 Soluci6n. La primera columna de la matriz inversa puede determinarse al efectuar el procedimiento de solucién por sustitucién hacia adelante, con un vector unitario (con 294 DESCOMPOSICION LU E INVERSION DE MATRICES: cl mimero 1 en el primer renglén) como el vector del lado derecho. Asi, de Ia ecuacién (10.8), el sistema diagonal inferior es 1 0 olfal fa 0.083333 1 o}}4,}= 401 | 0.100000 -0.0271300 1]|4,| {ol de donde, por sustitucion hacta adelante se obtiene (D)? = [1 ~0.03333 ~0.1009}. Este vector se utiliza como el lado derecho de la ecuacién (10.3), 3 OL 2 x, 1 | [oo sooo |Is| |-0100| de donde, por sustitucién hacia atrés, se obtiene (X}¥ = [0.33249 0.00518 -0.01008}, gue es la primera columna de la matrz, [ar'=|-000518 0 0 0.01008 0 0. Para determinar la segunda columna, la ecuaci6a (10.8) se formula como 1 © ofa) 0} 003333331 off, Sa 0.100000 -0.0271300 1] |, {o| De donde se puede oblener {D), y los resultados se usan con la ecuacisn (10.3) para de- terminar (X}* = [0.0049440,1429030.00271], que es la segunda columna de la matriz, 0.33249 0.004944 0) 0.00518 0.142903. 0 0.01008 0,00271 0 ur Por sltimo, los procedimientos de sustitucin hacia adelante y de sutitucién bacia ara pueden usarse con {B}7=[0 0 1, para obtener {X)? = [0.006798 0.004183 0.09988], gque es la columna final de la mat 0.33249 0.004944 0.006798] [ar'=]-0.00518 0.142903 0.004183, 0.01008 0.00271 0.09988 La validez de este resultado se comprueba al verificar que [Al{Al~* = [1 10.2_LAMATRIZINVERSA 295 EI seudocédigo para generar la matriz inversa se muestra en la figura 10.5. Observe cc6mo se llama a la subrutina de descomposicin de la figura 10.2, para realizar Ia des- composicién, y después se genera la inversa amando repetidamente el algoritmo de sustituci6n con vectores unitarios. El wabajo requerido para este algoritmo se calcula fécilmente como won : Anon Soe tment) “SF (10.22) descomposicién + n x sustiruciones donde, de acuerdo con la seccién 10.1.2 la descomposicién esté definida por la ecuacién (10.15) y el trabajo necesario en cada evaluacién del lado derecho requiere n® FLOP de muluplicacién/divisién 10.2.2 Calculos estimul respuesta ‘Come se vio enla seccién PT3.1.2, muchos de los sistemas de ecuaciones lineales usados cn a préctice de la ingenier‘a se obtionen de las leyes de la conservacién. La expresi¢n rmatemética de dichas leyes es algtin tipo de ecuacién de balance que asegura que una propiedad especfica se conserve (masa fuerza, calor, momentum v ott). En un balan ce de fuerzas de una estructura, las propiedades pueden ser los componentes horizontal 6 vertical de las fuerzas que actian sobre cada nodo de Ia estructura (véase la seccién 12.2), Enun balance de masa, as propiedades pueden ser la masa en cada reactor de un proceso quimico(¥éase la seccién 121), Se tendrdn ejemplos similares en otros campos de la ingenieria, FIGURA 10.5, Programa prne'pal que usa algunos de los subpragromas de la figura 10.2 nora generor luna mati inversa CALL Decompose (a, n, tol, 0. s. er) IF er = 0 THEN DoFOR i= 1, borer j= 1, eno 00 Cal? Substitute bo” boroR j= 1, 0 i, 1+ x0) en ND 90 selida ai, si lo desea ELSE PRINT “sistema mal condicicnado” eno IF 296 DESCOMPOSICION LU E INVERSION DE MATRICES: ‘Al tenerse una ecuacién de balance para cada parte del sistema, da como resultado ‘un conjunto de ecuaciones que definen el comportamiento de las propiedades en todo el sistema, Estas ecuaciones se interrelacionan, ya que cada ecuacién puede tener una o nds de las variables de las otras ecuaciones. En muchos casos, estos sistemas son linea- les y, por lo tanto, de la forma que se trata en este capitulo la}09 = (8) 0.23) ‘Ahora bien, para las ecuaciones de balance, los términos de la ecuacién (10.23) tienen una interpretacién fisica definida, Por ejemplo, Ios elementos de (X} son los va~ lores de Ia propiedad que se balancearé en cada parte del sistema, En el balance de fuerzas de una estructura, epresentan las fuerzas vertical y horizontal en cada miembro, En el balance de masa, los elementos de {X} son las masas de sustancias quimicas en cada reactor, En cualquier caso, representan la respuesta o estado del sistema, que se estd tratando de determinar, El vector del lado derecho {2) contiene los elementos del balance que son indepen- dientes del comportamsiento del sistema (es decir, son constantes), Como tales, repre~ sentan las fuerzas externas o los estimulos que rigen al sistema, Finalmente, la matriz de coeficientes [A] contiene los parametros que expresan cémo {nteractiian las partes del sistema, En consecuencia, la ecuacién (10.23) se puede expre- limteracciones| (respuesta) = (estimulos) As{, laecuacin (10.23) puede verse como una expresisn del modelo matemiético funda- ‘mental que se formulé anteriormente como una sola ecuaci6a en el capitulo 1 [recuerde la ecuacisn (1.1)]. Ahora se percibe que la ecuaciGn (10.23) representa una versién para sistemas interrelacionados con diversas variables dependientes {X%). ‘Como ya hemos visto en este capitulo y en el anterior, existen varias formas de resolver la ecuacién (10.23). Sin embargo, usando la matriz inversa se obtiene un resul- tado particularmente interesante, La solucién formal se expresa como {x} = [AT HB) 6 (recordando la definicién de la multiplicacién matricial del cuadro PT3.2) by + habs + o%yby a= by tlnbs teeth ay rt lysby De esta forma, se ha encontrado que la misma matriz inversa, ademés de oftecer una soluci6n, tiene propiedades extremadamente titles. Es decir, cada uno de sus elementos representa la respuesta de una sola parte del sistema a un estimulo unitario de cualquier otra parte de dicho sistema ‘Observe que estas formulaciones son lineales y, por lo tanto, se satisfacen la super- posicién y la proporcionalidad. La superposicidn significa que si un sistema esté sujeto Varios estinulos (Las b), las respuestas se pueden calcular individualmente y los resul- tados se suman para obtener la respuesta total. La proporcionalidad significa que all ‘muliplicar los estimulos por una cantidad el resultado es la respuesta a esos estimu- Jos multiplicada por la misma cantidad, Asf, el coeliciente aj} es una constante de pro- 10.3 ANALSIS DEL ERROR Y CONDICION DEL SISTEMA, 297 10.3 Cuadro 10.1 porcionalidad que da el valor de x correspondiente a una cantidad unitaria by. Este resultado es independiente de los efectos de By y by sobre xy, los cuales se reflejan en los coeficientes a1," y a4, respectivamente. Por lo tanto, se llega ala conclusién general de gue el elemento a7! de la matriz inversa representa el valor de, debido ala cantidad uni- (aria ,, Usando el ejemplo de la estructura, el elemento a! de la maiz inversarepresen- tarfa la fuerza en el miembro i debida a una fuerza unitaria externa en el nodo j Incluso ppara sistemas pequeti. dicho comportamiento de imteracciones estimulo-respuesta indi- viduales podrfa no ser intuitivamente obvio. Como tal, 1a matriz inversa oftece una pode- +1osa técnica para comprender las interelaciones entre las partes components de sistemas complicados. Este poder se demostraré en las secciones 12.1 y 12.2 ANALISIS DEL ERROR Y CONDICION DEL SISTEMA. Ademas de sus aplicaciones a la ingenierfa, la inversa también proporciona un medio para determinar silos sistemas estén mal condicionados. Estén disponibles tres métodos para este propésito: 1. Escalarla matriz de cocficientes [4], de manera que cl elemento més grande en cada renglén sea 1. Se invierte la matriz escalada, y si existen elementos de [AI que sean varios 6tdenes de magnitud mayores que uno, es posible que el sistema esté ‘mal condicionado (véase el cuadro 10.1) 2, Multiplicar la inversa por la matriz de coeficientes original y estima si el resultado ¢s lo suicientemente cercano a la matrz identidad. Si no es asi esto indica que el sistema estd mal condicionado. Interpretacién de los elementos de le mattiz inversa como una medida de mal condicionamiento ‘Ua método para determinar la condicién de un sistema consiste enescalar [A] deal forma queel elemento mayor en cadareaglén sea I y después caleular [AJ*. Silos elementos de [AT son varias érdenes de magnitud mayores que los elementos de la smalrizescalada original, es probable que el sistema esté mal condicionado. Se puede obtener cierto conocimiento con este método al recordar que una forma de verifcar sina solucién apreximada (X}es aceptable, ex susisayéndolaen las ecusciones originales Y observa x resulan Las constants originales del lado derecho, Esto equivale a (R) = (B) ~14)(8) (C10. donde {R) el esiduo ence as cnsianes del indo derecho tos valores ealculados con la soleién (£). Si {R)c¢pequese, se concluye que os valores de (R) son adeevades. Supniendo gue (X) In sein exact qu dao reso ce, enonces (0) = 48) -1a}0) (c101.2) Restando la ecuaci6n (C10.1.2) de (C10.1.1) resulta (Ry {x9 =} Muliplicando ambos lads de esta ecuacén por [AP se oben (X) - (8) = [AP RY Este resulado indica por qué a verificacién de un slucén por sulla puede ser engaiosa. Para casos donde los elemestos de [AJ son grandes, una pequetia discrepancia en el residuo (R) de ado derecho, puede correspondes an gran eco (X) ~ (3) en el valor calcula de las inedgntas, En otras palabras, un residuo pequeso no garaniza una soluciéa exacia. Aunque, puede concluirse que si el elemento mayor de [A}" es de un fren de magnituduniara, s puede considera que el sistema esté bien condcionade, De modo contac, xi [A contene elementos mucho mis grandes que la unidad se concluye que el sistens etal condicionada 298 DESCOMPOSICION LU E INVERSION DE MATRICES: 3. Invertir a matriz inversa y estimar si el resultado estd lo suficientemente cexcano ‘ala mateiz de coeficientes original Si no es asi, esto de nueva cuenta indica que el sistema esté mal condicionado, ‘Aungue estos métodos Hlegan a indicar un mal condicionamiento, seria preferible obtener un solo ndmero (al igual que el niimero de condicién de la seccién 4.2.3) que sirviera como ua indicador del problema, Los intentos que se han hecho para formulas tal snimero de condicién matricial estén basados en el concepto matemético de la norma. ‘Una norma es una fancién que toma valores reales y que proporciona una medida del tamaio 0 "longitud!” de entidades mateméticas multicomponentes, como los vectores y Jas matrices (véase cuadro 102) ‘Un ejemplo simple es un vector en el espacio eucldiano tridimensional figura 10.6) aque se representa como [Fl=la b al donde a b y ¢ son las dstancas ao largo de los ejes x y yz, espectivamente. La lon- gitud de este vector [esto es, a distancia dela coordenaia (0, 0,0) a (a,b) calcula simplemente como In eae donde la nomenclaturallél|, indica que a esta longitud se refiere a la norma euclidiana de En forma similar, para un eotrn dimensional LXI=La 29.» 2 una norma eal Giana se ealeulaia como FIGURA 10.6 Representacién grea de usvecorlE]=[a 6 clen 10.3 _ANAUSIS DEL ERROR Y CONDICION DEL SISTEMA 299 Cuadre 10.2 Nornas matriciales (Como se vio en esta seein, las normas cuclcianas se emplean para cuunifiar el tamaio de un vector. oem mate 2 ws -(S br] Puede obeervarse que la norma excldiana y la norma 2, Xx, son idéntcas para Vectres, ‘Otcs ejeplos importantes som ba bl ‘que representa Ia norma conto la suma de os valores absolutes de los elementos. Oura es Ia norma magnitud-mdxima 0 norma Wall = las normas p que se Pe = mse la cual define la norma como el elemento con el mayor valor absolute. Uiilizando un método similar, se pueden desurollar normas para matices. Por ejemplo, Wee bol Eto es, se realiza una sumatoria de los valores absolutes de les coeficentes para cada colurmna, y la mayor de estas sumatrias se oma como la norma, Bso se conoce como la norma colnna- ‘Una determinacin similar se puede haces paral renglones y resulta una mairz-uniforme o norma renglén-suma, ned bl Debe observarse que, en contraste con los vectors, la norma 2 ylanorma eucliana para un matcz no son To mismo. Mien- teas que la norma euclidiana |, puede ser ficilmente determi ‘nada mediante la ecuacién (10.24), lanorma 2 para matrices [ll secaleula ax lall.= donde jn €8 el mayor eigenvalor de [AFA, En el capitulo 27 se-verd mis sobre eigenvalores. Mienras tanto, el punto impor: tante es que la norma||Al|,, 0 norma espectral, es la norma rims y, por Jo tanto, proporciona la medida de tama mis ajustada (Onega, 1972) Ml, ye El concepto puede extenderse ademas a una matriz [A], de la siguiente manera, >> 7 02 ala cual se le da un nombre especial (la norma de Frobenius). De la misma manera como las normas de vectores, proporciona un valor nico para cuantificar el “tamaiio” de (Al ‘Debe notarse que hay alternativas para las normas euclidiana y de Frobenius (véase cuadro 10.2). Por ejemplo, la norma vector uniforme se define como Da. = mel 300 DESCOMPOSICION LU E INVERSION DE MATRICES: EJEMPLO 10.4 Es decir, el elemento con el mayor valor absoluto se toma como la medida del tamalio del vector. En forma similar, una norma matricial uniforme o norma renglén-suma se define como Mall 10.25) od b En este caso, se calcula Ja suma del valor absoluto de los elementos por cada renglén, y la mayor de éstas se toma como la norma. ‘Aunque hay ventajas teéricas para el uso de ciertas normas, la eleceidn algunas veces esti iniluenciada por consideraciones précticas. Por ejemplo, la norma renglén- uniforme es ampliamente usada por la facilidad con que se calcula, y por el hecho de que usualmente proporciona una medida adecuada del tamaiio de la mateiz, 10.3.2 Nimero de condicién de una matriz Ahora que se ha presentado el concepto de norma, se puede usar para definir Cond (4) = [ll -lla-l (2026) donde Cond [4] se lama mimero de condicién de una matriz. Observe que para una mattiz [A], este nimero ser mayor o igual a 1. Se puede mostrar (Ralston y Rabinowitz, 1978; Gerald y Wheatley, 1989) que be XI cg, Dh cond tal lal i” Bs decir, l error relative de la norma de la solucién calculada puede ser tan grande como el error relativo de la norma de los coeficientes de [A], multiplicada por el mimero de condicién. Por ejemplo, si los coeficientes de [A] se encuentran a ¢ digitos de precisién (€sto es, los errores de redondeo son del orden de 10~) y Cond [A] = 10*, la solucién (X] puede ser vilida sélo para ¢—¢ digitos (errotes de redondeo ~ 10). Evaluacién de la condicién de una matriz: Planieamienio del problema. La mateiz de Hilbert, que es notoriamente mal condi- cionada, se representa como 1 2 Un mw us Monet) Vn inet) Wne2) un) 10.3 _ANAUSIS DEL ERROR Y CONDICION DEL SISTEMA 301 Use la norma renglén-suma para estimar el niimero de condicién de la matriz de Hilbert de 3x3, 1 2 wB A\=|02 03 uA we ve us Soluci6n. Primero, la matriz se normaliza de tal forma que el elemento méximo en cada renglén sea 1. 1 1 128 Wn 1 v4 4S) Sumando cada uno de los renglones el resultado es 1.833, 2.1667 y 2.35. Entonces, el cece renlén Gene I uma mayer y lanes engin ce 33 a =e Wal =143+2 La inversa de Ia matriz esealada se ealeula como, 9-18 10 Ay" =|-36 96 60 30 90 60 Observe que los elementos de esta matriz son mayores que los de la matriz original. Esto también se refleja en su norma renglén-suma, la cual se calcula como lal = Entonces, el ndmero de condicién se calcula como 36| + [96] + [60] = 192 Cond [A] = 2.35(192) = 451.2 Elhecho de que el nimero de condicién sea considerablemente mayor que launidad sugiere que el sistema esté mal condicionado, La importancia del mal condicionamiento puede ser cuamlificado al caleular ¢ = log 451.2 = 2.65. Las computadoras que usan una representacién de punto flotante IEEE tienen aproximadamente (= log 2 = 7.2 digitos significativos en base 10 (recuerde la secciéin 3.4.1). Porlo tanto, la solucién puede tener cerrores de redondeo de hasta 10°72) = 3 x 10-% Observe que una estimacién como sta casi siempre sobrepredice el error verdadero, Sin embargo, son iitiles para alertar al usuario en el easo de que los errores de redondeo puedan resultar significatives 302 DESCOMPOSICION LU E INVERSION DE MATRICES: En pocas palabras, el problema al usar la eouacin (10.26) se precio computacio- nal requerido para obtener Rice (1983) indica algunas posites estategis para feduct el problema, Aden, él sugiee una forme alteativa para determina la con- Givin dl sistema: ejecut a misma solucidn en dos diferentes compiladores,Yaque los cédigo resltantes implementan en forma diferente I aritmetica el efeet de mal con. Givio-namientodebera ser evdenteen un experimento como ése. Por timo, se debe mencionar qu ls pagutes de software y ls bibliotecas, como MATLAB y Mathcad tienen la capacad para calcula en forma convenients la condicién de una mattz Revisaremos esta capacidades cuando se vean esos paguees a inal de capitulo 1 10.3.3 Refinamiento iterative En algunos casos, los errores de redondeo se reducen con el siguiente procedimiento, ‘Suponga que se esta resolviendo el siguiente sistema de ecuaciones: ay, + aints + ayghs = AypXy # dyaty + ayyhs = By dom ayyhy # dsaty + ayphy = Dy Se limitardel siguiente andlisis aun sistema pequeio de (3 x3). Aungue, este método se ‘puede generalizar para aplicarlo a sistemas de ecuaciones lineales més Suponga que na slucn aronimaa on forma vectorial es (X)? =U, So Esta solucin se sustituyeen Ia ecuacién (10.27) para tence ayih, + asks + anshy = By 10.28) ayh, Haste + ashy Ahora, suponga que la solucisn exacta (X} est expresada como una funcidn de la solu- cign aproximada y de un vector de factores de correccién {AX}, donde + Ay at An 0.29) +A Estos resultados se sustituyen en la ecuacisn (10.27), para obtener cl siguiente sistema (8 + AN) + aylty + Ax) + ayyCy + Ay) = by (G+ Ax) + aC, + A) + ayy6Ry + AN) = by (2030) (E+ AN) + ayy + At) + ay(% + AN) = by Ahora, a ecuacién (10.28) se resta de la (10.30) para dar Ax, + age, + ayn, = by 8, aayAX, + ayyA, + any = by ayyAny + aad, + ayn, aos PROBLEMAS: 303 ‘As{este sistema es un conjunto de ecuaciones lineales simulténeas que puede resolver se para obtener los factores de cortecci6n. Dichos factores se aplican para mejorar la solucién, como lo especifia la ecuacién (10.29), Es lativamente sencillo agregar un procedimiento de refinamiento iterativo en los programas de computadora para métodes de eliminacién. Bsto es especialmente efecti- ‘vo paralos métodos de descomposiién LU descritos antes, los cuales srven para evaluar cn forma eficiente varios vectores del lado derecho. Observe que para ser efectivos en sistemas mal condicionados, las E en la eouacién (10.31) deben expresarse en doble precision, PROBLEMAS 10.1 Uilce las soglas de la mulliplicaciéa de matices para demostrar que las ecvationes (10.7) y (108) se obtienen de la 09), 10.2 a) Use la eiminacién simple de Gauss para descomponer el sistema siguiente, de acuerdo con a descripcin dela seccién 10.12. Después, multplique las maitces(Z] y [U7] resultantes para de- ‘mostrar que se genera[A] b) Emplee I descomposicién LU pars resolver el sistema, Reale todos los pasos del edleuto,c) Tam= bin resuelva el sistema para un vector alternative del lado de- echo: (8)? =[12 18-6] 103 42) Resuelva el sistema de eouaciones siguiente por medio de la descomposiciéa LU sin pivoteo, Sut 4hyoay = 1 Su +4 2x; =m +64 =7 1) Determine la matsz inversa. Comprucbe sus resultados por ‘medio de verificar que [AAT = [0 10.4 Resuelva el sistema de ecuaciones siguiente por medio de 1a descomposieién LU con pivoteo parcial: 2x) Oy = 38 Syn tTy st By ty - 24220 1055 Determine los flops toales como funcién del nimero de evuacionesn para las fases de a) descomposicién,b)sustitucién hacia adelante, y ¢)sustitucién hacia aris, de la versin de la ddescomposicién LU de Ia eliminacién de Gauss. 1066 Uilice la descomposiién LU para deteminar la mati in versa del sistema que sigue. No use una esrategia de pivoteo, y iN. compruebe su resultado con la verificacin de que [A]IAT* 10x, 4 28:= 9 3,64, 2x, aay Si Después, multiplique las matrices [2] y [U] resultant ps determinar que se produce (4 1058 Bl sistema de ecuaciones que sigue esté disesiado para \eterminae concentraciones (lak c estén en gim") en usa sere de reactors acoplades, como funcién de la cansidad de masa que entra a cada uno de ellos (Ios lados derechos estin en gia) Se, —3ey wie, #186, ~ 66 He, 1+ 12 «Determine a mative 8) elninveta ae cocoate a sein 1) Deter sus debe incomes tt eae de tna exter 3 parsindion amet d 10 in on TDemmeoncé el enter 4 Coto reds a concent neler 3 isa densa decatadasTosteatass 1) 2etedacn 5009250 gl epetyamentt 109 Decne fll al yal para 8 2-10 tae|9 13 Bat 6 304 DESCOMPOSICION LU E INVERSION DE MATRICES: EBscale la matriz havicado que el méximo elemento de cada rengl6n sea igual a uno 10.10 Determine as normas Bucldiana y de renel6n-suma pars los sistemas de los problemas 10.3 y 10.4, Escle las matrices por medio de hacer que el elemento mis grande de cada englén sea igual a uno 10.11 Una matt [Al esté definida como sigue 012s 02s os 0056S 0625 0251 0.00863 002777 0.16567 1 1 0.001953 0.015825. 0.125 Con el uso de la norma renglén-suma, calcule el nimero de condieién y eudnts digitos sospechosos se generarfan con esta 10.12 ) Determine el némero de condicién para el sistema inte por medio de la norma renglén-suma, No normalice el sistema 1 4 9 16 25 49 16 25 35 9 16 25 36 49 16 25 36 49 64 25 36 49 64 81 {Custos digitos de precisin se perderfan debido a condicién anémala? b) Repta el inciso a), pero escale la matrz,por medio de hacer el elemento mas grande de cada renglén igual a uno. 10.18 Determine el aimero de condicién eon base en la norm renplén-suma para la matriz de Hilbert normalizada de 5 x 5 {{Cuntosdgitossigniticativos de precsién se perderfandebido ‘la condiciéa anémala? ‘W.L4 Adersis de Ia mati de Hilbert, hay otras matvices que son andmalas de modo inhereate, Uno de esos casos es Ia mari dde Vandermonde, que tiene Ia forma siguiente: 42) Determine el nimero de condicién con base en la norma renglén-suma para el cao en gue x, = 4,3 = 2, =7. 1) Emplee el software de MATLAB para calular los nimeros de condiciénespectral y de Frobenius 10.15 Desarolle un programa amigable para el usuario pars hacer la descomposiciéa LU con base en el seudocédigo dela figura 102 10.16 Realice un programa amigable para cl usuario para fe tar la descomposicion LU, que inclu la capacidad de evaluar la mati inversa, Fandamente el programa en las figuras 10.2 y 105, 10.17 Use tSenieas teraivas de refinamiento para mejorar x= 3 y m= 8, que son las soluciones aproximadas de 2a + Set) 6x 424, +44=12 nt 2nta=3) 10,18 Considere los vectores siguientes: A=2i-3j ak Goat rojak ivector J ot perpenticlaral B yal 2-Tanbida so sabe que BG = 2. Us cualquier métod de los estudiadosen est cap tuo para eslver Is tesincgias, a 10419 Consider los vetores siguientes: Anal tbjvck Beat jak Psp donde A es un vector desconocido, Si xD + Ax) = GaroF + b-9}+ der DR use cualquier método de os que aprendié en este capitulo para resolver para las tes ineéignitas, a Bc 1,20 je que la funcién estédefnida en el intrvalo (0, 2) come sigue: _farsb osxst J Vesa, iss? Determine las constantes a, b,¢y d, de modo que La funcién f satisfaga lo siguiente: + fO)=f2)=1 + Fescontinua en todo el intervalo. + ath COblengay resuelvaun sstemade ecuacionesalgebraicas linales| con una forma matricial idéntica als ecuaciés (10.1), 2 42) Crve una maiz de Hilbert de 3% 3, Bsta se la matzz [A] ‘Molsplique a matriz por el veetor columna (x) =(1, 1. UF. La solucién de [A}{x) seré otro vector colurana (b). Con cl uso de eualquicr paquste numérico y la eliminacién de Gauss, encueatee a solucién de [A]{x) = {b) por medio del ‘empleo dela matrz de Hilbert y el vector (b) que caleul. ‘Compare el resultado eon su vector (x} conocida. Uiilice precisa suliciente al mostrar los resultados con objeto de permite detectar imprecisiones 1) Repitaenciso a con elo de una mati de Haber de 77. ©}, Repita el inciso a) con el uso de una matiz de Hilbert de 10x10, CAPITULO 11 Matrices especiales y el método de Gauss-Seidel Ciertas matrices tienen una estructura particular que puede aprovecharse para desarro- lar esquemas de solucién eficientes. La primera parte de este capitulo se dedica a dos de estos sistemas: matrices bandeadas y simétricas. Se describen métodos de elimina- ci6n eficiente para ambas. La segunda parte de este capitulo presenta una alternativa a los métodos de elimi- navi6n, es decir, métodos iterativos. El enfoque se da con el método de Gauss-Seidel, el cual emplea valores iniciales y despues itera para obtener mejores aproximaciones a la solucién. El método de Gauss-Seidel es particularmente adecuado cuando se tiene gran niimero de ecuaciones. En estos casos, los métodos de eliminacién pueden estar sujetos ‘aerrores de redondeo. Debido a que el error en el método de Gauss-Seidel es determi- xado por el niimero de iteraciones, el error de redondeo no es un tema que preocupe a este método, Aunque, existen ciertos ejemplos donde la téenica de Gauss-Sé gerd al resultado correcto. Hstas y algunas otras ventajas y desventajas que se tienen entre los métodos de eliminaciéa e iterativos se analizarin en las paginas siguientes. MATRICES ESPECIALES Como se mencioné ene cuadro PT3.1, una matric bandeada es una matriz cuadrada en la que todos sus elementos son cero, con excepcién de una banda cenrada sabre la dia- gonal principal. Los sistemas bandeados se encuentran con frecuencia en la préctica cientfia y dela ingeniera, Por ejemplo, ales sistemas aparecen en la solucién de ecua- ciones diferenciales. Adems, otros métodos numsricos como el de los trazadorescbicos (seccién 18.5) involucran la solucién de sistemas bandeados. [Las dimensiones de un sistema bandeado se cuanifica mediante dos pardmetros el ancho de banda (BW. por sus iniciles en inglés) y el ancho de media banda HBW (Gigora 11:1. Estos dos valores se relacionan mediante BW = 2HBW + 1. En general, un sistema bandeado es aquel para el cual a, ~ Os i=l > HBW. ‘Aunque a eliminaci6n de Gauss ola descomposicion LU convencional se emplean para rescver sistemas de ecuaciones bandeados,resltan ser inficients, debido a que 5 el pivoteo no es necesaio, ninguno de los elementos fuera de la banda cambiatd su valor original igual a cere. Asi, serénecesario wlizar tiempo y espacio ene almacena- mientoy en el manejo de estos cero intles. Si se sabe de antemano que el piveteo no es necesario, se pueden desarrollaralgoritmes muy eficienes en ls que no ntervengan Jos ceros fuera de la banda. Como en muchos problemas con sistemas bandeados. nose require el pivoteo; los algoritmos aternos, que se descrbirén a continoacién, son los métodos selecionados para tal fin, MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL 2} Descompe: DoFOR k= 2, 1 b) Sustitucién he edelante xa th FIGURA 11.2 Seudoctdigo implemen'ar el algosim de Thomas, un matode de sdescom sistemas Hew. FIGURA 11.1 Poramets vilizedes pora cusntficar las dimensiones do, BW y HEW dosignan el ancho de conda y al anche de macic bands, reepacivamens| 11.1.1 Sistemas tridiagonales Un sistema tridiagonal (es decir, uno con un ancho de banda 3) se expresa en forma general como: fi 8 a) fa eh & a] fe Sh & a} fn . ay 1 Sos Bua fot L « tla! ty Observe que se ha cambiado la notacién para los coeficientes: en lugar de a y b usamos ef gy F Esto se hace para evitar guardar un gran numero de ceros que no se wtiliz cn la matriz cuadrada de las a. Esta modificaci6n es ventajosa para ahorrar espacio, ya gue el algoritmo resultante requiere menos memoria de cémputo. En [a figura 11.2 se muestra el seudocédigo de un método eliciente, amado algo- ritmo de Thomas, para resolver la ecuaci6n (11.1). Como una descomposicién LU con- vencional, el algoritmo consiste de tres pasos: descomposicién, sustitucién hacia adelante y sustitucién hacia atrés. Asi as ventajas de la descomposicién LU, tales como laevaluacién de vectores maltiples del lado derecho y el calculo de la matriz inversa, se obticnen mediante una apropiada aplicacién de este algoritmo, EJEMPLO 11.1 11.1_MATRICES ESPECIALES 307 Solucién tridiagonal con el algoriimo de Thomas Planfeamienio del problema, Resuelva el siguiente sistema tridiagonal con el algo- ritmo de Thomas. 204-1 iT) (408 “1 208-1 7,|_} os -1 204-1 f)z,{7} 08 -1 204]/7,| [200.8] Solucién. Primero, la descomposicin se realiza as: =1/2.04 = -0.49 04-0491) = = -1/1.550=-0.645 04 (-0.645)(-1) = 1.395 550 ==11.395 =-0.717 04 —(-0.717)(-1) = 1.323 fe Asi, la matriz se transforma en 204-1 049 1550-1 0.645 1395-1 -O717 1323 y la descomposicién LU es 1 208-1 0491 1850-1 064s 1 1395-1 oT 1 1,323 [a]=[z]U] Se puede verificar gue éta sea correcta al maltiplicar [L][U] para obtener (Al. La sustitucién hacia adelante se realiza de la siguiente manera r= 08 - (-0.49}40.8 = 208 1y= 08 ~(-0.645)20.8 = 14.221 r= 2008 ~(-0.717)14.221 = 210.996 De esta forma, el vector del lado derecho se modifica a 308 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL 408 208 14221 210.996 cl cual, entonces, se utiliza de maner conjunta con la matriz.[U], para tealizar la sus~ titueidn hacia atrés y obtener Ia solucién T, = 210.996/1.323 = 159.480 T,= (14.221 — C1)159.48)/1.395 24,538 = [20.800 (1) 124.538)/1.550 = 93,778 [40.800 — (-1)93.778)/2.040 11.1.2 Descompesi Recuerde del cuadro PT3., que una matez simetrica es aquella donde a, =a, para toda ij Bn otras palabras, [A] = [A]" Tales sistemas se presentan cominmente en problemas de contexto matemético y de ingenierfa. Estas matrices ofrecen Veatajas computaciona- les, ya que tnicamente se necesita la mitad de espacio de almacenamientoy, en la max yorfa de los casos, sélo se requiere la mitad del tiempo de edleulo para su solucién, ‘Uno de los métodos més populares usa ladescomposicién de Cholesky. Este algo- ritmo se basa en el hecho de que una matt simétsica se descompone as lal= «uy Bs decir, los factores triangulares resultantes son la transpuesta uno de otro, Los términos de la ecuacién (11.2) se desarrollan al multiplicar e igualar entre sf ambos lados (véase el problema 1.4 al final del capitulo). El resultado se expresa en 1a simple mediante relaciones de recurrencia, Para el renglén k-ésimo, aay ana) BJEMPLO 11.2. Descomposicién de Cholesky Planfeamienio del problema Aplique la descomposicién de Cholesky a Ia matriz siméica 11.1 MATRICES ESPECIALES 309 DoFor & ~ poroR i= 1, k= 2 END Do ay ~ (ayy > sumdlay, END D0 FIND 20 FIGURA 11.3 Seudocddigo para ol algorimo de descomoos be IU de Cholesky 6 15 58 [a]=[1s 55 225 55 225 979 Solucién. Para el primer renglén (k = 1), no se toma en cuenta la ecuacién (11.3) y se cemplea la ecuacién (11.4) para caleular y= ay =N6 = 2.4495 Para el segundo rengln (k = 2), con la ecuaci6n (11.3) se obtiene ay __ 1S eT Faas = 6.1237 y-con Ia ecuacién (11.4) resulta, ty, = yay, = Y5S— (6.1287 = 4.1833, Para el tercer renglén (k= 3), la ecuacién (11.3) com i= 1 da come resultado 6.1237(02.454) =2091 4.1833, 20916 en Ia ecuacién (11.4) se obtiene I= yay KB, 1979 — (22.454) —(20.916)" = 6.1105 De esta forma, la descomposicién de Cholesky queda como 2.4495 {x]=]6.1237 4.1833 22.454 20916 6.1106 Se verifica la validez de esta descomposicién al sustituitla junto con su transpuesta en Ia ecuacién (11.2) y ver que del producto resulta la matriz original [4]. Esto se deja como ejercicio para el lector En la figura 11.3 se presenta el seudocédigo para el algoritmo de la descompo- sicién de Cholesky. Debe observar que el algoritmo de la figura 11.3 da un error de eje- cucién si en la evaluacién de ay se obtiene la raiz cuadrada de un nimero negativo. Sin 310 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL WW embargo, cuando la mattiz es definida positiva, esto nunca ocurtird. Debido a que suchas de las matrices simétricas que se usan en ingenierfa son de hecho definidas positivas, el algoritmo de Cholesky tiene una amplia aplicacién. Ouro beneficio al uaba- jar con mattices siméticas definidas positivas es que no se requiere el pivoteo para evitar la divisién entve cero. Asi, es posible implementar el algoritmo de la figura 11.3 sin la complicacién del pivoteo. GAUSS-SEIDEL Los métodos iterativos constituyen una alternativa a los métodos de eliminacién descri- tos hasta ahora, para aproximar Ia solucién, Tales métodos son similares a las técnicas gue se desarrollaron en el capitulo 6 para obtener las rafces de una sola ecuacién. Aque- Ios métodos consistian en suponer un valor y Iuego usar un método sistemstico para obtener una aproximacién mejorada de la rafz. Como esta parte del libro trata con un problema similar (obtener los valores que simultneamente satisfagan un conjunto de ccuaciones). Entonces se esperaria que tales métodos aproximados fuesen tiles en este contexte, El método de Gauss-Seidel es el método iterative més comtinmente usado. Supon- ga que se da un sistema de m ecuaciones: [a]09 = {8} Suponga que se limita a un conjunto de ecuaciones de 3 x 3. Silos elementos de la dia- zonal no son todos cero, la primera ecuacién se puede resolver para x,,la segunda para xy Ia tercera para x,, para obtener Ante ta asa) ass) sistas ase) ‘Ahora, se puede empezar el proceso de solucién al escoger valores iniciales para las x. Una forma simple para obtener los valores iniciales es suponer que todos son cero, Estos ceros se sustituyen en la ecuaci6n (11.54), a cual se utiliza para calcular un nuevo valor x; = by/a,,. Después, se susttuye este nuevo valor de x, junto con el valor previo cero de x, en la ecuacién (11.5b) y se calcula el nuevo valor de x,. Este proceso se repite con la ecuacién (11.5e) para calcular un nuevo valor de 1,. Después se regresa a la pri- mera ecuacién y se repite (odo el procedimiento hasta que la soluciéa converja suficien- ‘Ua marc defini postva es aguella para la cal el producto (X)"1A]X) es mayor que cero, pra todo secor(X) dst de cero 11.2 GAUSS-SEIDEL au EJEMPLO 11.3 emente cerca a los valores verdaderos. La convergencia se verifica usando el criterio [recuerde la ecuacién (3.5)] “ES pos er, a6 para todas las j, donde j y j— 1 son las iteraciones actuales y previas, respectivamente, Método de Gauss-Seidel Planleamiento del problema Useelmétodo de Gauss-Seidel para obtener a solucién del sistema usado en el ejemplo 11. 3x, -0.1x,-0.2x,= 7.85 Oly, +7x,-03x,=-19.3, 03%, -0.2x,410y= 714 Recuerde que la verdadera solucisn es x; =3, x 25 y x5 Solucién. Primero, despeje laincégnita sobre la diagonal para cada una de las ecua- 185+0.1x, +0.2%, : aus 198-015 +08H aus Teds a Suponiendo que x, y x, son cero, se utiliza la ecuaeién (B1L.3.1) para ealcular 4, = 2854040 3 2.616667 Este valor, junto con el valor de x, = 0, se susttuye en la ecuacién (E11.3.2) para caleular 19,3 ~0.1(2.616667) 7 = 2.704524 La primera teracién termina al sustituir los valores calculados para x y x, en Inccuacién (B11.3,3) para dar 4p, = TA =03(2.616667) +0.2(-2.794524) O 10 = 7.005610 En la segunda iteraci6n, se repite el mismo proceso para calcular 312 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL 2.794524) + 0.2(7,005610) 3 2.990557, =0.31% 19,3 ~0.1(2.990557) + 0.3(7.005610) 7 015% (0.3(2,990557) +-0.2(-2.499625) 10 7.000291 “= =0,0042% EI método es, por lo tanto, convergente hacia la verdadera solucién. Bs posible aplicar iteraciones adicionales para mejorar los resultados. Sin embargo, en un problema real, ro se podria saber a priori el resultado correcto. En consecuencia, la ecuacién (11.6) nos dda un medio para estimar el error. Por ejemplo, para x; 2.990557 - 2.616667] 2.990557 100% = 12.5% Para x,y los enrores estimados son [é,,1 = 11.8% y [eqs] ~ 0.076%. Observe que como cuando se determinaron las rafces de una sola ecuaciéa, las formulaciones como Ja ecuacién (11.6) usualmente ofrecen una valoracién conservativa de la convergencia, Asf, cuando éstas se satisfacen, aseguran que el resultado se conozca con, al menos, 1a tolerancia especificada por €, ‘Conforme un nuevo valor de x se calcula con el método de Gauss-Seidel, éste se usa inmediatamente en Ia siguiente ecuacién para determinar el otto valor de x. De esta forma, sila solucién es convergente, se emplears la mejor aproximacin disponible. Un método alternativo, llamada iteracidn de Jacobi, emplea una téctica ago diferente, Més que usar inmediatamente el dima valor disponible de x, esta técnica usa la ecuacién (11.5) para calcular un conjunto de nuevas x con base en un conjunto de x anteriores. De esta forma, conforme se generan nuevos valores, no se usan en forma inmediata sino que se retienen para la siguiente iteracién, La diferencia entze el método de Gauss-Seidel y a iteracién de Jacobi se muestra en la figura 11.4. Aunque hay ciestos casos donde es til el método de Jacobi, la utlizacién de Gauss-Seidel da la mejor aproximacién y usualmente lo hace el método preferid. 11.2.1 Criterio de convergencia para el métode de Gauss-Sei Observe que el método de Gauss-Seidel es similar en esencia a la téonica de iteracién de punto fijo que se usé en la seocidn 6.1 para obtener las raices de una sola ecuacién. Re- ccuetde que la iteracién de punto fijo presenta dos problemas fundamentales: 1. en algunas ‘ocasiones no es convergente, y 2. cuando converge, con frecuencia lo hace en forma muy lenta. EI método de Gauss-Seidel puede también presentar estas desventaas, 11.2 GAUSS-SEIDEL 313 Primera iteracisn X= {6)~ a1 ~ a1) /ay | fR)= lo, ~a42%9~ on) /ay = ea~ 09% ~ O94) a | fal ea ~ oy m1 O20) /aa y= le anmi= al fon | by)= ler 0s mr an) fon Segunda Heracion x = lej-aee= adh /oy, | # = les=ei20= ond /ay 2% =~ aX om) fam |» =le9~ 09m = O28) fore 5 = = 8) m1~ orl Z0y | x5 = les~ 0) %1~ eral Zon o » FIGURA 11.4 llusracién gréfice de la dferencia entre bs méodos de o] Gouss-Seidel y 6) ierativa de Joco®i, pota resoler siremas de ecvacianes algebraicos linecles, El criterio de convergencia se puede dessrrollar al recordar de la seccién 6.5.1 que las condiciones suficientes para la convergencia de dos ecuaciones no lineales, u(x, 9) ¥ 6% 9), som au), J + Pfer 11.38 axl * fo anne y Pol ea am ay Este criteria se aplica tambien alas ectaciones lineales que se resuelven con el mé- todo de Gauss-Seidel, Por ejemplo, en el caso de dos ecuaciones simulténeas, e algorit- ‘mo de Gauss-Seidel [ecaacisn (11.5)] se expresa como Way), 18) va (188) Las derivadas parciales de estas ecuaciones se evalian con respecto a cada una de las inedgnitas ast a4 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL au gn ae Qa, aque se susttuyen en Ia ecuacién (11.7) para dar (194) fale 198) En otras palabras, el valor absoluto de las pendientes en la ecuacién (11.8) debe ser ‘menor que la unidad para asegurar la convergencia, lo cual se muestra gréficamente en la figuea 11.5. La ecuacién (11.9) también se reformula as: lant > law! Esto es, el elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada renglén. La generalizacién de lo anterior para n ecusciones es directa y se expresa como lal > fa anto FIGURA 11.5, Representacidn of de ka convergencia y Bde la divergencia del métode de GaussSeidel. Ovserve aque las mismas funciones son dioadas en omeos casos ui IIx + 13x) 286, ¥ 11x)- 9x = 991. Asi, orden en el cual se implemenran las ecvaciones [se representa por la dieccién de la primers flocha desde el otigen) determina si el célelo a » 11.2 GAUSS-SEIDEL 315 Bs decir, el coeficiente diagonal en cada una de las ecuaciones debe ser mayor que la suma del valor absoluto de los otras coeficientes de la ecuacién, Este criterio es suficien- te pero no necesario para la convergencia. Es decir, el método puede funcionar aunque no se satisfaga la ecuacién (11.10), la convergencia se garantiza cuando la condicién se salisface. A los sistemas que cumplen con la ecuacién (11.10) se les conoce como dia- gonalmente dominantes, Por fortuna, en la ingenierfa, muchos problemas de importan- cia préctica satisfacen este requerimicnto. 11.2.2 Mejoramiento de la convergencia usando relajacién La relajacién representa una ligera modificacién al método de Gauss-Seidel y ésta per- mite mejorar la convergencia. Después de que se calcula cada nuevo valor de x por ‘medio de la ecuacisn (115), ese valor se modifica mediante un promedtio ponderado de Jos resultados de las iteraciones anterior y actual: ae = dae = ae any donde 4 es un factor ponderado que tiene un valor entre Oy 2 SiA= 1, (1-2) es igual a0 y el resultado no se modifica, Sin embargo, sia A se le asigna un valor entre 0 y 1, el resultado es un promedio ponderado de los resultados actuales y anteriores. Este tipo de modificacién se conace como subrelajacién. Se emplea comiinmente para hacer que un sistema no convergente, converja o apresure la conver- gencia al amortiguar sus oscilaciones, ara valores A de 1 22, se le da una ponderacién extra al valor actual, hay una suposicién implicita de que el nuevo valor se mueve en Ia direccién correcta hhacia la solucién verdadera, pero con una velocidad demasiado lenta, Por lo tanto, se pretende que la ponderacién adicional de A mejore la aproximacién al levarla més cer- cea de la verdadera. De aqui que este tipo de modificacién, al cual se le llama sobrerre- Iajacién, permite acelerar la convergencia de un sistema que ya es convergente. El _método también se conoce como sobrerrelajacién simulténea 0 sucesiva, 0 SOR. La eleccién de un valor adecuado de 4 es especificado por el problema y se deter- ‘mina en forma emapirica, Para la soluci6n de un solo sistema de ecuaciones, con frecuen- cia es innecesaria. No obstante, si el sistema bajo estudio se va a resolver de manera repetida, Ia eficiencia que se introduce por una prudente eleccién de Z puede ser impor- ante en extremo, Buenos ejemplos de Io anterior son los sistemas muy grandes de cecuaciones diferenciales parciales, que frecuentemente se presentan cuando se modelan variaciones continuas de variables (recuerde el sistema distribuido que se mostr6 en Ia figura PT3.1b), Se retomars el tema en la parte ocho. ineste caso, 11.2.3 Algoritmo para el métedo de Gauss-Seidel En la figura 11.6 se muestza un algoritmo para el método de Gauss-Seidel con relajacisn, Observe que este algoritmo no garantiza la convergencia si las ecuaciones no se intzo- dducen en una forma diagonalmente dominance. El seudocddigo tiene dos caracteristicas que vale la pena mencionar. La primera es aque existe un conjunto inicial de ciclos anidados para dividir cada ecuacién por su ele- ‘mento diagonal. Esto reduce el nimero total de operaciones en el algoritmo. En la segun- dda, observe que la verificaciGn del error se designa por na variable Hamada centinela (GentineD. Si en cualquiera de las ecuaciones se tiene un error aproximado mayor que 36 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL SUBROUTINE Gs: Dorok 1 3 Cabin x, imax, es, lamtida) by = bf dummy eno 00 DoFOR i = 1, 0 sun = b borer j= 1. 0 TF ing THEN sum END 80 item1 poFoR cont inela=1 DoFOR i= In o}a = x, ‘sum = by DOFOR J = in IF aj THEN sum = sum = a, 4%, END 08 x) = lambda*sum +(1.-Jambda)*old IF centinela = 1 AND x, #0. THEW 2a ~ ABS((x, = 01d)/x,)*100. IF ea > 95 THEN centinela = 0 eno ve ND 90 iter = iter +2 IF continela = 1 OR (iter 2 imax) EX eno 09 END Gse1d FIGURA 11.6 Seudocddigo para el método de GavssSeidel 9 elojacien cl eriteria de paro (e,), entonces se permite continuar con las iteraciones. El uso de Ia variable centinela ayuda @ evitar célculos innecesarios de estimacién de error una vez gue las ecuaciones excedan el criterio, 11.24 Contextos del problema en el método de Gauss-Seidel Ademés de evita el problema de redondeo, Ia téenica de Gauss-Seidel tiene muchas otras ventajas que la hacen particularmente atractiva en el contexto de ciertos problemas de ingenierfa, Por ejemplo, cuando la matriz. en cuestién es muy grande y esparcida (es decir, cuando la mayoria de los clementos son cero), los métodas de eliminacién desper- dician grandes cantidades de memoria de cémputo al guardar ceros. 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBUOTECAS Y PAQUETES 317, EJEMPLO 11.4 Alinicio de est capitulo se vio cémo esta desventaja se puede evitar si a matiz de coeficentes es bandcada. Para sistemas que no tienen Ia forma de banda, generalmente no existe una forma simple para evitar los grandes requerimientos de memoria cuando se utiizan los métodos de eliminacién. Como todas las computadoras tienen una canti- dad de memoria finita, esta ineficiencia llega a poner una limitacién al tamaio de los sistemas, para los cuales los métodos de eliminacin resultan practic. ‘Aungue un algeritme general como el de a figura 11.6 es propenso a la misma restriceién, la estructura de las ecuaciones de Gauss-Seidel [ecuaci6n (11.5)] permite aque se desarrollen programas concisos para sistemas especifices. Como sélo se necesi- (inclu coefiientes que no sean cero en la ecuaciéa (11.5) es posible lograr grandes ahorros en la memoria de la computadora. Aunque esto implica més inversién en el desarrollo de software, las ventajas a largo plazo som sustanciales cuando se tiene gran- des sistemas, en los cuales se ejecutan muchas simulaciones. Tanto sistemas de variables localizadas como distribuidas pueden dar como resultado matrices grandes y muy e3- parcidas donde el método de Gauss-Seidel tiene wtlidad. ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE Las bibliotecas y paquetes de software tienen grandes capacidades para resolver sistemas dde ecuaciones algebraicas lineales. Antes de deseribir dichas herramientas, se debe ‘mencionar que los procedimientos descritos en el capitulo 7 para resolver sistemas de ecuaciones no lineales pueden aplicarse a sistemas lineales, Sin embargo, enesta seccién enlocaremos nuestra atencién hacia procedimientos que estén expresamente disefados para ecuaciones lineales. 11.3.1 Excel Existen dos formas para resolver ecuaciones algebraicas lineales con Excel: 1. por medio de la herramienta Solver 6 2. usando la inversién de matrices y las funciones de mule ciplieacién, Recuerde que una forma para determinar la solucién de ecuaciones algebraicas lic neales es (X} = [AP {By aia Excel tiene funciones predeterminadas para inversi¢n y multiplicacién de matrices que surve para implementar esta férmaula, Uso de Excel para resolver sistemas lineales Planjeamiento del probleme. Recuerde que en el eapitelo 10 se presenté la matriz de Hilbert. El siguiente sistema se basa en esta matriz, Observe que est escalado, como se realiz6 antes en el ejemplo 1033, de tal forma que el coeficiente maximo en cada renglén es la unidad, 11/2 1/3) [x] [1.838333 1293 1/2) dx, b= 42.166667 13/4 ays} [x] [ 235 318. MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL A 8 ce ° E F 1 1 05 0,33399333 1,89333933390333 2 (A= 1 0.66666667 05 (B)= _2.1666666e666667 3 1 075 06 2,35000000000000 4 5 8 10 0.99999999999992 6 [A= 368 60 (X)= — 1,00000000000043 7 30 60 10.99999999999960 =MINVERSE(B1:D3) =MMULT(B5:D7,F1:F3) FIGURA 1 La solucién a este sistema es {X}"= [1 1 1]. Use Excel para obtener esta solucién. Soluci6n. La hoja de eélculo para resolver este problema se muestra en Ia figura 117. Primero, la matriz [A] y las constantes del lado derecho (B} se introducen en las celdas de lahoja de calculo, Después, se resalta un conjunto de celdas de dimensiones apropis~ das (en este ejemplo 3 x 3), ya sea presionando y arrastrando el rat6n o por medio de las teclas direccionales mientras se presiona la tecla shift, Como se muestra en Ia figura 117, se resalta el rango: BS.D7, ‘Ahora, se introduce una férmula que invoca a la funcién matriz inversa, sminverse (31.03) Observe que el argumento es el rango que contiene los elementos de [A]. Las teclas Cir y Shift se mantienen presionadas mientras se oprime la tecla Enter, La inversa resultan- ie de (Al se calculars con Excel para desplegarse en el rango BS.D7 como se muestra ena figura 117 ‘Un procedimiento similar se utiliza para multiplicar Ia inversa porel vector del lado derecho, En este caso, el rango de FS.F7 se resaltay se introduce la siguiente férmula somult (B5..07, F1..F3) donde el primer rango es la primera matriz que habré de multiplicarse, [AJ"S y el segun- do rango es la segunda matriz. a muliplicarse, (B). De nuevo, al usar la combinacién Cirl-Shift- Enter a solucién {X) se calculard por Excel y desplegada en el rango F5.F1, como se muestra en la figura 11.7. Como puede verse, se obtiene la respuesta correcta. ‘Observe que en forma deliberada se zeformatearon los resultados en el ejemplo 11.4 para mostzar 15 digitos. Esto se hizo debido a que Excel usa doble precisién pata guar dar valores numéricos. De esta forma, se observa que el error de redondeo ocurte en los Uitimos dos digitos. Esto implica un nimero de condicién del orden de 100, el cual ‘concuerda con el resultado de 451.2 que originalmente se calculé en el ejemplo 10.3 Excel no tiene la capacidad para calcular un némero de condicin. Bn la mayorfa de los 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBUOTECAS Y PAQUETES 319° TABLA 11.1 Funciones de MATLAB para el andliss matrcal y el élgebra lineal numérica, Analisis matricial Eeuaciones lineales Foreign Descripcién Funcién Descripcién cord Nirnero de candies de una rane \ord/__Sehieién de ie eevaeib= Ine, ve “hob soak nam Name veeloral 9 metreiel eval Facarzaeién de Cholesky feond —_Esrmador de condi recfpace INPACK L Focotes gota la elmnaciin de Gouss rank Nimaro de renglonas 0 columns ine Mie nvr Inealmenie denen eres det Datarminons or Descompesicén erogenstriangul race Suma de es elementos en In iegonal dele Syprime una eokmae oe le fecorancién 8 ul Espacio no inset sete uno calor be faconzaciin GR forh ——-Craganelzacian oo Minimes euosrades no negates el Forme excalonaca vedvede por renglones pnw Preuoimese bree Minar cuoskoder an la pratanco se coveranze concede sos, debido a que Excel emplea niimeros con doble precisién, esto no representa un problema. Sin embargo, en casos donde se sospeche que el sistema esté mal condicio- nado, la determinacién del nimero de condicién es vil. MATLAB e IMSL tienen la ccapacidad de caleular esta cantidad, 11.3.2 MATLAB Como su nombre lo indica, MATLAB (contraccién de MATrix LABoratory) se disci pars facilitar el manejo de matrices. Asi, como es de esperarse, sus capacidades en esta rea son excelentes. Algunas funciones de MATLAB relacionadas con Ias operaciones dde matrices se presentan en una lista en la tabla 11.1, El ejemplo siguiente ilustra algu- nas de dichas capacidades, EJEMPLO 11.5 Uso de MATLAB para manipular ecuaciones algebraicas lineales Planteamiento del problema, Explore eémo MATLAB se puede emplear para reso very analizar ecuacionesalgebraicaslineales, Use el mismo sistema que en el ejemplo ua. Solucién. Primero, introducimos la matrz [A] y el vector (B), b> A= [11/2 1/3 7 1 2/3 2/4; 1 3/4 3/51 A= 2.0000 0.5000 0.3333 110000 0.6667 0.5000 1.0000 0.7500 0.000 b> Be [101 /201/3;142/342/4 5143 /403/5] 320 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL 2.8333 2.1667 2.3500, Después, se determina el mimero de condicién para [4] >> Condia) 366.2503 Este resultado se basa en la norma espectral,o All. que se analizé en el cuadro 10.2. Observe que es del mismo orden de magnitud que el nimero de condicién = 451.2, ba- sado en la norma renglén-suma del ejemplo 10.3. Ambos resultados implican que se podrian perder entre 2 y 3 digitos de precisién, ‘Ahora se puede resolver el sistema de ecuaciones en dos formas diferentes. La forma més directa y eficiente consiste en emplear el simbolo \, 0 “divisién izquierda” >> X-A\E xe 2.0000 1.0000 1.0000 (Como en los casos anteriores, MATLAB usallacliminacién de Gauss para resolver dichos sistemas, ‘Como una alternativa, se puede resolver Ia ecuacién (PT3.6) en forma directa, como >> Xeinv(a) *B xe 1.0000 2.0000 2.0000 Este procedimiento determina primero la matriz inversa y después ejecuta la multipli- cacién matricial Por lo tanto, toma mas tiempo que la operacién de divisiOn izquierda 11.3.3 IMSL IMSL tiene numerosas rutinas para sistemas lineales,inversién de matrices y evaluacién dde un doterminante. En la tabla 11.2 se enlistan las categorias que cube. ‘Como se enlsta en la tabla 11.3, se dedican ocho rutinas al caso espeeifico de matrices generales reales. El presente an‘lisis se concentraré en dos rutinas: LFCRG y LFIRG, La LFCRG lleva a cabo una descomposicién LU de la matriz [A] y ealeula su ni mero de condicién. LECRG se implementa con la siguiente instruccién CALL: CALL LRCRGIN, A, LDA, FAC, LDPAC, TPVT, RCOND) 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBUOTECAS Y PAQUETES 321 donde N= Orden de la matriz. (Entrada) A=NXN matriz a descomponerse, (Entrada) LDA =Dimensién principal de A como se especifica en la declaracién de dimensin del programa de llamado, (Entrada) FAC = Matriz. N x\N que contiene la descomposicién LU de A. (Salida) LDFAC = Dimensién principal de FAC como se especifica en la declaracién de NRG Irene 322 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL EJEMPLO 11.6 IPVT-= Vector de longitud N que contiene la informacién de pivoteo para la descom- posicién LU. (Salida) RCOND = Escalar que contiene el reciproco del niimero de condicién de A. (Salida) LaLFIRG uliliza la descomposicién LU y un vector particular del lado derecho para generar una solucién de gran exacttud por medio de un refinamiento iterative, LFIRG se implementa con la siguiente instruccién CALL; CALL LPIRG(N, A, LDA, FAC, LDPAC, IPVT, B, IPATH, X, RES) donde N= Orden de la matriz, (Entrada) A atria N x N a descomponer. (Entrada) LDA = Dimensi6n principal de A como se especifica en Ja declaracién dimensién del programa de llamado, (Entrada) atsiz N x N que contiene la descomposicién LU de A. (Entrada) LDFAC = Dimensién principal de FAC como se especifica en la declaracién de 3X6 11.20 En la soocién 92.1, se determiné el nimero de operacio= res que se requiere para la eliminacién de Gauss sin pivoteo parcial, Efectde una determinacin similar para el algoritme de “Thomas (véase la figura 11.2). Desarolle une grea de operae ciones versus n (de 2 a 20) para ambas téenicas 11.21 Desarolle ua programa amigable para el usuario en cual ‘quier lenguaje de alco nivel a de macros, de su elecci6a, para ‘obtener una selucién paraun sistema tridiagonal canel lgoriima de Thomas (igura 11.2). Pruche su programa por medio de r= pelt los resultados del ejemplo 1.1. 41.22 Desarrlle un programa amigable para el usuatio en cuat~ auier Lenguaje de alto nivel o de macros, que elia, para hacer la ddescomposicién de Cholesky con base en la figura 11.3. Pruebe su programa por medio de repetr los resultados del ejemplo m2 11.25 Desarrolle un programa amigable para el usuario en cual aquier lenguaje de alto nivel 0 de macros, que escoja, a fin de ejecutar el método de Gauss-Seidel eon base en a figura 11.6 Prughelo con Ia repetcidn de Ios results del ejemplo 11.3,

You might also like