descomposición lu

42
Métodos Numéricos. Descomposición LU. DESCOMPOSICION LU. Análisis del Método. Como se sabe el método de Gauss resuelve sistemas de ecuaciones algebraicas lineales de la forma [A]*{X} = {B}. En el álgebra lineal, la factorización o descomposición LU es una forma de factorización de una matriz como el producto de una matriz triangular inferior y una superior. La descomposición se usa en el análisis numérico para resolver sistemas de ecuaciones (más eficientemente) o encontrar las matrices inversas, si la matriz [A] es una matriz no singular (si lo fuera, entonces la descomposición podría no ser única). Este método es más eficaz que la eliminación de Gauss porque se puede resolver las ecuaciones con los mismos coeficientes de [A] pero para distintos términos independientes {B}. Existen algunas breves restricciones para este método una de ellas es que la forma matricial del sistema de ecuaciones lineales debe ser la misma que la de una Matriz Cuadrada. Al aplicar el método de la eliminación de Gauss resulta ineficiente cuando deben resolverse ecuaciones con los mismos coeficientes de la matriz [A] pero con diferentes constantes del lado derecho del vector {B}. Los métodos de descomposición LU separan el tiempo usando en las eliminaciones para la matriz [A] de las manipulaciones del lado derecho del vector {B}. Una vez que la matriz [A] se ha descompuesto los múltiples vectores del lado derecho del vector {B} se puede evaluar de manera eficiente. Los métodos de descomposición LU toma como separado la matriz [A] de los vectores {B} y las incógnitas haciendo más fácil encontrar las diferentes soluciones para los diferentes vectores {B}, un hecho muy interesante es que la eliminación de Gauss se puede expresar como una descomposición LU. Para resolver este método tenemos que tener en cuenta que la matriz sea cuadrada. Este método es muy adecuado para aquellas situaciones donde se deben evaluar muchos vectores {B} del lado derecho para una sola matriz [A]. Byron Patricio Rodríguez Merchán.

Upload: benedicto-maximo-requez-sanchez

Post on 29-Sep-2015

245 views

Category:

Documents


0 download

DESCRIPTION

trabajo

TRANSCRIPT

Mtodos Numricos.

Mtodos Numricos.Descomposicin LU.DESCOMPOSICION LU.Anlisis del Mtodo.Como se sabe el mtodo de Gauss resuelve sistemas de ecuaciones algebraicas lineales de la forma [A]*{X} = {B}. En el lgebra lineal, la factorizacin o descomposicin LU es una forma de factorizacin de una matriz como el producto de una matriz triangular inferior y una superior.La descomposicin se usa en el anlisis numrico para resolver sistemas de ecuaciones (ms eficientemente) o encontrar las matrices inversas, si la matriz [A] es una matriz no singular (si lo fuera, entonces la descomposicin podra no ser nica).Este mtodo es ms eficaz que la eliminacin de Gauss porque se puede resolver las ecuaciones con los mismos coeficientes de [A] pero para distintos trminos independientes {B}.Existen algunas breves restricciones para este mtodo una de ellas es que la forma matricial del sistema de ecuaciones lineales debe ser la misma que la de una Matriz Cuadrada.Al aplicar el mtodo de la eliminacin de Gauss resulta ineficiente cuando deben resolverse ecuaciones con los mismos coeficientes de la matriz [A] pero con diferentes constantes del lado derecho del vector {B}.Los mtodos de descomposicin LU separan el tiempo usando en las eliminaciones para la matriz [A] de las manipulaciones del lado derecho del vector {B}. Una vez que la matriz [A] se ha descompuesto los mltiples vectores del lado derecho del vector {B} se puede evaluar de manera eficiente. Los mtodos de descomposicin LU toma como separado la matriz [A] de los vectores {B} y las incgnitas haciendo ms fcil encontrar las diferentes soluciones para los diferentes vectores {B}, un hecho muy interesante es que la eliminacin de Gauss se puede expresar como una descomposicin LU.Para resolver este mtodo tenemos que tener en cuenta que la matriz sea cuadrada. Este mtodo es muy adecuado para aquellas situaciones donde se deben evaluar muchos vectores {B} del lado derecho para una sola matriz [A].Matriz InversaLas matrices L y U pueden ser usadas para calcular la matriz inversa mediante:A 1 = U 1L 1Algunas implementaciones que invierten matrices usan este mtodo.Determinante de una matriz Las matrices L y U pueden ser usadas para calcular el determinante de la matriz A muy eficientemente porque det(A) = det(L)det(U) y los determinantes de matrices triangulares son simplemente el producto de los elementos de sus diagonales. En particular, si L es una matriz triangular en cuya diagonal todos los elementos son uno, entonces:

