SymPy là một gói Python tính toán tượng trưng là mã nguồn mở. Nó có thể được sử dụng như một chương trình độc lập, một thư viện cho các ứng dụng khác hoặc như một ứng dụng trực tuyến trực tiếp có tên SymPy Live hoặc SymPy Gamma. Vì SymPy được viết hoàn toàn bằng Python và ít phụ thuộc nên việc cài đặt và điều tra rất đơn giản. SymPy là một hệ thống đại số máy tính có rào cản đầu vào thấp nhờ tính đơn giản trong sử dụng và một cơ sở mã đơn giản và có thể mở rộng được viết bằng một ngôn ngữ nổi tiếng. Từ số học biểu tượng cơ bản thông qua phép tính, đại số, toán học rời rạc và vật lý lượng tử, SymPy có tất cả. Nó có khả năng định dạng kết quả tính toán thành mã LaTeX
Để bắt đầu, SymPy hoàn toàn miễn phí. Nó là mã nguồn mở và được phát hành theo giấy phép BSD dễ dãi, cho phép bạn thay đổi và thậm chí bán mã nguồn. Điều này nổi bật so với các hệ thống thương mại phổ biến như Maple hoặc Mathematica, có giá hàng trăm đô la cho phần mềm và giấy phép. SymPy là phần mềm nguồn mở được phát hành theo giấy phép BSD mới. Ondrej Ertk và Aaron Meurer là những nhà phát triển chính. Nó được thành lập bởi Ondrej Erik vào năm 2005
Điện toán ký hiệu liên quan đến tính toán ký hiệu của các đối tượng toán học. Điều này ngụ ý rằng các đối tượng toán học được biểu diễn một cách chính xác chứ không phải đại khái và phương trình toán học với các biến không được đánh giá được để ở dạng ký hiệu. Thứ hai, SymPy được viết bằng Python. Phần lớn các hệ thống đại số máy tính tạo ra ngôn ngữ riêng của chúng
Không phải với SymPy. SymPy được viết hoàn toàn bằng Python và chạy hoàn toàn bằng Python. Điều này ngụ ý rằng nếu bạn đã biết Python, việc bắt đầu với SymPy sẽ dễ dàng hơn nhiều vì bạn đã biết cú pháp [và nếu bạn chưa biết, Python khá đơn giản để học]. Python đã là một ngôn ngữ được thiết kế tốt và đã được thử nghiệm trong trận chiến. Các nhà phát triển SymPy cảm thấy tự tin vào kỹ năng viết phần mềm toán học của họ, nhưng thiết kế ngôn ngữ máy tính lại là một vấn đề hoàn toàn khác. Chúng tôi có thể tập trung vào các khía cạnh quan trọng của toán học bằng cách sử dụng một ngôn ngữ hiện có
Sage là một hệ thống đại số máy tính khác sử dụng Python làm ngôn ngữ lập trình. Mặt khác, Sage lớn, yêu cầu tải xuống hơn một gigabyte. SymPy có ưu điểm là nhẹ. Nó không chỉ nhỏ mà còn không có phụ thuộc nào khác ngoài Python, cho phép nó được sử dụng thực tế ở mọi nơi. Hơn nữa, mục tiêu của Sage và SymPy không giống nhau
Sage mong muốn trở thành một hệ thống toán học đầy đủ tính năng, kết hợp tất cả các hệ thống toán học nguồn mở chính vào một gói duy nhất. Khi bạn sử dụng chức năng Sage, chẳng hạn như tích hợp, nó sẽ sử dụng một trong các gói nguồn mở mà nó cung cấp. Trên thực tế, SymPy được bao gồm trong Sage. Mặt khác, SymPy mong muốn trở thành một hệ thống độc lập với tất cả các chức năng được triển khai trong khuôn khổ. SymPy cũng có thể được sử dụng như một thư viện, đây là một tính năng quan trọng. Nhiều hệ thống đại số máy tính được thiết kế để sử dụng trong các tình huống tương tác, nhưng việc tự động hóa hoặc mở rộng chúng là một thách thức. Bạn có thể sử dụng SymPy trong môi trường Python tương tác hoặc nhập nó vào chương trình Python của riêng bạn một cách dễ dàng. SymPy cũng có các API cho phép dễ dàng thêm các chức năng tùy chỉnh của riêng bạn
Một số tính năng chính
- Thay thế. Thay thế là một trong những điều thường xuyên nhất mà bạn muốn thực hiện với một phương trình toán học. Thay thế thay đổi ý nghĩa của tất cả các trường hợp của một cái gì đó trong một cụm từ. Cách tiếp cận subs được sử dụng để làm điều này
- Chuyển đổi chuỗi thành biểu thức SymPy. Chức năng đơn giản hóa [đơn giản hóa, không bị nhầm lẫn với đơn giản hóa] có thể được sử dụng để chuyển đổi chuỗi thành biểu thức SymPy
- Lambdify. Đăng ký và phát triển rất hữu ích cho các đánh giá đơn giản, nhưng tồn tại các kỹ thuật hiệu quả hơn để đánh giá một biểu thức tại một số vị trí. Ví dụ: nếu bạn đánh giá một biểu thức ở một nghìn điểm, thì SymPy sẽ chậm hơn đáng kể so với mức cần thiết, đặc biệt nếu độ chính xác của máy mới là vấn đề quan trọng. Thay vào đó, bạn nên sử dụng các gói NumPy và SciPy. Hàm sửa đổi là cách đơn giản nhất để chuyển đổi biểu thức SymPy thành biểu thức có thể đánh giá bằng số. sửa đổi tương tự như hàm lambda, nhưng nó dịch tên SymPy thành tên của thư viện số đang được sử dụng, thường là NumPy
- in ấn. Có một số máy in có sẵn trong SymPy. Những cái phổ biến nhất là
- str
- srepr
- máy in đẹp ASCII
- Máy in đẹp Unicode
- Mủ cao su
- toán học
- chấm
Bây giờ chúng ta hãy xem mã của mô-đun sympy trong python
Mã số
đầu ra
please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 1 enter the integer whose square root you want to calculate 7 ?7??7 equals to 7 To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 2 enter the expression[linear] that you want to form with two variables 2*x + 5*y - 18*x + 34*y Expression is -16*var1 + 39*var2 To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 3 The trigno expression is exp[var1]*sin[var1] The differential expression is exp[var1]*sin[var1] + exp[var1]*cos[var1] To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 4 The trigno expression is exp[var2]*sin[var2] + exp[var2]*cos[var2] The integration expression is 2*exp[var2]*cos[var2] To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 5 Enter the values for the 2X2 matrix Enter values for the first row 3 8 Enter values for the second row 5 9 Matrix is Matrix[[[3, 8], [5, 9]]] Eigenvalues of the matrix are {13: 1, -1: 1} To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 5 Enter the values for the 2X2 matrix Enter values for the first row 1 9 Enter values for the second row 4 2 Matrix is Matrix[[[1, 9], [4, 2]]] Eigenvals of the matrix are {3/2 - sqrt[145]/2: 1, 3/2 + sqrt[145]/2: 1} To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 1 enter the integer whose square root you want to calculate 98 7??2?7??2 equals to 98 To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivative of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 5 Enter the values for the 2X2 matrix Enter values for the first row 500 600 Enter values for the second row 700 800 Matrix is Matrix[[[500, 600], [700, 800]]] Eigenvals of the matrix are {650 - 50*sqrt[177]: 1, 650 + 50*sqrt[177]: 1} To continue with code execution, type [y] otherwise [n]. y please choose any one of the operations from the listed below the list of operations:: 1. To use the sympy module for calculation of the square root. 2. To use the sympy module for generating dynamic expressions. 3. To use the sympy module to calculate the derivate of the trigonometric expressions. 4. To use the sympy module to calculate the integration of the trigonometric expressions. 5. To use the sympy module to calculate the eigenvalues of a matrix. 6. To exit from the code execution. 6
Trong đoạn mã được viết ở trên, chúng ta đã gọi các hàm khác nhau mà chúng ta đã viết, mỗi hàm đại diện cho một trường hợp sử dụng khác nhau của mô-đun này do Python cung cấp.
Thuận lợi
- Để bắt đầu, SymPy hoàn toàn miễn phí. Nó là mã nguồn mở và được phát hành theo giấy phép BSD dễ dãi, cho phép bạn thay đổi và thậm chí bán mã nguồn. Điều này trái ngược với các hệ thống thương mại phổ biến như Maple hoặc Mathicala, có phí bản quyền lên tới hàng trăm đô la
- Thứ hai, SymPy được viết bằng Python. Phần lớn các hệ thống đại số máy tính tạo ra ngôn ngữ riêng của chúng. Không phải với SymPy. SymPy được viết hoàn toàn bằng Python và chạy hoàn toàn bằng Python. Điều này ngụ ý rằng nếu bạn đã biết Python, việc bắt đầu với SymPy sẽ dễ dàng hơn nhiều vì bạn đã biết cú pháp [và nếu bạn chưa biết, việc học Python thực sự đơn giản]. Python đã là một ngôn ngữ được thiết kế tốt và đã được thử nghiệm trong trận chiến. Các nhà phát triển SymPy cảm thấy tự tin vào kỹ năng viết phần mềm toán học của họ, nhưng thiết kế ngôn ngữ máy tính lại là một vấn đề hoàn toàn khác. Chúng tôi có thể tập trung vào các khía cạnh quan trọng của toán học bằng cách sử dụng một ngôn ngữ hiện có
- Sage, một hệ thống đại số máy tính khác, được viết bằng Python. Mặt khác, Sage khá lớn, cần hơn một gigabyte để tải xuống. SymPy có ưu điểm là nhẹ. Nó có thể được sử dụng thực tế ở mọi nơi vì nó rất nhỏ và không có yêu cầu nào khác ngoài Python. Hơn nữa, mục tiêu của Sage và SymPy không giống nhau. Sage mong muốn trở thành một hệ thống toán học hoàn chỉnh, kết hợp tất cả các hệ thống toán học nguồn mở chính thành một. Sage sử dụng một trong các gói mã nguồn mở chứa trong đó khi bạn sử dụng một chức năng, chẳng hạn như tích hợp. Sage bao gồm SymPy theo mặc định. Ngược lại, SymPy. Sage mong muốn trở thành một hệ thống toán học đầy đủ tính năng, kết hợp tất cả các hệ thống toán học nguồn mở chính vào một gói duy nhất. Khi bạn sử dụng chức năng Sage, chẳng hạn như tích hợp, nó sẽ sử dụng một trong các gói nguồn mở mà nó cung cấp. Trên thực tế, SymPy được bao gồm trong Sage. Mặt khác, SymPy mong muốn trở thành một hệ thống độc lập với tất cả các chức năng được triển khai trong khuôn khổ
- SymPy cũng có thể được sử dụng như một thư viện, đây là một tính năng quan trọng. Nhiều hệ thống đại số máy tính được thiết kế để sử dụng trong các tình huống tương tác, nhưng việc tự động hóa hoặc mở rộng chúng là một thách thức. Bạn có thể sử dụng SymPy trong môi trường Python tương tác hoặc nhập nó vào chương trình Python của riêng bạn một cách dễ dàng. SymPy cũng có các API cho phép thêm các chức năng tùy chỉnh của bạn một cách đơn giản
- Maxima là hệ thống đại số máy tính phần mềm tự do, mục đích chung tiêu chuẩn trong nhiều năm. Mặc dù nhiều học viên vẫn thích Python hơn, SymPy tương đối mới đã trở nên phổ biến trong thập kỷ qua. Điều này là do nhiều nguyên nhân, bao gồm cả việc kết hợp nó trong các gói khác, chẳng hạn như Sage, một hệ thống khổng lồ đóng gói và cung cấp giao diện chung cho nhiều sản phẩm phần mềm số, đồ họa và biểu tượng
Vì vậy, trong bài viết này, chúng tôi đã hiểu cách sử dụng mô-đun Sympy trong python và hiểu các trường hợp sử dụng mà chúng tôi có thể sử dụng mô-đun này để thực hiện các hoạt động toán học khác nhau