El documento describe métodos para resolver sistemas de ecuaciones lineales, incluyendo el método de Doolittle. El método de Doolittle descompone la matriz del sistema en matrices triangulares inferior y superior. El documento también explica cómo implementar el método de Doolittle en software como Matlab para resolver sistemas numéricamente.
2. SISTEMA DE ECUACIONES LINEALES
Un sistema de ecuaciones algebraicas tiene la siguiente representación
general:
Donde las aij son los coeficientes del sistema y las bi corresponden a
las variables independientes. Para el correcto manejo de las técnicas
de resolución de sistemas simultáneos de ecuaciones, estos se
transforman a su forma matricial:
3. SISTEMA DE ECUACIONES LINEALES
A esta forma se le conoce como matriz aumentada del
sistema. Puede observarse que las primeras n columnas
corresponden a los coeficientes aij del sistema, mientras que
la columna n + 1, corresponde a las variables independientes.
Ahora bien, si se considera que A es una matriz cuadrada de
n x n:
Que contiene a los coeficientes del
sistema, x es un vector columna de
n x 1:
4. SISTEMA DE ECUACIONES LINEALES
Que representa al conjunto de variables
independientes, el sistema tiene la siguiente
representación algebraica:
Que contiene al conjunto de incógnitas y b un vector
columna de n x 1:
6. EL MÉTODO DOOLITTLE
Otro método para resolver sistemas lineales
de ecuaciones algebraicas es el método de
descomposición.
En la descomposición o factorización LU, la
matriz [L] tiene números 1 en su diagonal
principal.
Al método de Crout también se le denomina
formalmente MÉTODO DE DOOLITTLE.
7. EL MÉTODO DOOLITTLE
Una formulación alternativa con números 1 sobre la
diagonal principal se conoce como método de
descomposición de Crout. Este método genera [U] y [L]
recorriendo las columnas y las filas de la matriz de forma
alternada y se expresa mediante las siguientes fórmulas:
9. EL MÉTODO DOOLITTLE
Este método presenta ventajas para su implementación
computacional sobre el método LU.
EJEMPLO: Resolver el siguiente sistema de ecuaciones mediante el
método de Crout:
13. APLICACIÓN EN SOFTWARE MATEMÁTICO
En la práctica de la ingeniería y ciencias es
frecuente tener la necesidad de resolver un sistema
de ecuaciones lineales.
Estos sistemas aparecen en muy diversos
problemas, ya sea como la solución completa de un
problema ó al menos como parte de ella. Dada esta
necesidad frecuente, se requiere resolverlos en
forma eficiente.
Los métodos numéricos que resuelven los
sistemas se pueden clasificar en directos e
indirectos.
14. APLICACIÓN EN SOFTWARE MATEMÁTICO
Los métodos directos son aquellos que
determinan la solución en un número
determinado de pasos.
Los métodos iterativos son aquellos que
obtienen la solución aproximándose a ella en
un número finito, pero no definido de pasos.
La siguiente entrega pretende encontrar la
solución de un sistema de ecuaciones lineales
por los métodos anteriormente mencionados.
15. APLICACIÓN EN SOFTWARE MATEMÁTICO
Como los algoritmos de los métodos ya
están disponibles en la mayoría de los
libros de texto sobre la materia, se
explicara en la medida de lo posible,
detalles de implementación (personales)
de los métodos directos (que son mas
difíciles de programar).
El lenguaje de programación idóneo
para tal fin será matlab 6.0.
16. APLICACIÓN EN SOFTWARE MATEMÁTICO
DOOLITTLE (Captura de los datos de entrada)
¿Que es lo que necesita un método directo para poder empezar?
Resulta lógico pensar que necesita A y b (Ax=b), pero si esto se
hace pidiéndole al usuario que digite A y luego b, se corre el
riesgo que digite mal los datos, además resulta muy cansado
hacerlo.
Podría además digitar un tamaño de matriz que no corresponde a
la matriz.
Para aminorar un poco el riesgo, se le pedirá al usuario que
ingrese la matriz aumentada del sistema, de la cual se sacará la
información necesaria para que el método funcione.
Como el tamaño de A es n*n, el tamaño de la matriz aumentada es
n*n+1, puesto que se incluye a "b"(una columna mas).
17. APLICACIÓN EN SOFTWARE MATEMÁTICO
El algoritmo de captura quedaría como:
1) Lea matriz
2) Tam=tamaño(matriz)
3) Para i=1, n haga
b(i)=matriz(i,n+1) (determinar "b")
Para j=1, n haga
A(i,j)=matriz(i,j) (determinar "A")
Finpara
Finpara
4- b1=transpuesta(b) ("b" es un vector columna)
18. APLICACIÓN EN SOFTWARE MATEMÁTICO
DOOLITTLE
(Implementación de los procedimientos progresivos y regresivos
que llevan a la solución.)
Se utilizará un sistema de 3*3 y 4*4 para ver el comportamiento
de "c" en L*c=b, y de "x" en Ux=c.
L*c=b
c(1)=b(1)
c(2)=b(2)-[l(2,1)*c(1)]
c(3)=b(3)-[l(3,1)*c(1)+l(3,2)*c(2)]
19. APLICACIÓN EN SOFTWARE MATEMÁTICO
c(1)=b(1)
c(2)=b(2)-[l(2,1)*c(1)]
c(3)=b(3)-[l(3,1)*c(1)+l(3,2)*c(2)]
c(4)=b(4)-[l(4,1)*c(1)+l(4,2)*c(2)+l(4,3)*c(3)]
Es fácil observar, que lo que se esta efectuando entre corchetes ([]), es
una sumatoria.
También se observa que en L(i,j) , i<>j y i>j
Además, de c(2) a c(n) se tiene que para L(i,j), i=2,n y j=1,n-1
Entonces el esquema para c quedaria como:
c(1)=b(1)
c(i)=b(i)-Sumatoria(L(i,j)*c(i)), i<>j y i>j para todo L(i,j)
con i=2,n y j=1,n-1
21. CONCLUSIONES
VENTAJAS:
Probablemente más eficientes que los directos para
sistemas de orden muy alto.
Más simples de programar.
Puede aprovecharse una aproximación a la solución, si tal
aproximación existe.
Se obtienen fácilmente aproximando burdas de la
solución.
Son menos sensibles a los errores de redondeo (valioso en
sistemas mal condicionados).
Se requiere menos memoria de máquina. Generalmente,
las necesidades de memoria son proporcionales al orden de
la matriz.
22. CONCLUSIONES
DESVENTAJAS:
Si se tienen varios sistemas que comparten la matriz coeficiente,
esto no representará ahorro de cálculos ni tiempo de máquina, ya
que por cada vector a la derecha de A tendrá que aplicarse el
método seleccionado.
Aún cuando la convergencia este asegurada, puede ser lenta
y,por lo tanto, los cálculos requeridos para obtener una solución
particular
No son predecibles.
El tiempo de máquina y la exactitud del resultado dependen del
Criterio de convergencia.
Si la convergencia es lenta, los resultados deben interpretarse
con cautela.
No se tiene ventaja particular alguna (tiempo de máquina por
iteración) si la matriz coeficiente es simétrica.
No se obtiene la inversa de A ni el determinante de A.