我正在使用 SymPy 在 Python 中对非常大的表达式进行符号操作。我正在处理的大多数符号表示小于或等于 1 的非负实数。
我如何告诉 SymPy 这些假设?我发现我可以在创建符号时执行以下操作。
import sympy as sym
x = sym.symbols('x', real=True, nonnegative=True)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何强加一个的上限。
小智 7
不幸的是,当前实施的假设系统没有提供施加这种界限的方法。出于某些目的,引入隐含边界的代数结构可能是合理的:例如,
t = sym.symbols('t', nonnegative=True)
x = t/(1+t)
Run Code Online (Sandbox Code Playgroud)
现在 SymPy 知道 x 在 0 和 1 之间:
>>> x < 1
True
>>> x >= 0
True
Run Code Online (Sandbox Code Playgroud)
这是否有帮助取决于这种替换您正在使用的表达式的自然程度。另一种选择是x = sym.exp(-t)
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |