我想问一下,是否有一种方法可以非交换地扩展Python中的方括号.例如,
INPUT (x+y)**2, OUTPUT x**2 + x*y + y*x + y**2
,
而不是通常的输出x**2 + 2*x*y + y**2
.
SymPy给出了这种交换输出,但我已经看到在MATHEMICA(非交换乘法)中非交换输出是可能的.有没有人能推荐一些非交换式扩展括号的Python代码?这将是一个很大的帮助.
我想问一下,是否有一种方法可以非交换地扩展Python中的方括号.例如,
INPUT (x+y)**2, OUTPUT x**2 + x*y + y*x + y**2
,
而不是通常的输出x**2 + 2*x*y + y**2
.
SymPy给出了这种交换输出,但我已经看到在MATHEMICA(非交换乘法)中非交换输出是可能的.有没有人能推荐一些非交换式扩展括号的Python代码?这将是一个很大的帮助.
您必须创建非交换符号:
from sympy import *
x, y = symbols("x, y", commutative=False)
expr = (x+y)**2
expr = expr.expand()
print(expr)
# out: x*y + x**2 + y*x + y**2