SymPy
![]() ![]() | |||||||
Tipus | biblioteca Python, Sistema Algebraic Computacional i programari lliure ![]() | ||||||
---|---|---|---|---|---|---|---|
Versió inicial | 2007 ![]() | ||||||
Versió estable | 1.13.2 (11 agost 2024) ![]() | ||||||
Llicència | llicència BSD de 3 clàusules ![]() | ||||||
Característiques tècniques | |||||||
Sistema operatiu | Unix-like ![]() | ||||||
Escrit en | Python ![]() | ||||||
Equip | |||||||
Desenvolupador(s) | comunitat SymPy | ||||||
Fonts de codi
| |||||||
Més informació | |||||||
Lloc web | sympy.org (anglès) ![]() | ||||||
Stack Exchange | Etiqueta ![]() | ||||||
Seguiment d'errors | Seguiment d'errors ![]() | ||||||
| |||||||
![]() ![]() ![]() |
SymPy és una biblioteca escrita en Python l'objectiu és reunir totes les característiques d'un sistema d'àlgebra computacional (conegut per les sigles en anglès CAS, Computational Algebraic System), ser fàcilment extensible i mantenir el codi tot el simple que sigui possible. SymPy no requereix cap biblioteca externa, excepte per a suport gràfic.
Característiques
En la seva funcionalitat podem distingir entre:
- Capacitats bàsiques, que inclouen:
- Maneig d'enters de precisió arbitrària i de nombres racionals,
- Simplificació bàsica, expansió, substitució bàsica,
- Maneig de funcions sobre el cos dels complexos,
- Derivació, expansió en sèries de Taylor o de Laurent,
- Símbols no commutatius.
- Mòduls que incorporen aquestes tasques:
- Més funcions (factorial, zeta, Legendre, etc.),
- Límits,
- Integració,
- Divisibilitat i factorització de polinomis,
- Resolució d'equacions algebraiques, diferencials i sistemes,
- Operacions amb matrius simbòliques,
- Àlgebra de Dirac i de Pauli,
- Representació gràfica (en 2D i en 3D).
- Paquets externs:
- Symbide: GUI en PyGTK
Exemple d'ús
Noteu que, en contrast amb altres CAS, cal declarar les variables simbòliques abans d'utilitzar-les.
>>> from sympy import * >>> x,y = symbols('xy') #Es declaren les variables simbòliques >>> f = x**2 / y + 2 * x - ln(y) >>> diff(f,x) 2 + 2*x/y >>> f.diff(x) #Notació alternativa per a mètodes com la derivació i altres operadors 2 + 2*x/y >>> diff(f,y) -1/y - x**2*y**(-2) >>> integrate(exp(-x), (x, 0, oo)) #oo és la classe que representa infinit 1
Referències
Enllaços externs
- SymPy - Lloc web oficial
- Planeta SymPy