SymPy - Truy vấn
Mô-đun giả định trong gói SymPy chứa các công cụ để trích xuất thông tin về các biểu thức. Mô-đun định nghĩa hàm ask () cho mục đích này.
sympy.assumptions.ask(property)
Các thuộc tính sau cung cấp thông tin hữu ích về một biểu thức:
algebraic(x)
Để trở thành đại số, một số phải là căn của một phương trình đa thức khác 0 với các hệ số hữu tỉ. √2 vì √2 là nghiệm của x2 - 2 = 0 nên nó là nghiệm đại số.
complex(x)
Vị ngữ số phức. Đúng khi và chỉ khi x thuộc tập hợp các số phức.
composite(x)
Vị từ số tổng hợp được trả về bởi ask (Q.composite (x)) là đúng nếu và chỉ khi x là số nguyên dương và có ít nhất một ước số dương khác 1 và chính số đó.
even, odd
Câu hỏi () trả về true của x nằm trong tập các số chẵn và tập các số lẻ tương ứng.
imaginary
Thuộc tính này đại diện cho vị từ số ảo. Đúng nếu x có thể viết dưới dạng số thực nhân với đơn vị ảo I.
integer
Thuộc tính này được trả về bởi Q.integer (x) trả về true của x thuộc tập hợp các số chẵn.
rational, irrational
Q.irrational (x) đúng nếu và chỉ khi x là bất kỳ số thực nào không thể được biểu thị dưới dạng tỷ lệ số nguyên. Ví dụ, pi là một số vô tỉ.
positive, negative
Dự đoán để kiểm tra xem số dương hay âm
zero, nonzero
Dự đoán xem một số có bằng 0 hay không
>>> from sympy import *
>>> x=Symbol('x')
>>> x=10
>>> ask(Q.algebraic(pi))
False
>>> ask(Q.complex(5-4*I)), ask( Q.complex(100))
(True, True)
>>> x,y=symbols("x y")
>>> x,y=5,10
>>> ask(Q.composite(x)), ask(Q.composite(y))
(False, True)
>>> ask(Q.even(x)), ask(Q.even(y))
(False, True)
>>> x,y= 2*I, 4+5*I
>>> ask(Q.imaginary(x)), ask(Q.imaginary(y))
(True, False)
>>> x,y=5,10
>>> ask(Q.even(x)), ask(Q.even(y)), ask(Q.odd(x)), ask(Q.odd(y))
(False, True, True, False)
>>> x,y=5,-5
>>> ask(Q.positive(x)), ask(Q.negative(y)), ask(Q.positive(x)), ask(Q.negative(y))
(True, True, True, True)
>>> ask(Q.rational(pi)), ask(Q.irrational(S(2)/3))
(False, False)
>>> ask(Q.zero(oo)), ask(Q.nonzero(I))
(False, False)