SymPy là một thư viện mã nguồn mở miễn phí bằng Python, được sử dụng cho tính toán tượng trưng và toán học. Trong hướng dẫn này, chúng tôi sẽ đề cập đến cách sử dụng hiệu quả Thư viện Python SymPy để thực hiện các phép toán trên các biểu thức, phép tính tượng trưng và các thuộc tính đại số khác nhau
Tính toán tượng trưng với SymPy
SymPy cho phép chúng tôi trình bày dữ liệu và giá trị theo một cách khác, chính xác 100%. Hãy cùng xem ví dụ sau
import math print[math.sqrt[7]]
2.6457513110645907
Điều này làm, là trả về giá trị gần đúng của căn bậc hai của 7. Nó không phải là một câu trả lời chính xác 100%. Bạn bao gồm càng nhiều chữ số thập phân, câu trả lời càng chính xác. Vì vậy, về mặt kỹ thuật, điều này sẽ không bao giờ là một đại diện chính xác
Bây giờ, hãy thử điều tương tự, nhưng thay vào đó với SymPy
import sympy print[sympy.sqrt[7]]
sqrt[7]
Những gì SymPy trả về ở đây, không phải là một giá trị toán học, mà là một biểu diễn tượng trưng cho sqrt của 7. Vì vậy, nó không bao giờ có thể là không chính xác. Ta có thể sử dụng cách biểu diễn kí hiệu này trong các phép tính khác, với độ chính xác cao hơn
Đây là một đoạn thú vị khác
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]
7.000000000000001
7
Chúng tôi đã lấy gốc sqrt của 7 với cả hai thư viện, sau đó áp dụng lũy thừa 2 trên cả hai. SymPy trả về giá trị chính xác, trong khi thư viện toán học thì không [vì nó hoạt động gần đúng]
Những điều thú vị khác mà SymPy có thể làm là trả lại các biểu diễn đơn giản hóa
sympy.sqrt[8]
2*sqrt[2]
Điều tiếp theo trong Hướng dẫn này là cách tạo và thao tác các biểu thức trong Python SymPy
Biểu thức toán học với SymPy
SymPy cung cấp cho chúng tôi khả năng tạo các biểu thức thực tế bằng cách sử dụng các biến [được gọi là ký hiệu trong SymPy]. Ví dụ: nếu bạn muốn biểu diễn phương trình
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]2 bằng Python, bạn sẽ làm như thế nào?
SymPy cung cấp cho chúng tôi khả năng tạo và xử lý các biểu thức như vậy thực sự có thể được sử dụng trong tính toán. Python SymPy có nhiều hàm khác nhau có thể thực hiện các hoạt động thực tế như phân biệt và tích hợp, đồng thời trả về biểu thức kết quả. [Chúng ta sẽ xem xét những điều này sau trong phần hướng dẫn]
Vì vậy, làm thế nào để chúng ta tạo ra một biểu thức như vậy? . Trước tiên, chúng tôi xác định một ký hiệu, đại diện cho một ẩn số/biến như “x” hoặc “y”
from sympy import symbols x, y = symbols["x y"]
Bây giờ chúng ta có thể sử dụng
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]3 và
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]4 để xây dựng các biểu thức. Không cần tạo chuỗi hay gì cả, cứ làm bình thường. Hãy thử một vài ví dụ
2.6457513110645907
2Sửa đổi biểu thức SymPy
Chúng ta thậm chí có thể làm những thứ thú vị như sửa đổi các biểu thức này, bằng cách cộng, trừ hoặc nhân các hằng số và các ký hiệu khác từ nó
2.6457513110645907
02.6457513110645907
1SymPy thậm chí sẽ tự động điều chỉnh các biểu thức khi bạn sửa đổi nó. Ví dụ: nếu bạn có một biểu thức
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]5 và bạn thêm
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]6 vào biểu thức đó, bạn có thể mong đợi nó chỉ được nối và trở thành
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]7. Nhưng không, SymPy sẽ tự động đơn giản hóa nó thành
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]8
Đây là một đoạn mã ngắn cho thấy điều này
2.6457513110645907
22.6457513110645907
3Thay thế các giá trị vào Biểu thức
Bây giờ chúng ta đã biết cách tạo và sửa đổi các biểu thức trong SymPy, hãy xem cách đánh giá chúng. Điều chúng ta cần làm ở đây là sử dụng hàm
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]9 để thay thế các ký hiệu bằng các giá trị số
2.6457513110645907
42.6457513110645907
5Bây giờ, hãy thử điều này cho một biểu thức có nhiều ẩn số
2.6457513110645907
62.6457513110645907
7Chúng tôi cũng có thể thay thế chúng bằng các biểu tượng khác, nếu đó là những gì chúng tôi muốn
2.6457513110645907
82.6457513110645907
9Giải phương trình với SymPy [tìm nghiệm nguyên]
Điều thú vị hơn nữa là SymPy có thể giải toàn bộ phương trình cho bạn theo đúng nghĩa đen và trả về [các] nghiệm. Không cần tự viết mã toàn bộ, chỉ cần sử dụng một hàm duy nhất cùng với biểu thức SymPy và danh sách [các] gốc sẽ được trả về
Hãy thử sử dụng SymPy
7.000000000000001
7
0 trên biểu thức 7.000000000000001
7
1import sympy print[sympy.sqrt[7]]0
import sympy print[sympy.sqrt[7]]1
Hãy thử điều này trên một biểu thức khác
import sympy print[sympy.sqrt[7]]2
import sympy print[sympy.sqrt[7]]3
Trong phần tiếp theo, chúng tôi sẽ đề cập đến một số thao tác như vậy và giải thích cách bạn có thể sử dụng chúng trong mã SymPy của mình
Lượng giác với SymPy
Lượng giác là một vấn đề khá quan trọng trong hầu hết Mathematica, vì vậy bạn có thể tự hỏi làm thế nào bạn có thể đưa các hàm lượng giác và đồng nhất thức vào trong các biểu thức toán học của mình. Hãy cùng xem
Đây là một biểu thức đơn giản,
7.000000000000001
7
2. Hãy cắm một vài giá trị, chỉ để xác minh đầu ra. [Các giá trị đầu vào này của x tính bằng radian]import sympy print[sympy.sqrt[7]]4
import sympy print[sympy.sqrt[7]]5
Như bạn có thể đã nhận thấy từ các lần nhập trong ví dụ mã trước, SymPy cho phép chúng tôi truy cập vào tất cả các biến thể khác nhau của các hàm lượng giác. “asin” đại diện cho sin nghịch đảo [arc sin], trong khi “sinh” đại diện cho sin hyperbol. Mô hình tương tự cũng áp dụng cho cos và tan
Một điều thú vị khác mà chúng ta có thể làm với SymPy, là đơn giản hóa các đồng nhất lượng giác. [Không cần phải ghi nhớ bất kỳ trong số họ nữa. ] SymPy sẽ tự động cố gắng đơn giản hóa bất kỳ biểu thức nào bạn chuyển vào hàm
7.000000000000001
7
3. Hãy xem xét một vài ví dụimport sympy print[sympy.sqrt[7]]6
import sympy print[sympy.sqrt[7]]7
Sự khác biệt và tích hợp trong SymPy
Chủ đề chính cuối cùng mà chúng ta sẽ thảo luận trong Hướng dẫn này là cách phân biệt và tích hợp các biểu thức trong Python SymPy
khác biệt hóa
Để phân biệt các biểu thức bằng SymPy, chúng ta có thể sử dụng phương thức
7.000000000000001
7
4 trên bất kỳ biểu thức nào Tùy thuộc vào loại tham số được truyền cho 7.000000000000001
7
4, nó sẽ trả về vi phân của biểu thức đóTham số đầu tiên cho
7.000000000000001
7
4 là biểu thức mà bạn muốn phân biệt. Tham số thứ hai là những gì bạn muốn đạo hàm đối với. e. g. “Đạo hàm theo x”Hãy xem xét một ví dụ
import sympy print[sympy.sqrt[7]]8
import sympy print[sympy.sqrt[7]]9
Nếu bạn muốn phân biệt một biểu thức nhiều lần, có hai cách để làm như vậy. Phương pháp đầu tiên đơn giản là bao gồm biểu tượng mà bạn muốn đạo hàm theo, nhiều lần
sqrt[7]
0sqrt[7]
1Ngoài ra, bạn có thể bao gồm một số nguyên “n” làm tham số sau biểu tượng và nó sẽ phân biệt “n” lần
sqrt[7]
2sqrt[7]
1Hơn nữa, bạn cũng có thể phân biệt đối với nhiều ký hiệu trong một hàm
7.000000000000001
7
4sqrt[7]
4sqrt[7]
5Tích hợp với SymPy
Đã đến lúc tích hợp với SymPy. Chúng ta hãy xem làm thế nào chúng ta có thể tích hợp các biểu thức toán học khác nhau và có được các dạng tích phân của chúng
Tương tự như cách hoạt động của sự khác biệt, chúng tôi có một chức năng tích hợp trong SymPy có tên là
7.000000000000001
7
8. Nó cũng nhận các tham số tương tự, đó là ký hiệu mà chúng ta muốn lấy tích phân biểu thức theoHãy xem xét một số ví dụ
sqrt[7]
6sqrt[7]
7Một biểu thức phức tạp hơn một chút được tích hợp
sqrt[7]
8sqrt[7]
9Đây là điều xảy ra khi bạn tích hợp một biểu thức có nhiều ký hiệu, chỉ với một trong các ký hiệu đó
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]0
import sympy import math print[math.pow[math.sqrt[7], 2]] print[sympy.sqrt[7] ** 2]1
Để biết thêm thông tin, hãy xem hướng dẫn chuyên dụng của chúng tôi về Phân biệt và Tích hợp với SymPy
Loạt bài hướng dẫn Python SymPy
Đó có phải là tất cả đối với SymPy không? . Có nhiều tính năng và chức năng nâng cao hơn chưa được đề cập.
Dưới đây là bảng phân tích đầy đủ về tất cả các khái niệm riêng lẻ mà chúng tôi đã trình bày trong Python SymPy trên trang web này, cùng với các liên kết đến các hướng dẫn chuyên dụng của họ
- Hướng dẫn cài đặt Python SymPy
- Biểu thức toán học trong SymPy
- Vi phân và tích phân trong SymPy
- Chuyển đổi chuỗi thành biểu thức SymPy
- Hàm lượng giác trong SymPy
- Ma trận trong SymPy
- Giới hạn với SymPy
Điều này đánh dấu sự kết thúc của Hướng dẫn Python SymPy. Mọi đề xuất hoặc đóng góp cho CodersLegacy đều được chào đón. Các câu hỏi liên quan đến nội dung hướng dẫn có thể hỏi ở phần bình luận bên dưới