sábado, 6 de febrero de 2021

8) Nociones de algebra lineal y polinomial con Numpy.












Nociones de algebra lineal y polinomial con Numpy.


Numpy incluye muchas funciones de álgebra lineal que te pueden ser bastante útiles si te dedicas a estos menesteres.

Por ejemplo, Numpy puede calcular productos de matrices y vectores de manera eficiente (dot, vdot), calcular los valores y vectores propios de una matriz (linalg.eig, linalg.eigvals), resolver sistemas lineales (linalg.solve) o realizar la inversión de una matriz (linalg.inv) entre otras cosas.

Para ver un ejemplo vamos a resolver un sistema de ecuaciones lineales.


Tenemos tres ecuaciones:


3X + 2Y + Z  = 1
5x + 3Y + 4Z = 2
 X +  Y -  Z = 1


Podemos expresarlas como una expresión matricial del siguiente tipo A * x = b, en donde A sería la matriz de los coeficientes de las incógnitas, "x" serían las incógnitas y "b" la matriz de los términos independientes. 


Podemos expresar este sistema como arrays de Numpy de las siguiente forma:


A = np.array([[3, 2, 1],
              [5, 3, 4],
              [1, 1,-1]])
b = np.array([1, 2, 1])


Entonces, si usamos la función np.linalg.solve podemos encontrar los valores de las incógnitas.

x = np.linalg.solve(A, b)
print(x)
[-4.  6.  1.]


También se puede resolver un problema que tenga más ecuaciones que incógnitas con la función np.linalg.lstsq(A,b) la cual nos dirá si el sistema es compatible determinado o indeterminado.

Si te interesa, puedes encontrar el más información en el siguiente enlace.


Próximo Post.  Arrays Temporales.


No hay comentarios:

Publicar un comentario