Para aplicar la descomposicin LU nos basamos en un sistema de ecuaciones lineales (S.E.L).

Expresando el sistema de ecuaciones lineales en forma matricial se tiene:

(1)

Contiene los coeficientes del sistema de ecuaciones lineales (S.E.L).

Contiene las incgnitas del sistema de ecuaciones lineales (S.E.L).

Contiene los trminos independientes del sistema de ecuaciones lineales (S.E.L).La obtencin de las ecuaciones es como el planteado en el libro estudiado Mtodos Numricos para Ingenieros de (Steven C. Chapra y Raymond P. Canale).Al reordenar la ecuacin tenemos:

(2)Suponiendo que la ecuacin se puede expresar como un sistema triangular superior se tiene:

(3)Ahora suponga que existe una matriz diagonal inferior con nmeros 1 en la diagonal

(4)

Si esta ecuacin se satisface, segn la regla entre multiplicacin de matrices tenemos:

(5)Y

(6)Para la descomposicin LU la matriz [A] se factoriza o descompone en la matriz triangulares inferiores [L] y la matriz triangular superior [U].Paso de la sustitucin [L] y [U] se usan para determinar una solucin {X} para un lado derecho {B}. Este paso se divide a su vez en dos, primero tenemos que resolver la ecuacin (6) la cual se usa para generar un valor intermedio {Z} mediante sustitucin hacia adelante, despus sustituimos el vector encontrado {Z} en la ecuacin (3) y se resuelve por sustitucin hacia atrs con lo cual obtenemos el vector solucin {X}. Otro mtodo de obtencin de las ecuaciones es como el planteado en clases partiendo de la misma ecuacin (1) tenemos.

(1)De donde expresamos que:

(2)Donde:

Matriz triangular inferior con la condicin que l (i, i)=1.

Matriz triangular superior.Reemplazando la ecuacin (2) en la ecuacin (1) tenemos:

(3)

Multiplicando a ambos miembros de la ecuacin (3) por la inversa de la matriz [L] tenemos:

(4)De donde obtenemos las siguientes ecuaciones:

(5)

(6) De donde primero se resuelve la ecuacin (6) la cual se usa para generar un valor intermedio {Z} mediante sustitucin hacia adelante, despus sustituimos el vector encontrado {Z} en la ecuacin (5) y se resuelve por sustitucin hacia atrs con lo cual obtenemos el vector solucin {X}.El ultimo mtodo es el mas empleado por su facilidad de entender las formulas que se encuentran.Descomposicin de Doolittle.Este mtodo se basa en colocar o aceptar que la matriz [L] que tiene la siguiente condicin l (i,i)=1, desde i=1 hasta n a este mtodo tambin se lo llama descomposicin LU con la eliminacin de Gauss. El mtodo de Doolittle genera [L] y [U] barriendo las columnas y filas de la matriz. Para la descomposicin LU se factoriza la matriz [A] en una matriz triangular inferior [L] y una matriz triangular superior [U] para lo cual utilizamos el mtodo de descomposicin de Doolittle.

Matriz triangular inferior con la condicin que l (i,i)=1.

Matriz triangular superior.

De donde utilizamos el siguiente sistema de ecuaciones lineales (S.E.L) como ejemplo con lo cual se resuelve y luego se puede generalizar el mtodo:

De donde aplicamos la siguiente condicin:

Representando en forma numrica.

Realizando las respectivas operaciones se tiene.

De donde se obtiene la siguiente expresin.

Generalizacin de formulas.

Luego de observar el ejemplo podemos generalizar las siguientes formulas sin tomar en cuenta las variables i y j porque cuando implementamos en matlab esta las identifica como imaginarios, por ejemplo la raz de -1.

1. Siempre que U (1,1)=A (1,1) y cumpla que sea diferente de cero.1. Tambin debe cumplir la condicin que:Para c=1, 2, 3,4,., n

Determinando los elementos de la primera fila de la matriz [U] y la primera columna de la matriz [L].Para c=2,3, 4,., n U (1, c) =A (1, c)

