我想知道是否将此发表为评论,但它太长了:
简短的答案:不是可用的方式。
目前,SymPy的假设系统有点混乱(版本0.7.2,最新日期为2013年5月)。由于潜在的GSoC项目,今年夏天它可能会变得更好,但这还不确定。
SymPy中实际上有两个假设系统。旧的将假设添加到符号本身(因此会导致表达式树的重建问题)并在构造函数中调用(例如
Symbol(...,positive=True)),而新的则是基于全局变量的全局假设和新的。
with assume(...):本地经理的上下文管理器()。
SymPy中的许多功能确实会检查旧的假设(例如
Abs将检查是否
positive设置了关键字参数),但是仍然可能会遗漏。新的假设系统可能会更强大,但目前几乎未使用(最近的子模块中除外)。
在旧的假设系统中,您想要的是不可能的。在新版本中,它是可能的,但可能尚未实现,并且未在SymPy的任何部分中使用。
因此,您有两个选择:帮助我们使用假设系统或帮助我们使用矩阵模块。双方都可以使用更多的爱。



