【发布时间】:2018-01-16 23:02:09
【问题描述】:
假设你在一个 sympy 表达式中有许多不可交换的符号,比如
a, c = sympy.symbols('a c', commutative=False)
b = sympy.Symbol('b')
expr = a * c + b * c
使表达式中的所有符号可交换的首选方法是什么,例如sympy.simplify(allcommutative(expr)) = c * (a + b)?
在this answer 中指出,如果不替换符号,就无法在创建后更改符号的交换性,但也许有一种简单的方法可以像这样在块中更改表达式的所有符号?
【问题讨论】:
-
如果它们应该是可交换的,为什么它们被创建为不可交换的?
-
@user2357112 当然是合法问题。我的原因是我想在打印的表达式中强制执行特定的排序,并且将符号设置为不可交换是我发现实现这一目标的最简单方法。
标签: python sympy commutativity