Para determinar los elementos de la diagonal de la matriz [U] los cuales deben ser diferentes de cero.Para c=2, 3,4,.., n

Para los elementos restantes tanto de la matriz [L] como de la matriz [U]. Para c=2, 3, 4 n Para f=c+1,c+2,c+3,., n

Algoritmo de la descomposicin LU.Datos de entrada.

Coeficientes del sistema de ecuaciones lineales (S.E.L).Datos de salida.

Coeficientes de la matriz triangular inferior.

Coeficientes de la matriz triangular superior.Pasos.1.- Determinamos que dimensiones tiene la matriz A(n, m) la matriz [A] debe ser cuadrada.2.- Si el n~=m.3.- Comentario no existe solucin la matriz no es cuadrada.4.- Parar. 5.- U (1,1)=A (1,1). 6.- Si U (1,1) ==0. Realizar pasos 6 al 8. 7.- Salida No se puede factorizar la matriz, no existe divisin para cero.8.- Parar.9.- Para c=2, 3, 4,5,., n Realizar pasos 9 al 12.10.- U (1, c)=A (1, c).11.- L(c, 1)=(A (c, 1)/U (1, 1)).12.- Para.13.- Para c=2, 3, 4, 5,.., n Realizar pasos 13 a 32.14.- Determinamos los elementos de la diagonal de la matriz U. S=0.15.- Para d=1, 2,3,, (c-1) Realizar pasos 15 a 17.16.- S=S+L(c,d)*U(d,c).17.- Parar.18.- U (c,c) =A (c, c)-S.19.- Si U (c,c)==0 Realizar pasos 19 a 21. 20.- Salida No se puede factorizar no hay divisin para cero. 21.- Parar.22.- Determinamos los dems elementos de las matrices L y U. Para f=(c+1), (c+2), (c+3),., n Realizar pasos 22 a 31.23. - S1=0.24.- S2=0.25.- Para g=1, 2,3,, (c-1) Realizar pasos 25 al 28. 26.- S1=S1+(L(c,g)*U(g,f)).27.- S2=S2+(L(f,g)*U (g,c)).28.- Parar.29.- U (c,f)=A(c,f)-S1.30.- L (f,c)=((A(f,c)-S2)/(U(c,c))).31.- Parar. 32.- Parar. 33.-Parar programa.

Implementacin en Matlab para la descomposicin LU.

% ------------------------------------------------------------------------ % Universidad de Cuenca.% Facultad de Ingeniera Escuela Civil.% Nombre: Byron Patricio Rodrguez Merchn.% % Factorizacin LU.%% Este mtodo sirve para solucionar varios conjuntos de sistemas de% ecuaciones lineales con la misma matriz de coeficientes [A], pero para % distintos trminos derechos {B} no homogneos (distintos de cero).%% Expresando en forma matricial el sistema de ecuaciones lineales (S.E.L)% Se tiene:% [A]*{x}={B}% % Datos de entrada:% [A]=Coeficientes del sistema de ecuaciones lineales.% Datos de salida:% [L]=Matriz triangular inferior con la diagonal de 1.% [U]=Matriz triangular superior.% ------------------------------------------------------------------------

function [L,U]=LU(A)

disp('----------------------------------------------------------------') disp(' Factorizacin LU ') disp(' Universidad de Cuenca ') disp('Realizado por: Byron Patricio Rodrguez Merchn') disp('-----------------------------------------------------------------') % Determinamos si la matriz [A] es cuadrada o no % Donde: % n=Nmero de filas % m=Nmero de columna [n,m]=size(A); if n~=m fprintf('No esiste solucin la matriz no es cuadrada') return end % Creamos una matriz de ceros a exepcin de los elementos de la diagona % que en este caso son unos. L=eye(n); % Creamos una matriz de ceros. U=zeros(n);

U(1,1)=A(1,1); if U(1,1)==0 fprintf('No existe solucin porque no existe divisin para cero1') return end % Calculamos los elementos de la primera fila de [U],y columna [L] for c=2:n U(1,c)=A(1,c); L(c,1)=((A(c,1))/(U(1,1))); end for c=2:n %Determinamos los elementos de la diagonal de la matrz [U] S=0; for d=1:(c-1) S=S+L(c,d)*U(d,c); end U(c,c)=A(c,c)-S; if U(c,c)==0 fprintf('No existe solucin porque no existe divisin para cero2') return end %Determinamos los elementos restantes de la matriz [U],[L] for f=(c+1):n S1=0; S2=0; for g=1:(c-1) S1=S1+(L(c,g)*U(g,f)); S2=S2+(L(f,g)*U(g,c)); end U(c,f)=A(c,f)-S1; L(f,c)=((A(f,c)-S2)/(U(c,c))); end endend

