SymPy
From Wikipedia, the free encyclopedia
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.
Tipo de programa
biblioteca de Python
Desarrollador
Grupo independiente de personas
Lanzamiento inicial
2007
| 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.14.027 de abril de 2025 | |
| 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