- Análisis del
Método - Diagrama de flujo
- Programa en Matlab
- Expandir una matriz tridiagonal
compactada - Factorización de matrices por el
método de Cholesky - Conclusiones
- Método Crout de factorización de
matrices - Conclusiones
Análisis
del Método
Si se tiene una matriz tridiagonal de la
forma
Entonces en una matriz de 10000 elementos, n=10. Hay
E=9702 elementos iguales a cero. Y 208 elementos distintos de
cero. Por lo que resulta conveniente almacenar la matriz de una
forma más compacta.
Diagrama de
flujo
PSEUDOCÓDIGO
DATOS DE ENTRADA
Matriz A(m x n)
SALIDA DEL ALGORITMO
Matriz Compacta AC(n x 3)
O mensajes de fracaso "La matriz A no es cuadrada" o
"La matriz A no es tridiagonal".
Programa en
Matlab
Expandir una
matriz tridiagonal compactada
Si se tiene una matriz de la forma tridiagonal compacta,
como la resultante del ejercicio anterior, entonces se requiere
un programa que "expanda" la matriz. Es decir pasar
de:
PSEUDOCÓDIGO
DATOS DE ENTRADA:
Matriz Compacta B (m x n)
SALIDA DEL ALGORITMO
Matriz Expandida A(m x m)
O mensaje de fracaso "La matriz debe tener 3
columnas"
Ahora veremos la eficacia de la
aplicación de la matriz compacta para la resolución
de sistemas de ecuaciones lineales:
Donde analizando vemos
que:
Y donde el sistema a resolver ahora se
trabajara con esta matriz C, y haciendo la matriz
aumentada
, que para poder resolverla por medio del
método de Gauss, analizando tenemos que como lo
habíamos hecho para el método de Gauss en forma
normal (trabajando sin la matriz compactada), procedemos a hacer
lo siguiente:
Así vemos que realiza la
eliminación gausiana en la matriz tridiagonal del la forma
compacta:
Conclusiones del
Método
Como podemos observar el método de
la matriz compacta para matrices tridiagonales es muy
útil, ya que obviamos el gastar memoria al trabajar con la
matriz tridiagonal en sí , ya que el resto de los
elementos de la matriz que no son de las tres diagonales es
cero.
Y del análisis anterior con la
compactada vemos que para solucionarlo se realizan:
Así extendiendo a una grafica vemos
que:
Por eso decimos que este método
ahora tiempo y memoria, es decir es más eficaz, que
trabajar con la matriz sin compactar, ya que en total utiliza
10(8n)-9 bytes de memoria, 10(8*2200)-9=175991 bytes de
memoria.
Y al trabajar más rápido y
con menos números de operaciones podemos decir que genera
menos error numérico y de acumulación.
Factorización de matrices por el
método de Cholesky
Análisis del Método:
Un método de factorización de matrices
(descomposición LU), es el Método de Cholesky. El
método consiste en hacer los elementos de la diagonal de
la matriz triangular inferior L a los de la matriz triangular
superior U.
Pero, si [A] es una matriz de n x n positiva
definida, entonces [A] tiene una factorización de la
forma A=L*LT, donde L es una matriz triangular
inferior.
Para que una matriz sea positiva definida, debe ser
simétrica y diagonalmente dominante.
Entonces el problema se plantea de la siguiente
manera:
Generalización de los
términos i-esimos
PSEUDOCÓDIGO:
DATOS DE ENTRADA:
[a]: Matriz de Coeficientes del Sistema de
Ecuaciones Lineales.
SALIDA DEL ALGORITMO
[L]: Matriz tridiagonal inferior
[Lt]: Matriz tridiagonal
superior
Pasos del algoritmo:
Codificación
matlab:
Ejecución de un
ejemplo:
La matriz no es definida
positiva
Análisis Del Método:
El método de Cholesky es un método de
factorización de matrices por medio del cual podemos
encontrar la solución de un sistema de ecuaciones
lineales.
Para poder realizar este método en primera
instancia debemos observar que la matriz sea simétrica ya
que si no es simétrica ya no se podría usar este
método, luego de esta restricción debemos observar
que la matriz también sea positiva y definida, caso
contrario al desarrollar el método obtendremos como
resultado raíces cuadradas de números negativos por
ende el método fallara y en última instancia la
matriz de coeficientes [A] debe ser cuadrada caso contrario
obtendremos inconsistencias en el sistema de ecuaciones
lineales.
Conclusiones
El método desarrollado contiene un
total de 27 pasos lo mismo que nos indica que este método
utiliza una cantidad de memoria poco considerable ya que la mayor
cantidad se utiliza al almacenar valores en las
sumatorias
El método de descomposición factorial de
Cholesky es uno de los métodos más aplicados en la
factorización de matrices, ya que es de gran ayuda al
momento de resolver sistemas de ecuaciones lineales.
El método de Cholesky es el mejor método
que se puede aplicar a matrices simétricas, ya que
mediante el mismo permite la ejecución de menos
operaciones comparadas con el método tradicional de la
descomposición L U, ya que se ahorra el proceso de
obtención de U (triangular superior).
Para la resolución de un sistema lineal el
proceso a aplicar es el mismo que el que usamos para la
descomposición L U normal, es decir:
Al momento de utilizar matlab debemos tener en cuenta
que esta herramienta de trabajo nos brinda muchas comodidades a
la hora de utilizar el lenguaje de programación, ya que en
si el programa tiene incorporados un sinnúmero de
funciones las mismas que facilitan la realización de
operaciones y codificaciones necesarias para que las funciones y
programas a realizar tengan un mejor funcionamiento mediante el
uso de menos recursos y obteniendo los mismos
resultados.
Para finalizar podemos afirmar que el método de
Cholesky realizado es aplicable para matrices simétricas
definidas positivas de cualquier orden, podemos afirmar que el
método está bien realizado por ende se podrá
utilizar en cualquier momento, también la
realización de este método ha permitido desarrollar
la practica en la elaboración de nuevos
programas.
Método
Crout de factorización de matrices
Un método de factorización de matrices
(descomposición LU), es el Método de Crout, en el
cual la matriz triangular superior U tiene todos los elementos de
su diagonal principal iguales a 1. Es decir;
Factorización de una matriz por el método
de crout consiste en encontrar dos matrices tales que:
Análisis de restricciones:
El método de Crout es un método de
factorización de matrices por medio del cual podemos
encontrar la solución de un sistema de ecuaciones
lineales.
Para poder realizar este método en primera
instancia debemos observar que en la matriz el primer
término de la diagonal principal sea distinto de 0, caso
contrario se tendría que evaluar una división para
0 y esto traería consigo varios errores, así
también debemos observar que la matriz sea cuadrada para
que el sistema no sea inconsistente
Desarrollo del método:
A continuación mostramos esta resolución
con un sistema de ecuaciones lineales de 5×5 para luego con estas
fórmulas desarrollar una solución para un sistema
de ecuaciones lineales de cualquier orden.
A partir de la factorización de matrices tenemos
que
Entonces ahora resolvemos el sistema
matricial:
Des estas fórmulas podemos deducir una formula
general para cualquier elemento L(i,j) y U(i,j)
Seudocódigo:
Datos de entrada:
[A]: Matriz de Coeficientes del Sistema de Ecuaciones
Lineales.
Datos de salida:
[L]: Matriz tridiagonal inferior
[U]: Matriz tridiagonal superior
Pasos del algoritmo:
Codificación en matlab:
Ejemplo de aplicación:
Conclusiones
El método de descomposición factorial de
Crout realizado, contiene un total de 22 pasos, los mismos que
incluyen operaciones, condiciones e inicialización de
variables, de lo mencionado anteriormente se puede concluir que
el método utiliza una cantidad no muy amplia de memoria,
siendo usada mayor cantidad de memoria en los procesos que
necesitan realizar sumatorias, pero estas variables de sumatorias
se enceran al iniciar su respectivo bucle.
El método de Crout es uno de los mejores
métodos que se puede aplicar a matrices generales, ya que
mediante el mismo podemos esperar resultados bastante aproximados
ya que comparando con una calculadora que permite la
ejecución del mismo proceso se pudo observar que los
resultados tienen una variación mínima en cuanto al
resultado.
La exactitud del método:
Para concluir podemos afirmar que el método de
Crout es muy útil para factorar matrices generales,
tomando en cuenta que para realizar esta factorización las
restricciones existentes son mínimas, por este motivo
podemos entender que mediante este método se puede
factorar una gran cantidad de matrices sin que se presenten
problemas al momento de la ejecución
Autor:
Juanse