Funcionamiento en Matlab para la descomposicin LU.

>> A

A =

2 3 -1 1 2 1 -2 3 3 -2 3 2 3 -2 2 -2 2 -3 2 -3 1 2 -3 2 2

>> [L,U]=LU(A)----------------------------------------------------------------- Factorizacin LU Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn-----------------------------------------------------------------

L =

1.0000 0 0 0 0 0.5000 1.0000 0 0 0 1.5000 0.7143 1.0000 0 0 -1.0000 -1.4286 0.5000 1.0000 0 0.5000 -0.1429 -1.0000 -0.3721 1.0000

U =

2.0000 3.0000 -1.0000 1.0000 2.0000 0 -3.5000 3.5000 2.5000 -3.0000 0 0 2.0000 -5.2857 1.1429 0 0 0 9.2143 -5.8571 0 0 0 0 -0.4651

Sustitucin hacia adelante para determinar el vector {Z}.En este paso se obtendr el vector {Z} por la ecuacin dada.

Generalizacin de las formulas.Por lo tanto generalizamos para un sistema de ecuaciones lineales de n ecuaciones con n incgnitas del ejemplo realizado tenemos las siguientes formula generalizadas. Determinamos el primer elemento del vector {Z}.Z (1)=B (1) Determinamos los dems elementos del vector {Z}.

Para .

Algoritmo anlisis por sustitucin hacia adelante para determinar la matriz {Z}.Datos de entrada.

Coeficientes de la matriz triangular inferior.

Trminos independientes del sistema de ecuaciones lineales (S.E.L).Datos de salida.

Vector que proporcionara la solucin del sistema.Pasos.1.- Determinamos en forma numrica las dimensiones del vector columna {B}.2.- Z (1)=B (1).3.- Para h=2, 3,4,, n Realizar pasos 3 a 5. 4.- Z(h)=B(h)-sum(L(h,1:h-1).*Z(1:h-1)).5.- Parar. 6.- Parar funcin.Implementacin en Matlab para la sustitucin hacia adelante para determinar el vector {Z}.

% ------------------------------------------------------------------------ % Universidad de Cuenca.% Facultad de Ingeniera Escuela Civil.% Nombre: Byron Patricio Rodrguez Merchn.%% Sustitucin hacia adelante. %% De donde obtenemos el vector {Z} el cual nos ayudara a resolver el% sistema de ecuaciones lineales (S.E.L).% % Datos de entrada:% [L]=Matriz triangular inferior.% {B}=Vector columna los diferentes valores derechos del% sistema de ecuaciones lineales.% Datos de salida:% {Z}=Vector columna que ayudara a resolver el sistema de% ecuaciones lineales (S.E.L).% -----------------------------------------------------------------------

function [Z]=susade(L,B)

disp('----------------------------------------------------------------') disp(' Sustitucin hacia adelante ') disp(' Universidad de Cuenca ') disp('Realizado por: Byron Patricio Rodrguez Merchn') disp('----------------------------------------------------------------') % Determinamos el numero de filas del vectror columna {B} n=length(B); % Determinados el primer elemento del vector {Z} Z(1)=B(1); % Determinamos los elementos restantes del vector {Z} for h=2:n Z(h)=B(h)-sum(L(h,1:h-1).*Z(1:h-1)); end end

Funcionamiento en Matlab para la sustitucin hacia adelante para determinar el vector {Z}.

>> A

A =

2 3 -1 1 2 1 -2 3 3 -2 3 2 3 -2 2 -2 2 -3 2 -3 1 2 -3 2 2

>> [L,U]=LU(A)----------------------------------------------------------------- Factorizacin LU Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn-----------------------------------------------------------------

L =

1.0000 0 0 0 0 0.5000 1.0000 0 0 0 1.5000 0.7143 1.0000 0 0 -1.0000 -1.4286 0.5000 1.0000 0 0.5000 -0.1429 -1.0000 -0.3721 1.0000U =

2.0000 3.0000 -1.0000 1.0000 2.0000 0 -3.5000 3.5000 2.5000 -3.0000 0 0 2.0000 -5.2857 1.1429 0 0 0 9.2143 -5.8571 0 0 0 0 -0.4651

