SymPy - Calcolo simbolico

Il calcolo simbolico si riferisce allo sviluppo di algoritmi per la manipolazione di espressioni matematiche e altri oggetti matematici. Il calcolo simbolico integra la matematica con l'informatica per risolvere espressioni matematiche utilizzando simboli matematici. Un Computer Algebra System (CAS) come SymPy valuta le espressioni algebriche esattamente (non approssimativamente) utilizzando gli stessi simboli utilizzati nel metodo manuale tradizionale. Ad esempio, calcoliamo la radice quadrata di un numero utilizzando il modulo matematico di Python come indicato di seguito:

>>> import math 
>>> print (math.sqrt(25), math.sqrt(7))

L'output per lo snippet di codice sopra è il seguente:

5.0 2.6457513110645907

Come puoi vedere, la radice quadrata di 7 viene calcolata approssimativamente. Ma in SymPy le radici quadrate dei numeri che non sono quadrati perfetti vengono lasciati non valutati per impostazione predefinita come indicato di seguito:

>>> import sympy 
>>> print (sympy.sqrt(7))

L'output per lo snippet di codice sopra è il seguente:

sqrt(7)

È possibile semplificare e mostrare il risultato dell'espressione simbolicamente con lo snippet di codice seguente:

>>> import math
>>> print (math.sqrt(12))

L'output per lo snippet di codice sopra è il seguente:

3.4641016151377544

È necessario utilizzare lo snippet di codice seguente per eseguire lo stesso utilizzando sympy -

##sympy output 
>>> print (sympy.sqrt(12))

E l'output per questo è il seguente:

2*sqrt(3)

Il codice SymPy, se eseguito nel notebook Jupyter, utilizza la libreria MathJax per eseguire il rendering dei simboli matematici in formato LatEx. È mostrato nello snippet di codice seguente:

>>> from sympy import * 
>>> x=Symbol ('x') 
>>> expr = integrate(x**x, x) 
>>> expr

Eseguendo il comando precedente nella shell python, verrà generato il seguente output:

Integral(x**x, x)

Che è equivalente a

$ \ int \ mathrm {x} ^ {x} \, \ mathrm {d} x $

La radice quadrata di un quadrato non perfetto può essere rappresentata da Latex come segue utilizzando il simbolo tradizionale:

>>> from sympy import * 
>>> x=7 
>>> sqrt(x)

L'output per lo snippet di codice sopra è il seguente:

$ \ sqrt7 $

Un sistema di calcolo simbolico come SymPy esegue tutti i tipi di calcoli (come derivate, integrali e limiti, risolve equazioni, lavora con matrici) simbolicamente. Il pacchetto SymPy ha diversi moduli che supportano il plottaggio, la stampa (come LATEX), la fisica, la statistica, la combinatoria, la teoria dei numeri, la geometria, la logica, ecc.