SymPy - Lớp chức năng

Gói Sympy có lớp Chức năng, được định nghĩa trong mô-đun Sympy.core. Chức năng. Nó là một lớp cơ sở cho tất cả các hàm toán học được áp dụng, cũng như một phương thức khởi tạo cho các lớp hàm không xác định.

Các loại hàm sau được kế thừa từ lớp Hàm:

  • Các hàm cho số phức
  • Hàm lượng giác
  • Các hàm cho số nguyên
  • Chức năng kết hợp
  • Các chức năng khác

Các hàm cho số phức

Bộ chức năng này được định nghĩa trong sympy.functions.elementary.complexes mô-đun.

re

Hàm này trả về một phần thực của một biểu thức -

>>> from sympy import * 
>>> re(5+3*I)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

5

>>> re(I)

Đầu ra cho đoạn mã trên là -

0

Im

Hàm này trả về phần ảo của một biểu thức -

>>> im(5+3*I)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

3

>>> im(I)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

1

sign

Hàm này trả về dấu phức của một biểu thức.

Đối với biểu thức thực, dấu hiệu sẽ là:

  • 1 nếu biểu thức là số dương
  • 0 nếu biểu thức bằng 0
  • -1 nếu biểu thức là âm

Nếu biểu thức là ảo thì dấu được trả về là:

  • I if im (biểu thức) là tích cực
  • -Tôi nếu im (biểu thức) là âm
>>> sign(1.55), sign(-1), sign(S.Zero)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(1, -1, 0)

>>> sign (-3*I), sign(I*2)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(-I, I)

Abs

Hàm này trả về giá trị tuyệt đối của một số phức. Nó được định nghĩa là khoảng cách giữa điểm gốc (0,0) và điểm (a, b) trong mặt phẳng phức. Hàm này là một phần mở rộng của hàm abs () tích hợp sẵn để chấp nhận các giá trị tượng trưng.

>>> Abs(2+3*I)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

$\sqrt13$

conjugate

Hàm này trả về liên hợp của một số phức. Để tìm liên hợp phức chúng ta đổi dấu của phần ảo.

>>> conjugate(4+7*I)

Bạn nhận được kết quả đầu ra sau khi thực hiện đoạn mã trên -

4 - 7i

Hàm lượng giác

SymPy có định hướng cho tất cả các tỷ lệ lượng giác - sin cos, tan, v.v. cũng như các đối số nghịch đảo của nó như asin, acos, atan, v.v. Các hàm này tính giá trị tương ứng cho góc đã cho được biểu thị bằng radian.

>>> sin(pi/2), cos(pi/4), tan(pi/6)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(1, sqrt(2)/2, sqrt(3)/3)

>>> asin(1), acos(sqrt(2)/2), atan(sqrt(3)/3)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(pi/2, pi/4, pi/6)

Các hàm trên số nguyên

Đây là một tập hợp các hàm để thực hiện các phép toán khác nhau trên số nguyên.

ceiling

Đây là một hàm đơn biến trả về giá trị số nguyên nhỏ nhất không nhỏ hơn đối số của nó. Trong trường hợp số phức, trần của phần thực và phần ảo riêng biệt.

>>> ceiling(pi), ceiling(Rational(20,3)), ceiling(2.6+3.3*I)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(4, 7, 3 + 4*I)

floor

Hàm này trả về giá trị số nguyên lớn nhất không lớn hơn đối số của nó. Trong trường hợp số phức, hàm này cũng lấy tầng của phần thực và phần ảo riêng biệt.

>>> floor(pi), floor(Rational(100,6)), floor(6.3-5.9*I)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(3, 16, 6 - 6*I)

frac

Hàm này đại diện cho phần phân số của x.

>>> frac(3.99), frac(Rational(10,3)), frac(10)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

(0.990000000000000, 1/3, 0)

Chức năng kết hợp

Tổ hợp là một lĩnh vực toán học liên quan đến các vấn đề về lựa chọn, sắp xếp và hoạt động trong một hệ thống hữu hạn hoặc rời rạc.

factorial

Giai thừa rất quan trọng trong tổ hợp, nó cung cấp số cách mà n đối tượng có thể được hoán vị. Nó được biểu thị bằng! Hàm này thực hiện chức năng giai thừa trên các số nguyên không âm, giai thừa của một số nguyên âm là phức vô cùng.

>>> x=Symbol('x') 
>>> factorial(x)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

x!

>>> factorial(5)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

120

>>> factorial(-1)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

$\infty\backsim$

nhị thức

Hàm này có số cách chúng ta có thể chọn k phần tử từ tập hợp n phần tử.

>>> x,y=symbols('x y') 
>>> binomial(x,y)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

$(\frac{x}{y})$

>>> binomial(4,2)

Đầu ra cho đoạn mã trên được đưa ra bên dưới:

6

Các hàng của tam giác Pascal có thể được tạo ra bằng hàm nhị thức.

>>> for i in range(5): print ([binomial(i,j) for j in range(i+1)])

Bạn nhận được kết quả đầu ra sau khi thực hiện đoạn mã trên -

[1]

[1, 1]

[1, 2, 1]

[1, 3, 3, 1]

[1, 4, 6, 4, 1]

fibonacci

Các số Fibonacci là dãy số nguyên được xác định bởi các số hạng ban đầu F0 = 0, F1 = 1 và quan hệ lặp lại hai số hạng Fn = Fn − 1 + Fn − 2.

>>> [fibonacci(x) for x in range(10)]

Kết quả sau nhận được sau khi thực thi đoạn mã trên:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

tribonacci

Các số Tribonacci là dãy số nguyên được xác định bởi các số hạng ban đầu F0 = 0, F1 = 1, F2 = 1 và quan hệ lặp lại ba số hạng Fn = Fn-1 + Fn-2 + Fn-3.

>>> tribonacci(5, Symbol('x'))

Đoạn mã trên cho kết quả tương đương với biểu thức bên dưới:

$x^8 + 3x^5 + 3x^2$

>>> [tribonacci(x) for x in range(10)]

Kết quả sau nhận được sau khi thực thi đoạn mã trên:

[0, 1, 1, 2, 4, 7, 13, 24, 44, 81]

Các chức năng khác

Sau đây là danh sách một số hàm thường được sử dụng:

Min- Trả về giá trị nhỏ nhất của danh sách. Nó được đặt tên là Min để tránh xung đột với hàm min tích hợp sẵn.

Max- Trả về giá trị lớn nhất của danh sách. Nó được đặt tên là Max để tránh xung đột với hàm max được tích hợp sẵn.

root - Trả về căn thứ n của x.

sqrt - Trả về căn bậc hai chính của x.

cbrt - Hàm này tính toán gốc khối chính của x, (phím tắt cho x ++ Rational (1,3)).

Sau đây là các ví dụ về các hàm linh tinh ở trên và kết quả đầu ra tương ứng của chúng:

>>> Min(pi,E)

e

>>> Max(5, Rational(11,2))

$\frac{11}{2}$

>>> root(7,Rational(1,2))

49

>>> sqrt(2)

$\sqrt2$

>>> cbrt(1000)

10