问¶
用于查询 SymPy 对象关于假设的模块。
- class sympy.assumptions.ask.AssumptionKeys[源代码][源代码]¶
此类包含
ask
支持的所有键。应通过实例sympy.Q
访问。- 属性:
- 代数
- 反厄米
- 交换性
- 复杂
- 复杂元素
- 复合
- 对角线
- eq
- 甚至
- extended_negative
- extended_nonnegative
- extended_nonpositive
- extended_nonzero
- 扩展正面
- extended_real
- 有限
- fullrank
- ge
- gt
- 厄米特
- 虚构的
- 无限
- 整数
- 整数元素
- 可逆的
- 非理性
- is_true
- le
- 下三角
- lt
- 不
- 负面的
- 负无穷
- 非整数
- 非负
- 非正数
- 非零
- 正常
- 奇数
- 正交
- 积极的
- 正定
- 正无穷
- 质数
- 理性
- 真实
- 真实元素
- 单数
- 平方
- 对称
- 先验的
- 三角形
- unit_triangular
- 单一的
- 上三角
- 零
- sympy.assumptions.ask.ask(proposition, assumptions=True, context={})[源代码][源代码]¶
用于评估带有假设的命题的函数。
- 参数:
- 命题布尔值
将被评估为布尔值的命题。如果这不是
AppliedPredicate
,它将被Q.is_true
包装。- 假设布尔值,可选
评估 命题 的本地假设。
- 上下文AssumptionsContext,可选
评估 命题 的默认假设。默认情况下,这是
sympy.assumptions.global_assumptions
变量。
- 返回:
True
,False
, 或None
- Raises:
- TypeError : 命题 或 假设 不是有效的逻辑表达式。命题或假设不是有效的逻辑表达式。
- ValueError假设不一致。
参见
sympy.assumptions.refine.refine
使用假设进行简化。如果无法确定真值,命题不会被简化为
None
。
注释
假设中的关系尚未实现(目前),因此以下内容不会产生有意义的结果。
>>> ask(Q.positive(x), x > 0)
然而,这是一个正在进行的工作。
示例
>>> 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
如果无法确定真值,将返回
None
。>>> print(ask(Q.odd(3*x))) # cannot determine unless we know x None
如果假设不一致,则会引发
ValueError
。>>> ask(Q.integer(x), Q.even(x) & Q.odd(x)) Traceback (most recent call last): ... ValueError: inconsistent assumptions Q.even(x) & Q.odd(x)