python - 括号的非交换扩展 (Python)

标签 python sympy commutativity

我想问Python中是否有一种方法可以非交换地扩展括号。例如, 输入 (x+y)**2,输出 x**2 + x*y + y*x + y**2,

而不是通常的输出x**2 + 2*x*y + y**2

SymPy 给出了这个可交换输出,但我已经看到在 Mathematica 中非可交换输出是可能的(NonCommutativeMultiply)。谁能建议一些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

关于python - 括号的非交换扩展 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76568086/

相关文章:

Python 日志记录 - 全局应用格式化程序

python - 由多处理模块产生的大量进程有多昂贵?

python - SymPy - 求解方程中的变量

haskell - 如何判断一个 monad 是否可交换?

c++ - upper_bound 与 binary_function Visual Studio 2008 Bug?

python - += 在 python 中有多个变量

python - Makefile 编译二进制文件,不是可执行文件

math - 我们如何截断幂级数并将其转换为 sympy 中的多项式?

python - 在 Python SymPy 中设置函数的域