>> B

B =

3 1 -2 4 -2

>> [Z]=susade(L,B)----------------------------------------------- Sustitucin hacia adelante Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn-----------------------------------------------

Z =

3.0000 -0.5000 -6.1429 9.3571 -6.2326

Anlisis por sustitucin hacia atrs para determinar la solucin del sistema de ecuaciones lineales (S.E.L) {X}.

Generalizacin de formulas.Por lo tanto al generalizar la formula tenemos: Determinando el ltimo elemento de la solucin.X(n)=Z(n)/U(n,n). Determinamos los dems elementos de la solucin. Para o=(n-1),(n-2),(n-3),.,1.

Algoritmo anlisis por sustitucin hacia atrs para determinar la solucin del sistema de ecuaciones {X}.Datos de entrada.

Coeficientes de la matriz triangular superior.

Vector que proporcionara la solucin del sistema anterior. Datos de salida.

Solucin del sistema de ecuaciones lineales.Pasos.1.- Determinamos en forma numrica las dimensiones de la matriz {Z}.2.- X(n)= (Z(n)/U(n, n)).3.- Para o=(n-1), (n-2), (n-3),,1 Realizar pasos 3 a 5. 4.- X(o)=(Z(o)-sum(U(o,o+1:n).*X(o+1:n)))/U(o,o). 5.- Parar. 6.- Parar funcin.

Implementacin en Matlab del anlisis por sustitucin hacia atrs para determinar la solucin del sistema de ecuaciones {X}.

% ------------------------------------------------------------------------ % Universidad de Cuenca.% Facultad de Ingenieria Escuela Civil.% Nombre: Byron Patricio Rodrguez Merchn.%% Sustitucin hacia atras. %% De donde obtenemos el vector solucin {X} del sistema de ecuaciones% lineales.% Datos de entrada:% [U]=Matriz triangular superior.% {Z}=Vector que ayuda a resolver el (S.E.L).% Datos de salida:% {X}=Vector solucin del sistema de ecuaciones lineales. %% -----------------------------------------------------------------------

function [X]=sustatr(U,Z)

disp('----------------------------------------------------------------') disp(' Sustitucin hacia atras ') disp(' Universidad de Cuenca ') disp('Realizado por: Byron Patricio Rodrguez Merchn') disp('-----------------------------------------------------------------') % Determinamos el numero de columnas del vector {Z} n=length(Z); % Determinamos el ultimo elemento del vector solucin del sistema de % ecuaciones lineales (S.E.L). X(n)=(Z(n)/U(n,n)); % Determinamos los demas elementos del vector solucin del sistema de % ecuaciones lineales (S.E.L). for o=(n-1):-1:1 X(o)=(Z(o)-sum(U(o,o+1:n).*X(o+1:n)))/U(o,o); endend

Prueba de funcionamiento para el anlisis por sustitucin hacia atrs para determinar la solucin del sistema de ecuaciones {X}.

>> A

A =

2 3 -1 1 2 1 -2 3 3 -2 3 2 3 -2 2 -2 2 -3 2 -3 1 2 -3 2 2

>> [L,U]=LU(A)----------------------------------------------------------------- Factorizacin LU Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn-----------------------------------------------------------------

L =

1.0000 0 0 0 0 0.5000 1.0000 0 0 0 1.5000 0.7143 1.0000 0 0 -1.0000 -1.4286 0.5000 1.0000 0 0.5000 -0.1429 -1.0000 -0.3721 1.0000

U =

2.0000 3.0000 -1.0000 1.0000 2.0000 0 -3.5000 3.5000 2.5000 -3.0000 0 0 2.0000 -5.2857 1.1429 0 0 0 9.2143 -5.8571 0 0 0 0 -0.4651

>> B

B = 3 1 -2 4 -2

>> [Z]=susade(L,B)----------------------------------------------------------------- Sustitucin hacia adelante Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn-----------------------------------------------------------------

Z =

3.0000 -0.5000 -6.1429 9.3571 -6.2326

>> [X]=sustatr(U,Z)------------------------------------------------------------------ Sustitucin hacia atras Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn------------------------------------------------------------------

X =

-24.3333 9.9333 14.4667 9.5333 13.4000

Programa PrincipalEl programa principal consiste en implementar las dems funciones que se realizaron en un solo programa con el fin de que si se tuviera un error se puede modificar ya en una funcin especfica y no se necesita modificar todas las caractersticas del programa principal.Algoritmo del programa principal.

