Quan amb Python volem treballar amb els elements de càlcul simbòlic sempre haurem de fer, en primer lloc la importació de la llibreria corresponent:
from sympy import *
Per tal que la visualització dels resultats dels càlculs sigui més visual et recomanem també executar:
init_printing(use_unicode=True)
Tal i com passa a Python, les variables no existeixen fins que no tenen un valor. Per tant, si volem emprar x
com a símbol a les nostres operacions haurem de definir-lo tot assignat-li un valor:
x=Symbol('x')
Per crear més d'un símbol alhora podem invocar dues vegades Symbol
o fer servir la funció symbols
. Per exemple:
x,h=symbols('x,h')
Per resoldre equacions emprarem la funció solve
. Per exemple
solve(x**2+x-2,x)
La funció limit
és la que farem servir per al càlcul de límits. Rep tres arguments:
oo
(dues o
minúscules seguides).Alguns exemples:
limit(sin(x)/x,x,0)
limit((1+2*x**2)/(x**2),x,oo)
El càlcul de derivades el farem amb la funció diff
que rep dos arguments:
Exemple:
diff(x*sin(x),x)
El càlcul d'integrals el fem mitjançant la funció integrate
que en la seva versió bàsica rep dos arguments: l'expressió a integrar i la variable respecte la qual s'ha d'integrar. Per exemple:
integrate(x**2,x)
Però també podem passar-li paràmetres d'integració. Això és fa amb la següents sintaxi:
integrate(expressió, (variable, mínim, màxim))
Exemples:
Ens podem trobar que volem substituir en una expressió un símbol per un altre. Per exemple, podem volar la x
per y
o, fins i tot, per un valor numèric. Emprarem el mètode subs
que té dos arguments: el símbol a substituir i el nou símbol. Vegem-ho amb un parell d'exemples:
No s'ha de confondre el mètode subs
del evalf
. El primer substitueix un símbol per un altre, mentre que el segon obté el valor numèric d'una expressió. Normalment, per saber el resultat numèric d'una expressió primer que depèn de símbols, primer substituirem els símbols pels valors que desitgem i després avaluarem. Per exemple:
evalf
pot rebre com a argument el nombre de decinamals que volem que retorni. Una aplicació curiosa seria obtenir el nombre pi amb 1000 decimals:
pi.evalf(1000)