Sei sulla pagina 1di 4

La factorizacin 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

de L. Haciendo i=j=k en la ecuacin (54) obtenemos

(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).

Figure: Implementacin del algoritmo de la factorizacin LU.

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:

La factorizacin de Doolittle es, a partir del algoritmo:

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

por lo que la factorizacin de Crout resulta ser:

Potrebbero piacerti anche