Este programa esta diseado de tal forma que se tenga que ingresar La matriz [A] los coeficientes del sistema de ecuaciones lineales y el vector {B} que son los trminos independientes del sistema de ecuacin lineal. 1. Una vez ingresado la matriz [A] obtenemos por descomposicin las matrices triangulares inferiores [L] con la combinacin que e (i , i) =1 y la matriz triangular superior. [A] = [L] * [U].2. Obtenemos por sustitucin hacia adelante en vector intermedio {Z} el cual nos ayudara a solucionar el sistema de ecuaciones lineales (S,E, L).[L] * [Z] = {B} 3. Obtenemos por sustitucin hacia atrs y un vector {X} que es la solucin del sistema de ecuaciones lineales.[U] * {X} = {Z} Visualizamos las matrices triangulares inferiores [L] y la matriz triangular superior [U], el vector intermedio {Z} y el vector solucin {X}

Implementacin en Matlab del programa principal

% ------------------------------------------------------------------------ % Universidad de Cuenca.% Facultad de Ingeniera Escuela Civil.% Nombre: Byron Patricio Rodrguez Merchn.% % Programa principal de la descomposicin LU % % Coeficientes de la matriz [A].% Coeficiente derecho vector columna {B}% -----------------------------------------------------------------------

function [L,U,Z,X]=descomLU(A,B)[L,U]=LU(A); [Z]=susade(L,B); Z=Z'; [X]=sustatr(U,Z); X=X';end

Prueba de funcionamiento del programa principal

>> A

A =

2 3 -1 1 2 1 -2 3 3 -2 3 2 3 -2 2 -2 2 -3 2 -3 1 2 -3 2 2

>> B

B =

3 1 -2 4 -2

>> [L,U,Z,X]=descomLU(A,B)----------------------------------------------------------------- Factorizacin LU Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn---------------------------------------------------------------------------------------------------------------------------------- Sustitucin hacia adelante Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn---------------------------------------------------------------------------------------------------------------------------------- Sustitucin hacia atras Universidad de Cuenca Realizado por: Byron Patricio Rodrguez Merchn-----------------------------------------------------------------

L =

1.0000 0 0 0 0 0.5000 1.0000 0 0 0 1.5000 0.7143 1.0000 0 0 -1.0000 -1.4286 0.5000 1.0000 0 0.5000 -0.1429 -1.0000 -0.3721 1.0000

U =

2.0000 3.0000 -1.0000 1.0000 2.0000 0 -3.5000 3.5000 2.5000 -3.0000 0 0 2.0000 -5.2857 1.1429 0 0 0 9.2143 -5.8571 0 0 0 0 -0.4651

Z =

3.0000 -0.5000 -6.1429 9.3571 -6.2326

X =

-24.3333 9.9333 14.4667 9.5333 13.4000

Comprobando las respuestas con una de las funciones incorporadas en Matlab tenemos:

>> X=A\B

X = -24.3333 9.9333 14.4667 9.5333 13.4000

Otra forma de verificar con Matlab tenemos:

>> [L,U]=lu(A)

L = 0.6667 0.5000 0.6944 0.0667 1.0000 0.3333 -0.8000 -0.3333 1.0000 0 1.0000 0 0 0 0 -0.6667 1.0000 0 0 0 0.3333 0.4000 1.0000 0 0U = 3.0000 2.0000 3.0000 -2.0000 2.0000 0 3.3333 -1.0000 0.6667 -1.6667 0 0 -3.6000 2.4000 2.0000 0 0 0 5.0000 -3.3333 0 0 0 0 0.3333

>> Z=L\B

Z = -2.0000 2.6667 -2.4000 3.0000 4.4667

>> X=U\Z

X = -24.3333 9.9333 14.4667 9.5333 13.4000

Tomando otro ejemplo un sistema de ecuaciones lineales (S.E.L) de 10 ecuaciones con 10 incgnitas.

>> A

A =

1 2 -3 4 -5 -1 2 1 3 -3 1 -3 5 4 -2 1 -4 1 3 -2 5 1 5 2 -1 3 4 3 2 1 -2 2 4 1 -2 3 2 -1 3 1 4 2 3 1 1 5 4 5 -5 4 6 -6 -2 -1 1 1 1 2 -5 2 -3 2 3 6 -3 5 2 -1 -4 -5 -2 2 -4 -3 1 2 1 2 2 4 1 -8 6 2 4 -3 -6 -5 3 7 5 -5 4 -1 2 -1 1 -5 1 4

