Doolittle
August 21, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Doolittle...
Description
Riobamba - Ecuador
Diseñar una aplicación de computadora que nos permita obtener la resolución de sistemas lineales de ecuaciones por el método de DOOLITTLE.
Programar el método de DOOLITTLE para reducir el tiempo de resolución de un sistema de ecuaciones.
Establecer las dificultades que se presentan al momento de implementar el método, y el programa en general.
Aplicar los conocimientos previamente adquiridos.
1
Riobamba - Ecuador
En el álgebra lineal, la factorización o descomposición LU (del inglés Lower-Upper) es una forma de factorización de una matriz como el producto de una una matriz trian triangular gular inferior y una superi superior. or. Debido a la inestabilidad de este método, deben tenerse en cuenta cue nta algunos casos especiales, por ejemplo, si uno o varios elemento de la diagonal principal de la matriz a factorizar es cero, es necesario premultiplicar la matriz por una o varias matrices elementales de permutación. Método llamado factorización factorizac ión PA = LU*LU con piv pivote. ote. Esta descomposición se usa en el análisis numérico para resolver sistemas de ecuaciones (más eficientemente) o encontrar las matrices inversas.
2
Riobamba - Ecuador
MARCO TEORICO DESCOMPOSICIÓN LU- MÉTODO DE DOOLITTLE
Otro método para resolver sistemas de ecuaciones lineales es el método de la factorización LU El problema a resolver, consiste en encontrar el vector de incógnitas X que satisface la expresión:
A.x – – b = 0
(1)
En la siguiente presentación se supondrá que la matriz A es de 3x3 aunque el desarrollo es de dell todo general y puede extenderse a cualquier orden del problema.
Supongamos que la ecuación (1) se puede expresar como un sistema triangular superior, esto es:
u11
u12
u13
x1
0 0
u22 0
u23 u33
x2 x3
d1 =
d2 d3
(3)
Podrá reconocerse fácilmente que la expresión anterior coincide con el estado final de la etapa de eliminación seguida en el algoritmo de Gauss, la cual, puede resumirse en:
U.x – – d = 0
(4)
Ahora bien, supóngase por un momento la existencia de una matriz triangular inferior
con
coeficientes iguales a 1 sobre su diagonal, esto es:
L=
1
0
0
l21
1
0
l31
l32
1
(5)
La cual, supóngase también, tiene la propiedad que al pre multiplicarla por la ecuación (4) su resultado es (1), es decir:
L. [U.x – – d] = A.x – – b
(6)
3
Riobamba - Ecuador
En la cual, resulta evidente que:
L.U = A L.d = b
(7) (8)
De resultar así, el procedimiento de cálculo puede ordenarse en base a la siguiente estrategia:
a) Fase de descomposición LU: Consiste en factorizar o descomponer A en el producto de una matriz triangular inferior, L, por una superior, U .
b) Fase de sustitución: En la cual se obtiene el vector solución. Para ello esta fase se compone de las siguientes dos etapas: 1. De la ecuación (8) se obtiene d por sustitución hacia adelante. 2. De la ecuación (4) se obtiene
x por sustitución hacia atrás.
Todo lo citado es factible de realizar a partir de la existencia de matrices U y L con las propiedades señaladas. Una forma de arribar a determinar sus coeficientes es mediante el mismo procedimiento de eliminación de Gauss ya conocido.
Esta posibilidad resulta inmediata a partir de la propia forma de la matriz U , que, como se indicara con anterioridad, puede escribirse a U de la siguiente forma:
U=
a11
a12
a13
0
a’22
a’23
0
0
a”33
(9)
Donde los coeficientes señalados con apóstrofes y comillas corresponden a los obtenidos en el primer y segundo paso respectivamente del proceso de eliminación de Gauss. Aunque nada de lo dicho lo sugiere, los coeficient coeficientes es de la Matriz Matr iz L se obtienen como c omo ““subproducto” subproducto” del proceso de generación de U . En el ejemplo siguiente se pondrá este punto en evidencia aunque la metodología seguida es de carácter absolutamente general y puede ampliarse a un sistema de cualquier número de ecuaciones. Supongamos el siguiente sistema de 3 ecuaciones con 3 incógnitas:
4
Riobamba - Ecuador
A.x = b
a11
a12
a13
x1
a21
a22
a23
x2
a31
a32
a33
x3
b1 =
b2 b3
Paso 1 m21= a21/a11
m31 = a31/a11
a’21= a21 – m21*a11 = 0
a’31= a31 – m31*a11 = 0
a’22= a22 – m21*a12
a’32= a32 – m31*a12
a’23= a23 – m21*a13
a’33= a33 – m31*a13
a11
a12
a13
0
a’22
a’23
0
a’32
a’33
Paso 2 m’32= a’32/a’22 a”32= a’32 – – m’32*a’22 = 0 a”33= a’33 – – m’32*a’23
a11
a12
a13
0
a’22
a’23
0
0
a”33
Evidentemente, para no modificar el sistema de ecuaciones original, las mismas transformaciones realizadas sobre la matriz de coeficientes deberían realizarse sobre el vector de términos independientes. Sin embargo, supongamos que existe la posibilidad de armar una “tabla de memoria” en la cual se registren todas las operaciones a realizar sobre los coeficientes del término independiente. De esta forma, no sería necesario ir operando sobre el vector b en forma simultánea con las transformaciones sobre A, sino que las mismas podrían ser ejecutadas con posterioridad. Un posible formato para confeccionar esa “tabla de memoria” se representa a continuación: continuación:
m’21 m’31 m”32
En la misma se almacenan todos los “pivote” de cada una de las transformaciones de fila realizadas. Un punto fácilmente verificable es el hecho que, la matriz siguiente formada a partir de la “tabla de memoria”, memoria”,
5
Riobamba - Ecuador
L=
1
0
0
m’21
1
0
m’31 m”32
1
Al premultiplicar a la matriz m atriz U dada por (9), genera como resultado la matriz A original, es decir: L.U = A
Que es la base del procedimiento de descomposición comentado anteriormente. Una vez obtenidas las matrices indicadas, se procede a resolver los siguientes sistemas de resolución directa: L.d = b
mediante sustitución hacia adelante
U.x = d por
sustitución hacia atrás
El ejemplo siguiente ilustra el procedimiento completo sobre un sistema de 3x3, aunque la metodología es enteramente aplicable a sistemas de cualquier orden:
A.x = b
3
-1
-2
x1
1
7
-3
x2
3
-2
10
x3
+7 =
-19 +4
a) Fase de Descomposición Paso 1 m21= 1/3 = 0.333
m31 = 3/3 = 1
a’21= 1 – 0.333*3 = 0
a’31= 3 – 1*3 = 0
a’22= 7 – 0.333*(-1) = +7.333
a’32= -2 -2 – – 1*(-1)= -1
a’23= -3 – -3 – 0.333*(-2)= -2.333
a’33= 10 – 1*(-2)= 12
3
0 0
-1
-2
7.33 -2.33 -1
12
6
Riobamba - Ecuador
Paso 2 m’32= -1/7.33 = -0.136
3
a”32= -1 +0.136*7.33 = 0
a”33= 12 + 0.136*(-2.33) 0.136*(-2.33)
L=
0 0
1
0
0
0.333
1
0
1
-0.136
1
-1
-2
7.33 -2.33 0
11.68
;
U=
3
-1
-2
0
7.33
-2.33
0
0
11.68
Puede verificarse que L.U = A, excepto pequeñas diferencias producto de errores de redondeo.
b) Fase de Sustitución Como se indicó, el proceso de sustitución comprende dos etapas de resolución inmediata:
1)
L.d = b ,
sustitución hacia adelante
d1 = b1/L11 = +7 d2 = (b2-L21*d1)/L22 = (-19-0.333*7)/1 = -21.33 d3 = (b3-L31*d1-L32*d2)/L33 = (+4-1*7 +0.136*(-21.33))/1 =-5.90
2) U.x = d , sustitución hacia atrás x3 = d3/U33 = -0.51 x2 = (d2-U23*x3)/U22 = -3.07 x1 = (d1-U12*x2-U13*x3)/U11 = +0.97
El procedimiento detallado puede especificarse en forma de seudo-código a fin de facilitar su implementación en un computador:
7
Riobamba - Ecuador
Descomposición LU Repetir k=1,... n-1 Repetir i=k+1,... n aik = aik/akk Repetir j=k+1,..., n aij = aij – – aik. akj Fin j Fin i Fin k
Sustitución hacia adelante d1 = b1 Repetir i=2,.... n s=0 Repetir j=1,... i-1 i-1 s = s + a ij.d j Fin j j di = bi-s Fin i
Sustitución hacia atrás xn = dn/ann Repetir i=n-1,.... 1 s=0 Repetir j=i+1,... n n s = s + a ij.x j Fin j j xi = (di-s)/aii Fin i
Si el algoritmo detallado se implementa para la matriz A del problema anterior, se observa que, luego de finalizada la etapa de descomposición, los coeficientes de la matriz A resultan:
8
Riobamba - Ecuador
3
-1
-2
0.333
7.33
-2.33
1
-0.136 11.68
Como se advierte, en el mismo arreglo se almacenaron los coeficientes de la matriz U (triángulo superior) y de la matriz L (triángulo inferior). En este último caso, el almacenamiento de la diagonal es un asunto trivial toda vez que todos los coeficientes ubicados sobre la misma resultan iguales a 1. Se ha optimizado así el manejo de memoria, limitando el área de trabajo a aquella necesaria solamente para el almacenamiento de la matriz de coeficientes ( A).
Una segunda optimización puede realizarse realmacenando los coeficientes del vector d en el proceso de sustitución hacia adelante en el mismo espacio que el vector b , cuyos coeficientes ya no resulta necesario almacenar en esa etapa del cálculo. Finalmente, un punto de interés reside en la determinación del número de operaciones realizadas por el algoritmo anteriormente desarrollado. Como puede verificarse, el número total de operaciones a realizar en el proceso de descomposición y sustitución es idéntico a aquel realizado en el algoritmo de eliminación de Gauss. Evidentemente, la gran ventaja de LU surge en el caso de tener que resolver en forma reiterada el mismo sistema pero para términos independientes 2
diferentes. En este caso, cada nuevo sistema requiere realizar solamente un orden de n operaciones.
9
Riobamba - Ecuador
10
Riobamba - Ecuador
CONCLUSIONES:
El uso de la descomposición de matrices LU es de gran utilidad ya que permite alivianar la cantidad de operaciones para resolver un sistema.
Proporciona un medio eficiente para calcular matrices inversas, y éstas poseen un importante número de aplicaciones en la práctica de la ingeniería, sin dejar de lado que dichas inversas proporcionan un medio para evaluar la condición de un sistema.
La descomposición LU, es un proceso más abreviado, que nos provee una ganancia de tiempo para un programador a la hora de elaborar un programa.
RECOMENDACIÓN:
Existen maneras de programar el algoritmo anterior de forma tal que la matriz U y la matriz L queden en una misma matriz cuadrada. Un truco radica en que siendo todos los elementos de la diagonal de U unos, no se requiere el espacio para almacenarlos. También hay forma de programar el algoritmo para que la matriz de permutaciones P se represente por un solo vector con n valores, con números de 1 a n, que indican cómo deben permutarse los renglones de la 2
identidad. Esto es muy conveniente pues la matriz P es tal que de sus n valores todos son cero excepto n que son 1. Usando estas ideas el almacenamiento requerido por el algoritmo de 2
2
factorización LU puede reducirse de 3n a n + n números de punto flotante. Significando un ahorro de espacio aproximadamente 66%.
REFERENCIAS:
http://personal.redestb.es/ztt/tem/t6_matrices.htm
http://www.ditutor.com/matrices/suma_matrices.html
http://www.monografias.com/trabajos72/resolucion-sistemas-metodo-gauss-jordan/resolucionsistemas-metodo-gauss-jordan.shtml
ANEXOS:
11
View more...
Comments