SymPy - Tính toán tượng trưng
Tính toán biểu tượng đề cập đến việc phát triển các thuật toán để thao tác các biểu thức toán học và các đối tượng toán học khác. Tính toán biểu tượng tích hợp toán học với khoa học máy tính để giải quyết các biểu thức toán học bằng cách sử dụng các ký hiệu toán học. Hệ thống Đại số Máy tính (CAS) chẳng hạn như SymPy đánh giá các biểu thức đại số chính xác (không gần đúng) bằng cách sử dụng các ký hiệu tương tự được sử dụng trong phương pháp thủ công truyền thống. Ví dụ: chúng tôi tính căn bậc hai của một số bằng mô-đun toán học của Python như được đưa ra bên dưới:
>>> import math
>>> print (math.sqrt(25), math.sqrt(7))
Đầu ra cho đoạn mã trên như sau:
5.0 2.6457513110645907
Như bạn thấy, căn bậc hai của 7 được tính gần đúng. Nhưng trong SymPy căn bậc hai của các số không phải là bình phương hoàn hảo được để mặc định không được đánh giá như cho dưới đây:
>>> import sympy
>>> print (sympy.sqrt(7))
Đầu ra cho đoạn mã trên như sau:
sqrt(7)
Có thể đơn giản hóa và hiển thị kết quả của biểu thức một cách tượng trưng bằng đoạn mã bên dưới:
>>> import math
>>> print (math.sqrt(12))
Đầu ra cho đoạn mã trên như sau:
3.4641016151377544
Bạn cần sử dụng đoạn mã dưới đây để thực thi tương tự bằng cách sử dụng giao hưởng -
##sympy output
>>> print (sympy.sqrt(12))
Và đầu ra cho điều đó như sau:
2*sqrt(3)
Mã SymPy, khi chạy trong sổ ghi chép Jupyter, sử dụng thư viện MathJax để hiển thị các ký hiệu toán học ở dạng LatEx. Nó được hiển thị trong đoạn mã dưới đây -
>>> from sympy import *
>>> x=Symbol ('x')
>>> expr = integrate(x**x, x)
>>> expr
Khi thực hiện lệnh trên trong python shell, kết quả sau sẽ được tạo:
Integral(x**x, x)
Tương đương với
$ \ int \ mathrm {x} ^ {x} \, \ mathrm {d} x $
Căn bậc hai của một hình vuông không hoàn hảo có thể được biểu diễn bằng Latex như sau bằng cách sử dụng ký hiệu truyền thống:
>>> from sympy import *
>>> x=7
>>> sqrt(x)
Đầu ra cho đoạn mã trên như sau:
$ \ sqrt7 $
Một hệ thống tính toán tượng trưng như SymPy thực hiện tất cả các loại tính toán (chẳng hạn như đạo hàm, tích phân và giới hạn, giải phương trình, làm việc với ma trận) một cách tượng trưng. Gói SymPy có các mô-đun khác nhau hỗ trợ vẽ đồ thị, in (như LATEX), vật lý, thống kê, tổ hợp, lý thuyết số, hình học, logic, v.v.