Descomposicion polinómica método LU

Por:ivancp,enviado 14 Mar 2004
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 matriz triangular inferior y una superior. Debido a la inestabilidad de este método, por ejemplo si un elemento de la diagonal es cero, es necesario premultiplicar la matriz por una matriz de permutación. Método llamado factorización PA = LU o LU con pivote.

Esta descomposición se usa en el análisis numérico para resolver sistemas de ecuaciones (más eficientemente) o encontrar las matrices inversas.
Tomado de Wikipedia es.wikipedia.org/wiki/Factorizaci%C3%B3n_LU



El esquema de descomposición LU es una transformación de una matriz A como producto de dos matrices:

A = LU

Donde L es una matriz triangular inferior y U es una matriz triangular superior. Cuando uno debe resolver varios conjuntos de ecuaciones lineales en los que todas las matrices de coeficientes son iguales pero los términos no homogeneos ( lado derecho ) son distintos, la solución de las ecuaciones utilizando la descomposición L U tiende a ser más eficiente que la eliminación de Gauss.

El esquema genera para una matriz de orden N es el siguiente:

lu2.gif
Matriz de descomposición LU


Para k = 0, 1, 2 .... N
Que se puede describir en forma mas explícita como sigue:

lu1.gif
Matriz de descomposición LU simplificada


A fin de cuentas, implementé un proyecto que resuelve este tipo de ecuaciones, al final obtenemos una solución como una función la cual graficamos. La exactitud de la solución depende mucho del exponente que se esté utilizando.

En el proyecto adjunto, cada punto es asignado mediante un click del ratón, luego debe elegirse el grado de la ecuación, luego elegir el botón "Dibujar ecuación".

alu4.gif
Programa C++ que utiliza el método LU para dibujar una función matemática a partir de puntos.

Archivos Adjuntos

  • lu.zip22.21 KiB
    Código fuente del programa C++ que dibuja una función obtenida con el método LU

Otros Artículos en esta sección

¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro deVisual C++ »