La Factorización LU
La Factorización LU
La Factorización LU
Supongamos que A se puede factorizar como el producto de una matriz triangular inferior L con una matriz triangular superior U:
A = LU
(51)
En este caso, el sistema de ecuaciones dado por (44) podra representarse en la forma: LUx=b (52)
Si denominamos z a la matriz columna de n filas resultado del producto de las matrices Ux, tenemos que la ecuacin (52) se puede reescribir del siguiente modo: Lz=b (53)
A partir de las ecuaciones (52) y (53), es posible plantear un algoritmo para resolver el sistema de ecuaciones empleando dos etapas:
Primero obtenemos z aplicando el algoritmo de sustitucin progresiva en la ecuacin (53). Posteriormente obtenemos los valores de x aplicando el algoritmo de sustitucin regresiva a la ecuacin Ux = z
El anlisis anterior nos muestra lo fcil que es resolver estos dos sistemas de ecuaciones triangulares y lo til que resultara disponer de un mtodo que nos permitiera llevar a cabo la factorizacin A=LU. Si disponemos de una matriz A de encontrar aquellas matrices: , estamos interesados en
tales que cumplan la ecuacin (51). Cuando esto es posible, decimos que A tiene una descomposicin LU. Se puede ver que las ecuacin anterior no determina de forma nica a Ly a U. De hecho, para cada i podemos asignar un valor distinto de cero a lii o uii (aunque no ambos). Por ejemplo, una eleccin simple es fijar lii=1 para haciendo de esto modo que L sea una matriz triangular inferior unitaria. Otra eleccin es hacer U una matriz triangular superior unitaria (tomando uii=1 para cada i). Para deducir un algoritmo que nos permita la factorizacin LU de Apartiremos de la frmula para la multiplicacin de matrices:
(54)
en donde nos hemos valido del hecho de que lis=0 para s >i y usj=0 para s>j. En este proceso, cada paso determina una nueva fila de U y una nueva columna de L. En el paso k, podemos suponer que ya se calcularon las filas las columnas de U, al igual que
(55)
Si especificamos un valor para lkk (o para ukk), a partir de la ecuacin (55) es posible determinar un valor para el otro trmino. Conocidas ukk y lkk y a partir de la ecuacin (54) podemos escribir las expresiones para la k-sima fila (i=k) y para la k-sima columna (j=k), respectivamente:
(56)
(57)
Es decir, las ecuaciones (57) se pueden emplear para encontrar los elementos ukj y lik. El algoritmo basado en el anlisis anterior se denomina factorizacin de Doolittle cuando se toman los trminos lii = 1 para (L triangular inferior unitaria) y factorizacin de Crout cuando se toman los trminos uii=1 (U triangular superior unitaria). Una implementacin en pseudocdigo del algoritmo para llevar a cabo la factorizacin LU se muestra en la figura (11).
Es interesante notar que los bucles que permiten el cmputo de la k-sima fila de U y de la k-sima columna de L se pueden llevar a cabo en paralelo, es decir, pueden evaluarse simultneamente sobre dos procesadores, lo que redunda en un importante ahorro del tiempo de clculo. Ejemplo: Encuentre las factorizaciones de Doolittle y Crout de la matriz:
En vez de calcular la factorizacin de Crout directamente, la podemos obtener a partir de la factorizacin de Doolittle que acabamos de ver. Efectivamente, si tenemos en cuenta que la matriz A es simtrica, es posible comprobar que se cumple la relacin: A = LU = UTLT