Índice del contenido[Esconder][Espectáculo]
No hay forma de evitar las matemáticas, ya sea que sea un estudiante universitario o trabaje en ciencia de datos.
Incluso se podría argumentar que la ciencia de datos es un tipo de matemática/estadística aplicada. numpy, scipy, Scikit-Aprendery TensorFlow son solo algunas de las bibliotecas de Python que se ocupan de las matemáticas cuantitativamente.
Sin embargo, solo hay un competidor para tratar explícitamente con símbolos matemáticos: SymPy.
Averigüemos todo sobre SymPy.
Que es SymPy?
SymPy es una biblioteca matemática simbólica de Python. Aspira a ser un sistema de álgebra computacional (CAS) con todas las funciones, manteniendo el código lo más básico posible para que sea comprensible y fácilmente expandible.
Está completamente escrito en Python. Es fácil de usar ya que solo se basa en mpmath, una biblioteca de Python pura para la aritmética arbitraria de punto flotante.
Como biblioteca, se creó con un énfasis significativo en la usabilidad en mente. La extensibilidad es fundamental en el diseño de su interfaz de programa de aplicación (API).
Como resultado, no intenta mejorar el lenguaje Python. El objetivo es que los usuarios puedan utilizarlo junto con otros Bibliotecas de Python en su flujo de trabajo, ya sea en un entorno interactivo o como un componente programado de un sistema más grande.
SymPy, como biblioteca, carece de un gráfico integrado interfaz de usuario (GUI). la biblioteca es:
- Gratuito, tanto en lo que a discurso como a cerveza se refiere, ya que está licenciado bajo la licencia BSD.
- Basado en Python: Está totalmente desarrollado en Python y emplea Python como lenguaje.
- Ligero porque solo se basa en mpmath, un puro Biblioteca de Python para la aritmética arbitraria de punto flotante, haciéndolo fácil de usar.
- Puede incorporarse a otros programas y modificarse con funciones personalizadas además de utilizarse como herramienta interactiva.
¿Por qué usar SymPy?
Sage, un sistema de álgebra computacional, también emplea Python como lenguaje de programación. Sage, por otro lado, es enorme y requiere una descarga de más de un gigabyte. Tiene la ventaja de ser ligero.
Además de ser compacto, no tiene más dependencias que Python, lo que permite usarlo prácticamente en todas partes.
Además, los objetivos de Sage y SymPy no son los mismos. Sage aspira a ser un sistema matemático con todas las funciones, y lo hace combinando todos los principales sistemas matemáticos de código abierto en uno solo.
Cuando utiliza una función de Sage, como la integración, invoca uno de los paquetes de código abierto que contiene. En realidad, está integrado en Sage. SymPy, por otro lado, aspira a ser un sistema autónomo, con todas las funciones implementadas en él mismo.
Su capacidad para funcionar como biblioteca es una característica importante. Muchos sistemas de álgebra por computadora están destinados a ser utilizados en entornos interactivos, pero son difíciles de automatizar o expandir.
Puede usarse de forma interactiva en Python o importarse a su propio programa de Python. También tiene API para extenderlo fácilmente con sus propias rutinas.
Instalación de SymPy
Simplemente use el siguiente comando para instalarlo en su entorno.
Símbolos SymPy
¡Empecemos con eso ahora! Su objeto fundamental es un símbolo. En SymPy, puede generar un símbolo x escribiendo:
El código anterior genera el símbolo x. Los símbolos que contiene están destinados a emular símbolos matemáticos que representan valores desconocidos.
Como resultado, el siguiente cálculo se muestra a continuación:
Como se muestra arriba, el símbolo x funciona de manera similar a una cantidad desconocida. Si desea hacer muchos símbolos, escríbalos de la siguiente manera:
Creaste dos símbolos, y, y z, en el mismo momento en este caso. Estos símbolos ahora se pueden sumar, restar, multiplicar y dividir como se desee:
Funciones SymPy
1. función de simplificación()
El método sympify() transforma una expresión arbitraria en una expresión SymPy. Convierte objetos estándar de Python, como números enteros.
Las cadenas se transforman en sus expresiones, así como en números enteros, etc.
2. función evalf()
Esta función evalúa una expresión numérica especificada con una precisión de coma flotante de hasta 100 dígitos.
La función también acepta un objeto de diccionario con valores numéricos para símbolos como argumento secundario. Considere la siguiente frase:
La precisión de coma flotante se establece en 15 dígitos de forma predeterminada. Sin embargo, esto se puede cambiar a cualquier número entre 1 y 100.
La siguiente ecuación se evalúa con una precisión de 20 dígitos.
3. Función lambdificar()
Lambdify es una función que convierte sus expresiones en funciones de Python. El método evalf() es ineficaz cuando se evalúa una expresión en un amplio rango de valores.
Lambdify funciona de manera similar a una función lambda, excepto que traduce los nombres de SymPy a los nombres de la biblioteca numérica proporcionada, que generalmente es NumPy.
De forma predeterminada, Lambdify se aplica a las implementaciones de la biblioteca estándar de matemáticas.
Caracteristicas
Aquí se enumeran algunas de las características más significativas de la biblioteca; hay muchos más no incluidos, pero puedes consultarlos esta página.
1. Capacidades principales
- Aritmética fundamental: se admiten los operadores +, -, *, / y ** (potencia)
- Una expansión polinomial
- Enteros, racionales y flotantes con precisión arbitraria
- Funciones trigonométricas, hiperbólicas y exponenciales, raíces, logaritmos, valor absoluto, armónicos esféricos, factoriales y funciones gamma, funciones zeta, polinomios y funciones especiales
- Símbolos que no son conmutativos
- Patrones coincidentes
2. Cálculo
- Integración: este método emplea la heurística ampliada de Risch-Norman
- Diferenciación.
- Limitar funciones
- La serie de Laurent Taylor
3. Polinomios
- Fundaciones Gröbner
- Descomposición de fracciones parciales
- División, gcd Los resultados son ejemplos de aritmética básica.
4. Combinatoria
- permutaciones
- Códigos Gray y Prufer
- Combinaciones, Particiones, Subconjuntos
- Grupos de permutación poliédricos, rubik, simétricos y otros
5. Matemáticas discretas
- sumatorias
- Expresiones lógicas
- Coeficientes binomiales
- Teoría de los números
Aplicaciones
1. Calculadora de construcción
2. Sistemas computacionales de álgebra
A diferencia de otros sistemas de álgebra computacional, debe declarar manualmente las variables simbólicas usando la función Symbol().
3. Cálculo
La capacidad de un sistema de cómputo simbólico para hacer todo tipo de cómputos simbólicamente es su mayor fortaleza.
Puede simplificar declaraciones simbólicamente, calcular derivadas, integrales y límites, resolver ecuaciones, interactuar con matrices y hacer mucho más.
Para abrir el apetito, aquí tienes una muestra del poder simbólico.
¿Qué más puedes hacer con SymPy?
En lugar de hablar sobre temas adicionales en profundidad, permítame proporcionarle una lista de recursos para ayudarlo a mejorar sus habilidades:
- Matrices y Álgebra Lineal: Puede trabajar con matrices y realizar operaciones básicas de álgebra lineal. El lenguaje es similar a la sintaxis de NumPy. Sin embargo, hay diferencias notables. Para empezar investiga matrices en biblioteca.
- Expresión: Aprovecha un árbol de expresiones, que es una estructura basada en árboles, para realizar un seguimiento de las expresiones. Mirar árboles de expresión si quieres aprender más sobre su funcionamiento interno.
- Derivadas e Integrales: Puede lograr la mayor parte de lo que aprendería en una clase introductoria de cálculo (menos el pensamiento). Puede comenzar observando nuestra función diferenciación en SymPy.
- Relación con NumPy: NumPy y SymPy son bibliotecas relacionadas con las matemáticas. ¡Son, sin embargo, esencialmente diferentes! NumPy funciona con números, mientras que funciona con expresiones simbólicas.
- Simplificaciones: Es lo suficientemente inteligente como para simplificar automáticamente las expresiones. Sin embargo, si desea un control más detallado sobre esto, mire su simplificaciones.
Conclusión
SymPy es una poderosa biblioteca para matemáticas simbólicas.
Puede usarlo para crear variables y funciones, así como ampliar y simplificar simbólicamente enunciados matemáticos y resolver ecuaciones, desigualdades e incluso sistemas de ecuaciones/desigualdades.
Puede escribir las funciones tanto en el texto del script como directamente en la terminal (o Cuadernos Jupyter) para obtener una evaluación rápida y una mejor representación gráfica de los cálculos realizados.
¿Estás listo para explorar más de SymPy? Háganos saber en los comentarios.
Deje un comentario