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.