问#
用于查询有关假设的sypy对象的模块。
- sympy.assumptions.ask.ask(proposition, assumptions=True, context={})[源代码]#
Function to evaluate the proposition with assumptions.
- 参数:
proposition : Boolean
Proposition which will be evaluated to boolean value. If this is not
AppliedPredicate
, it will be wrapped byQ.is_true
.assumptions : Boolean, optional
Local assumptions to evaluate the proposition.
context : AssumptionsContext, optional
Default assumptions to evaluate the proposition. By default, this is
sympy.assumptions.global_assumptions
variable.- 返回:
True
,False
, orNone
- 加薪:
TypeError : proposition or assumptions is not valid logical expression.
ValueError : assumptions are inconsistent.
解释
This function evaluates the proposition to
True
orFalse
if the truth value can be determined. If not, it returnsNone
.It should be discerned from
refine()
which, when applied to a proposition, simplifies the argument to symbolicBoolean
instead of Python built-inTrue
,False
orNone
.Syntax
- 提问(命题)
Evaluate the proposition in global assumption context.
- 提问(命题、假设)
Evaluate the proposition with respect to assumptions in global assumption context.
实例
>>> from sympy import ask, Q, pi >>> from sympy.abc import x, y >>> ask(Q.rational(pi)) False >>> ask(Q.even(x*y), Q.even(x) & Q.integer(y)) True >>> ask(Q.prime(4*x), Q.integer(x)) False
If the truth value cannot be determined,
None
will be returned.>>> print(ask(Q.odd(3*x))) # cannot determine unless we know x None
ValueError
is raised if assumptions are inconsistent.>>> ask(Q.integer(x), Q.even(x) & Q.odd(x)) Traceback (most recent call last): ... ValueError: inconsistent assumptions Q.even(x) & Q.odd(x)
笔记
假设中的关系还没有实现,所以下面的结果不会有意义。
>>> ask(Q.positive(x), x > 0)
然而,这是一项正在进行的工作。
参见
sympy.assumptions.refine.refine
Simplification using assumptions. Proposition is not reduced to
None
if the truth value cannot be determined.