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.