Foro de consultas

Resolver el TP sin matrices

Resolver el TP sin matrices

de ESTEVA PEDRO -
Número de respuestas: 1

Buenas, estuve viendo como serlover el sitema de ecuasiones sin usar las matrices para que el programa tarde menos

Usando lo que vimos en clases con este ejemplo:


Lo que hice es ver los patrones que se repiten en la matriz de datos en el caso de 90_10 y si funciona pasarlo a los otros 2 casos


Llame A y B a estar matrices de 10x10 que se repiten de la siguiente manera:


Las diagonales de A se repiten los valores en la superior e inferior, asi que las llame alfa y beta para ahorrarme calculos


B solo tiene valores en la diagonal.


Llegue a un sistema de ecuasiones que se repite en desde la fila 11 hasta la 890 y la fila que va desde 1 a 10 y la de 891 a 900 serian diferentes pero parecidas

(Seria G-S, pero le puedo agregar a el w para SOR)


-

A tiene en A[0,0] = 1 y en A[9,9] = 1 mientras  B[0,0] = 0 y en B[9,9] = 0, por lo que en esas filas siempre x=b, asi que esos los cargue ya que no van a variar

Y en las demas filas serian del estilo:


El tema es que cuadno lo programe el resultado me da mal, no se si es que lo estoy planteando mal o algun error del algoritmo que programe para calular los valores.


En respuesta a ESTEVA PEDRO

Re: Resolver el TP sin matrices

de HIRSCHMANN JUAN IGNACIO -

Hola Pedro, buen análisis. Habría que ver como implementaste el código y si esta solución se puede aplicar a las demás matrices. Para optimizar el código te sugiero implementar el método SOR indicialmente y trabajar con las matrices fila por fila: 


Como marcaste en cada fila las matrices tienen muchisimos 0, entonces en las dos sumatorias adentro del paréntesis cada vez que toque un a_ij nulo no va a sumar nada, pero igual va a estar haciendo la operación. Esto sería lo mismo que directamente aplicar la sumatoria filtrando los aij que son 0. En Python tenes una función que te devuelve los índices no nulos de la matriz o vector que le pongas (np.nonzeros())