Costruzione delle espressioni
Le espressioni matematiche si compongono utilizzando i simboli dichiarati, funzioni riconosciute da SymPy e numeri, combinati con gli operatori aritmetici del linguaggio Python (+ – */ **).
L’espressione può essere inserita in una variabile, creando così un oggetto espressione dotato di funzioni membro.
ESEMPIO
e = sin(x)**2 + cos(x)**2 - x + 2*x*y
crea l’oggetto e contenente l’espressione matematica
sin2(x) + cos2(x) − x + 2xy
Possiamo creare un’espressione da una stringa utilizzando la sintassi:
<nome_espressione> = sympify('<stringa>')
<nome_espressione> = sympify(<nome_stringa>)
Nel primo caso scriviamo la stringa tra le parentesi e tra apici: cosa che potevamo fare senza disturbare stringhe e sympify.
Nel secondo caso importiamo una variabile stringa già esistente con un suo nome.
from sympy import *
e = 'sin(x)**2 + cos(x)**2 - x + 2*x*y'
espr = sympify(e)
espr
sympify
con la funzione simplify
che, come vedremo, fa tutt’altre cose.La funzione sympify
Questa funzione ci dà modo di acquisire come espressione matematica elaborabile in SymPy un’espressione generata al di fuori di SymPy, per esempio introdotta dall’utente da tastiera come risposta all’invito di input da uno script Python.
Esempi:
e = sympify('4*x**2-5')
crea l’oggetto e contenente l’espressione matematica 4x2 − 5
e = sympify(formula)
crea l’oggetto e che contiene l’espressione contenuta in una stringa denominata formula.
Sostituzione di simboli
Le espressioni matematiche di SymPy sono immutabili.
E’ tuttavia possibile generare altre espressioni matematiche sostituendo un simbolo di una espressione matematica con un altro simbolo o valore numerico con la sintassi:
<espressione>.subs(<simbolo_da_sostituire>, <simbolo_o_valore_in_sostituzione>)
ESEMPIO
from sympy import *
e = sympify('4*x**2-5')
e
from sympy import *
x = Symbol('x')
y = Symbol('y')
e = sympify('4*x**2-5')
e = e.subs(x, y)
e