>> B

B =

2 3 -5 4 1 -4 4 -4 2 -2

>> [L,U,Z,X]=descomLU(A,B)

L =

Columns 1 through 7

1.0000 0 0 0 0 0 0 1.0000 1.0000 0 0 0 0 0 5.0000 1.8000 1.0000 0 0 0 0 -2.0000 -1.2000 1.3571 1.0000 0 0 0 4.0000 1.2000 0.9643 0.0705 1.0000 0 0 6.0000 3.6000 -2.2857 -1.9786 -2.0977 1.0000 0 -3.0000 -1.6000 1.2143 1.1923 2.3560 -0.3029 1.0000 -2.0000 -1.2000 -0.0714 0.1111 -0.1815 0.3428 -0.5165 1.0000 2.0000 -1.2500 -0.7329 0.8674 -0.4544 1.3718 5.0000 3.0000 -0.8929 -1.1090 -1.4712 0.2785 0.4209

Columns 8 through 10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0000 0 0 -5.3059 1.0000 0 21.8531 -3.8842 1.0000

U =

Columns 1 through 7

1.0000 2.0000 -3.0000 4.0000 -5.0000 -1.0000 2.0000 0 -5.0000 8.0000 0 3.0000 2.0000 -6.0000 0 0 5.6000 -18.0000 18.6000 4.4000 4.8000 0 0 0 33.4286 -33.6429 -2.5714 -7.7143 0 0 0 0 1.8365 2.5385 -0.8846 0 0 0 0 0 10.0942 4.4520 0 0 0 0 0 0 5.2019 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 8 through 10

1.0000 3.0000 -3.0000 0 0 1.0000 -2.0000 -13.0000 14.2000 3.7143 26.6429 -23.0714 2.6667 -6.3429 2.7340 4.3717 -13.3037 8.9424 -4.9585 -0.0664 -5.8672 -0.1315 7.4866 -2.8224 0 42.5483 3.6061 0 0 82.7781

Z =

2.0000 1.0000 -16.8000 32.0000 5.7436 17.3647 -14.4260 -15.9178 -61.3073 124.8959

X =

-0.0121 1.1041 0.8266 -0.6677 -3.5217 -0.6485 -1.7102 -0.6492 -1.5688 1.5088

Comprobando con las funciones impuestas en Matlab.

>> X=A\B

X =

-0.0121 1.1041 0.8266 -0.6677 -3.5217 -0.6485 -1.7102 -0.6492 -1.5688 1.5088

Otra forma de verificar aplicando otras funciones en Matlab.

>> [L,U]=lu(A)

L =

Columns 1 through 7

0.1667 -0.4286 0.0039 1.0000 0 0 0 0.1667 0.2857 0.2913 0.4296 0.8667 0.0270 1.0000 0.8333 -0.8571 1.0000 0 0 0 0 -0.3333 0 0.2756 -0.1233 1.0000 0 0 0.6667 -0.8571 0.8071 -0.0516 -0.9052 0.5625 0.0624 1.0000 0 0 0 0 0 0 -0.5000 0.1429 0.0906 0.9387 -0.0536 1.0000 0 -0.3333 0 -0.3858 -0.3001 -0.3335 0.2838 0.0138 0.1667 1.0000 0 0 0 0 0 0.8333 0 0.4685 -0.4657 0.4626 -0.4941 -0.4228 Columns 8 through 10 0 0 0 0 0 0 0 0 0 0 0 0 -0.0856 0.0965 1.0000 0 0 0 0 0 0 -0.0826 1.0000 0 0 0 0 1.0000 0 0

U =

Columns 1 through 7

6.0000 -6.0000 -2.0000 -1.0000 1.0000 1.0000 1.0000 0 -7.0000 6.3333 2.1667 3.8333 -3.1667 -6.1667 0 0 12.0952 4.6905 1.4524 -0.5476 -2.1190 0 0 0 5.0768 -3.5295 -2.5217 -0.8012 0 0 0 0 -2.5021 3.1733 2.8185 0 0 0 0 0 8.5393 4.4761 0 0 0 0 0 0 -4.0070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Columns 8 through 10

