我目前正在尝试找到一种方法,可以向sympy添加其他简化规则,该规则可以自动应用。我相信应该有一种使用Assumptions
模块添加它们的方法,但是我无法从文档中弄清楚如何做到这一点,该文档主要涵盖了is_positive
或{{1 }}。
以下是我正在处理的那种假设的一些示例:
我有一些变量is_real
,这些变量只能采用值c1,c2,...
或+1
,而没有其他值。因此,无论何时我只要有-1
或类似词,我都可以删除它。
有一组变量c1**2
,这些变量总和不能大于另一个变量w1,w2,w3,...
。因此,只要我有类似d
这样的表达式,我就知道它必须是肯定的。
当然,我总是可以采用任何表达式,然后在表达式树上应用简化的表达式,这与这些假设相符。但是,这确实很复杂,并且导致sympy函数花费的时间超过了应有的时间。例如。我正在计算涉及这些变量的矩阵的行列式,并且结果表达式(在简化之前)非常长。经过进一步简化后,它只有很少的术语。因此,如果sympy能够在行列式的计算过程中已经执行这些简化以加速所有操作,那就太好了。同样,我必须计算许多涉及这些变量的矩阵逆,因此在计算逆过程时简化它们会很好。
是否有关于如何添加此类其他简化规则的教程?