📅  最后修改于: 2020-11-05 04:42:41             🧑  作者: Mango
SymPy包中的假设模块包含用于提取有关表达式信息的工具。该模块为此定义了ask()函数。
sympy.assumptions.ask(property)
以下属性提供有关表达式的有用信息-
代数(x)
要进行代数运算,数字必须是具有有理系数的非零多项式方程的根。 √2因为√2是x2 − 2 = 0的解,所以它是代数的。
复数(x)
复数谓词。当且仅当x属于复数集合时,才为真。
复合(x)
当且仅当x是一个正整数并且具有至少一个除1以外的正除数和数字本身时,ask(Q.composite(x))返回的复合数字谓词才为true。
偶数,奇数
分别在偶数和奇数组中的ask()返回x的true。
假想
此属性表示虚数谓词。如果x可以写为乘以虚数单位I的实数,则为真。
整数
Q.integer(x)返回的此属性返回x的true属于偶数集。
理性的,非理性的
当且仅当x是任何不能表示为整数比的实数时,Q.irrational(x)才为true。例如,pi是一个无理数。
正负
谓词检查数字是正还是负
零,非零
如果数字为零,则断言为heck
>>> 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)