factorizacion de matraces no negativas
DESCRIPTION
PythonTRANSCRIPT
Factorización de Matrices No Negativas por Israel Ledesma Díaz y Carlos Pineda Bernal.
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, deben tenerse en cuenta 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 o 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.
El presente ensayo tiene como objetivo explicar el método que utilizamos en el programa
computacional Python para resolver la Factorización de Matrices No Negativas.
La descomposición de LU es una técnica que consta de dos pasos, la descomposición deLU y la
sustitución; Al igual que la técnica de gauss requiere de la aplicación de técnicas de pivoteo para
evitar la división por cero y evitar errores en los resultados.
Paso 1: descomposición de L y U, es posible utilizar gauss para descomponer nuestro sistema de
ecuaciones en una matriz L y otra U.
Paso 2: realizar sustitución adelante y atrás para obtener nuestra solución
Igualar la matriz L a D y hacer sustitución adelante para obtener los valores de D
Igualar la matriz U a nuestros nuevos valores D y hacer sustitución hacia atrás para obtener los
valores de D que representan la solución del sistema.
A continuación los pasos que nosotros seguimos para resolver este problema.
1.- Comenzamos creando un menú:
2.- Cuando el usuario elige la opción, debe ingresar las características de la matriz que necesita.
3.- En la opción número dos, al ser Suma, resta y multiplicación de matrices, necesitamos especificar los parámetros que necesita dar el usuario para que el programa funcione correctamente.
4.- Se crean 2 matrices más, las cuales vuelven a ser llenadas aleatoriamente, entre un rango de 0 a 100.
5.- Imprimimos en pantalla los resultados de las operaciones:
La función Len, nos dice que el ciclo se repetirá cuantas veces sea el número de enteros que tenga la matriz. El valor devuelto por la función len () se puede usar como parámetro de la función range ().
6.- Importamos de la librería las funciones Matrix y Linalg
Se importó matrix para así crear la matriz que llenamos manualmente, linalg es un módulo que sirve para la factorización de matrices.
7.- Factorizamos la matriz por medio LU
Lu es un método de factorización que resume el proceso de eliminación gaussiana aplicado a la matriz y que es conveniente en términos del número total de operaciones de punto flotante cuando se desea calcular la inversa de una matriz o cuando se resolverá una serie de sistemas de ecuaciones con una misma matriz de coeficientes.
Como conclusión, la realización de este programa fue algo muy difícil, lamentamos que no haya sido del modo que el profesor lo esperaba, pero no sabemos realizar ese método. Intentamos realizarlo, pero tuvimos problemas a la hora de entender lo que se necesitaba, nos confundimos y después ya no pudimos cambiar el rumbo de nuestro proyecto debido a la falta de tiempo.