SymPy
SymPy es una biblioteca escrita en Python cuyo objetivo es reunir todas las características de un sistema de álgebra computacional (CAS), ser fácilmente extensible y mantener el código todo lo simple que sea posible. SymPy no requiere ninguna biblioteca externa, salvo para soporte gráfico.
SymPy | ||
---|---|---|
Información general | ||
Tipo de programa | biblioteca de Python | |
Desarrollador | Grupo independiente de personas | |
Lanzamiento inicial | 2007 | |
Licencia | BSD | |
Información técnica | ||
Programado en | Python | |
Versiones | ||
Última versión estable | 1.314 de septiembre de 2018 | |
Enlaces | ||
Características
En su funcionalidad podemos distinguir entre:
- Capacidades básicas, que incluyen:
- manejo de enteros de precisión arbitraria y de números racionales,
- simplificación básica, expansión, sustitución básica,
- manejo de funciones sobre el cuerpo de los complejos,
- derivación, expansión en series de Taylor o de Laurent,
- símbolos no conmutativos.
- Módulos que incorporan estas tareas:
- más funciones (factorial, zeta, legendre, etc),
- límites,
- integración,
- divisibilidad y factorización de polinomios,
- resolución de ecuaciones algebraicas, diferenciales y sistemas,
- operaciones con matrices simbólicas,
- Álgebra de Dirac y de Pauli,
- Representación gráfica (en 2D y en 3D).
- O paquetes externos:
- symbide: GUI en PyGTK
Ejemplo de uso
Nótese que, en contraste con otros CAS, es necesario declarar las variables simbólicas antes de utilizarlas.
>>> from sympy import *
>>> x,y = symbols('x,y') #declaramos las variables simbolicas
>>> f = x**2 / y + 2 * x - ln(y)
>>> diff(f,x)
2 + 2*x/y
>>> f.diff(x) #notacion alternativa como metodos para derivacion y otros operadores
2 + 2*x/y
>>> diff(f,y)
-1/y - x**2*y**(-2)
>>> integrate(exp(-x), (x, 0, oo)) #oo es la clase que representa a infinito
1
Véase también
Enlaces externos
Este artículo ha sido escrito por Wikipedia. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.