SymPy - symboliczne obliczenia

Obliczenia symboliczne odnoszą się do opracowywania algorytmów manipulowania wyrażeniami matematycznymi i innymi obiektami matematycznymi. Obliczenia symboliczne integrują matematykę z informatyką, aby rozwiązywać wyrażenia matematyczne za pomocą symboli matematycznych. System algebry komputerowej (CAS), taki jak SymPy, oblicza wyrażenia algebraiczne dokładnie (nie w przybliżeniu) przy użyciu tych samych symboli, które są używane w tradycyjnej metodzie ręcznej. Na przykład obliczamy pierwiastek kwadratowy z liczby za pomocą modułu matematycznego Pythona, jak podano poniżej -

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

Dane wyjściowe dla powyższego fragmentu kodu są następujące -

5.0 2.6457513110645907

Jak widać, w przybliżeniu obliczany jest pierwiastek kwadratowy z 7. Ale w SymPy pierwiastki kwadratowe liczb, które nie są idealnymi kwadratami, są domyślnie nieoceniane, jak podano poniżej -

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

Dane wyjściowe dla powyższego fragmentu kodu są następujące -

sqrt(7)

Możliwe jest uproszczenie i symboliczne przedstawienie wyniku wyrażenia za pomocą poniższego fragmentu kodu -

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

Dane wyjściowe dla powyższego fragmentu kodu są następujące -

3.4641016151377544

Musisz użyć poniższego fragmentu kodu, aby wykonać to samo za pomocą sympy -

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

Wynik tego jest następujący -

2*sqrt(3)

Kod SymPy, po uruchomieniu w notatniku Jupyter, wykorzystuje bibliotekę MathJax do renderowania symboli matematycznych w postaci LatEx. Jest to pokazane w poniższym fragmencie kodu -

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

Po wykonaniu powyższego polecenia w powłoce Pythona wygenerowane zostaną następujące dane wyjściowe -

Integral(x**x, x)

Co jest równoważne

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

Pierwiastek kwadratowy z niedoskonałego kwadratu można przedstawić za pomocą lateksu w następujący sposób za pomocą tradycyjnego symbolu -

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

Dane wyjściowe dla powyższego fragmentu kodu są następujące -

$ \ sqrt7 $

Symboliczny system obliczeniowy, taki jak SymPy, wykonuje wszystkie rodzaje obliczeń (takich jak pochodne, całki i granice, rozwiązuje równania, pracuje z macierzami). Pakiet SymPy ma różne moduły obsługujące kreślenie, drukowanie (jak LATEX), fizykę, statystykę, kombinatorykę, teorię liczb, geometrię, logikę itp.