2.0000 -5.0000 2.0000 -5.3333 3.8333 6.6667 -3.2381 9.4524 5.0476 -1.6063 5.4390 -0.4961 0.3610 -0.6010 0.2144 2.5824 -13.0415 -4.9323 3.4413 -1.4794 -5.5482 -3.3339 -3.5198 -5.1442 0 8.8431 7.5879 0 0 6.4235

>> Z=L\B

Z =

-4.0000 2.6667 0.6190 3.8071 2.9655 -1.8519 -1.4315 -0.0757 -2.4240 9.6918

>> X=U\Z

X =

-0.0121 1.1041 0.8266 -0.6677 -3.5217 -0.6485 -1.7102 -0.6492 -1.5688 1.5088

De donde obtenemos que el programa que soluciona un sistema de ecuaciones lineales (S.E.L) para distintos trminos del lado derecho est bien programado ya que al comprobar con las funciones que existen implementadas en matlab cumple o se asemejan a las obtenidas con nuestro programa.Se asemejan los resultados antes expuestos ya que en Matlab los resultados no son tan exactos porque son aproximaciones ya que dentro del programa de Matlab existen aproximaciones ya sea por truncamiento o por que se toman una menor cantidad de decimales.

Ventajas y desventajas de la descomposicin LU

Como una de las ventajas de la descomposicin LU se da cuando hay que resolver sistemas de ecuaciones lineales (S.E.L) [A]*{X}={B} para varios vectores {B} distintos ya que las operaciones que se realizan en la matriz [A] no se relaciona con el vector de trminos independientes.Otra de las ventajas de la descomposicin LU, es que al realizar el clculo de la inversa de una forma muy sencilla.La matriz [L] y [U] tambin puede ser usadas para calcular el determinante de la matriz [A] muy definidamente porque det(A)=det(L)*det(U) y determinante de matrices triangulares son simplemente el producto de los elementos de sus diagonales.En particular si [L] es una matriz triangular en cuya diagonal todos los elementos son 1, entonces.det(A)=det(L)*det(U)=det(U)Una desventaja se da cuando se trabaja en resolucin en sistema de ecuaciones lineales [A]*{X}={B} ya que la fase de sustitucin que se necesita para resolver el sistema mediante la descomposicin LU requiere mayor esfuerzo porque se realiza sustitucin hacia adelante y hacia atrs.

ConclusionesLuego de haber estudiado a profundidad los mtodos para resolver el sistema de ecuaciones lineales (S.E.L), se concluye que para resolver estos sistemas de ecuaciones lineales existen diferentes mtodos, pero depender del gusto de cada persona en elegir uno en especfico. Puesto que al analizar cada mtodo tiene sus ventajas y desventajas.Antes de programar cualquier mtodo se necesita saber cmo se desarrolla cada uno de estos procesos para ser capaces de elegir un mtodo apropiado para diferentes situaciones que se ven en la vida cotidiana.Como podemos mencionar una diferencia notoria entre el mtodo de eliminacin de gauss y el mtodo de descomposicin LU, es que el mtodo de eliminacin de Gauss trabaja solo para un vector derecho, mientras que al trabajar por el mtodo de descomposicin LU se trabaja para varios vectores del lado derecho, un ejemplo claro de varios vectores del lado derecho es una estructura la cual soporta diferentes cargas.Estos mtodos son ideales para programarlos en computadora, pues son iterativos y muy largos de trabajar en papel lo cual podra resultar extremadamente largo y tedioso. Por ello son mtodos ideales para trabajar en computadora.Tambin podemos mencionar que el mtodo de descomposicin LU es ms eficaz que la eliminacin de Gauss porque puede resolver las ecuaciones con los mismos coeficientes de la matriz [A] pero para distintos trminos independientes {b}.Se puede mencionar un hecho muy interesante es que la eliminacin de Gauss se puede expresar como una descomposicin LU segn lo ledo en el libro antes mencionado.Adems de todo debemos tomar en cuenta los errores que se tienen dentro de matlab considerando que con los que se pueda realizar a mano ya que no se toman todos los decimales o se produce truncamiento en los decimales.Este mtodo se usa mucho en problemas de estructuras ya que para distintas cargas se deseara saber cul es el vector solucin de las mismas columnas.La descomposicin LU lo que hace es optimizar el tiempo y disminuir el trabajo que se realizara si para todos los casos posibles de {B} con la misma Matriz [A], realizaramos el proceso de Gauss.Byron Patricio Rodrguez Merchn.