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.

SymPy
Modifica el valor a Wikidata

Tipusbiblioteca Python, Sistema Algebraic Computacional i programari lliure Modifica el valor a Wikidata
Versió inicial2007 Modifica el valor a Wikidata
Versió estable
1.12 (10 maig 2023) Modifica el valor a Wikidata
Llicènciallicència BSD de 3 clàusules Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuUnix-like Modifica el valor a Wikidata
Escrit enPython Modifica el valor a Wikidata
Equip
Desenvolupador(s)comunitat SymPy
Més informació
Lloc websympy.org (anglès) Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata
Seguiment d'errorsSeguiment d'errors Modifica el valor a Wikidata

Twitter (X): SymPy GitHub: sympy Modifica el valor a Wikidata

Característiques modifica

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 modifica

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 modifica

Enllaços externs modifica