Descargar

Compactar una matriz tridiagonal

Enviado por juanse


  1. Análisis del Método
  2. Diagrama de flujo
  3. Programa en Matlab
  4. Expandir una matriz tridiagonal compactada
  5. Factorización de matrices por el método de Cholesky
  6. Conclusiones
  7. Método Crout de factorización de matrices
  8. Conclusiones

Análisis del Método

Si se tiene una matriz tridiagonal de la forma

edu.red

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.

edu.red

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".

edu.red

Programa en Matlab

edu.red

edu.red

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:

edu.red

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"

edu.red

edu.red

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:

edu.red

Y donde el sistema a resolver ahora se trabajara con esta matriz C, y haciendo la matriz aumentada

edu.red

, 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:

edu.red

Así vemos que realiza la eliminación gausiana en la matriz tridiagonal del la forma compacta:

edu.red

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.

edu.red

Y del análisis anterior con la compactada vemos que para solucionarlo se realizan:

edu.red

Así extendiendo a una grafica vemos que:

edu.red

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:

edu.red

Generalización de los términos i-esimos

edu.red

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:

edu.red

Codificación matlab:

edu.red

Ejecución de un ejemplo:

edu.red

La matriz no es definida positiva

edu.red

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:

edu.red

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;

edu.red

Factorización de una matriz por el método de crout consiste en encontrar dos matrices edu.redtales que:

edu.red

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.

edu.red

A partir de la factorización de matrices tenemos que

edu.red

Entonces ahora resolvemos el sistema matricial:

edu.red

edu.red

Des estas fórmulas podemos deducir una formula general para cualquier elemento L(i,j) y U(i,j)

edu.red

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:

edu.red

Codificación en matlab:

edu.red

Ejemplo de aplicación:

edu.red

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:

edu.red

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