Curso Gratuito en Ciencia de Datos y Aprendizaje Automático con Python: Sympy

Curso Gratuito en Ciencia de Datos y Aprendizaje Automático con Python




Sympy


Sympy [ 5 ] es el módulo principal de álgebra informática en Python. Es un paquete de Python puro sin dependencias de plataforma. Con la ayuda de varios patrocinios de Google Summer of Code , se ha convertido en un potente sistema de álgebra informática con muchos proyectos colaterales que lo hacen más rápido y lo integran más estrechamente con Numpy y Jupyter. El tutorial en línea de Sympy es excelente y permite interactuar con sus ejemplos de código incrustados en el navegador ejecutando el código en Google App Engine detrás de escena. Esto proporciona una excelente manera de interactuar y experimentar con Sympy.


Si encuentra que Sympy es demasiado lento o necesita algoritmos que no implementa, entonces SAGE es su próxima parada. El proyecto SAGE es una consolidación de más de 70 de los mejores paquetes de código abierto para álgebra informática y computación relacionada. Aunque Sympy y SAGE comparten código libremente entre ellos, SAGE es una compilación especializada del kernel de Python para facilitar la integración profunda con las bibliotecas subyacentes. Por lo tanto, no es una solución de Python pura para álgebra informática (es decir, no es tan portátil) y es un superconjunto adecuado de Python con su propia sintaxis extendida. La elección entre SAGE y Sympy realmente depende de si tiene la intención de trabajar principalmente en SAGE o simplemente necesita soporte de álgebra computacional ocasional en su código Python existente.


Un nuevo desarrollo importante con respecto a SAGE es SAGE Cloud ( https://cloud.sagemath.com/ ) disponible gratuitamente , patrocinado por la Universidad de Washington, que le permite utilizar SAGE por completo en el navegador sin configuración adicional. Tanto SAGE como Sympy ofrecen una estrecha integración con Jupyter Notebook para la composición tipográfica matemática en el navegador utilizando MathJaX.


Para comenzar con Sympy, debe importar el módulo como de costumbre,


code

que puede tardar un poco porque es un paquete grande. El siguiente paso es crear una variable Sympy como se muestra a continuación:


code

Ahora podemos manipular esto usando funciones Sympy y lógica Python como se muestra a continuación


code

Ahora, podemos encontrar las raíces de este polinomio usando funciones de Sympy,


code

También hay una función sympy.roots que proporciona el mismo resultado pero como un diccionario.


code

También podemos tener más de un elemento simbólico en cualquier expresión como en la siguiente:


code

que es la fórmula cuadrática habitual para las raíces. Sympy también proporciona muchas funciones matemáticas diseñadas para trabajar con variables Sympy. Por ejemplo,


code

Podemos expandir esto usando expand_complex para obtener lo siguiente:


code

lo que nos da la fórmula de Euler para el exponencial complejo. Tenga en cuenta que Sympy no sabe si a es en sí mismo un número complejo. Podemos arreglar esto haciendo que ese hecho sea parte de la construcción de a como se muestra a continuación:


code

Note la salida mucho más simple esta vez porque hemos forzado la condición adicional en a .


Una forma poderosa de usar Sympy es construir expresiones complicadas que luego puedas evaluar usando Numpy a través del método lambdify . Por ejemplo,


code

Después de crear la función Numpy con lambdify , puede usar matrices Numpy como entrada como se muestra


code

Podemos obtener el mismo resultado usando Sympy, pero eso requiere la lógica de programación adicional que se muestra para hacer la vectorización que Numpy realiza de forma nativa.


Una vez más, simplemente hemos arañado la superficie de lo que Sympy es capaz de hacer y el tutorial interactivo en línea es el mejor lugar para aprender más. Sympy también permite la composición tipográfica matemática automática dentro del Jupyter Notebook usando L A T E X para que los cuadernos así construidos parezcan casi listos para publicación (ver sympy.latex ) y se pueden hacer con el comando jupyter nbconvert . Esto hace que sea más fácil saltar la brecha cognitiva entre el código Python y la simbología de las matemáticas tradicionales.


JeshuaNomics

JeshuaNomics - DataScience es una web de divulgación donde se puede encontrar material formativo en ciencia de datos y programación estadística (R, Python y SQL).

Publicar un comentario (0)
Artículo Anterior Artículo Siguiente