【发布时间】:2016-01-06 18:11:43
【问题描述】:
在 Sympy 中,可以定义符号可能取值的约束
x = symbols('x', real=True)
是否可以说一个符号只能在某个范围内取值,比如-1 < x < 1?我对此感兴趣的原因是因为我试图让 sympy 自动简化如下表达式
expr = sqrt(1+x) * sqrt((1-x)*(1+x)) / sqrt(1-x)
运行simplify(expr) 不会产生简化,而当-1<x<1 运行时,简化结果应该是1+x。如何获得同情以简化上述表达式?
【问题讨论】:
-
您可以使用新的样式假设声明 Q.positive(x+1) & Q.positive(x-1)。不幸的是,新假设尚未与推理规则相关联,因此它们目前毫无用处。另请注意,在这种情况下,简化会忽略假设,否则会太慢。