例如,我想将x和y定义为非交换,将a和b定义为可交换(通常).换一种说法,
x y ≠ y x, a x = x a, a b = b a .
进一步,
(x a y)(x-a y)= x ^ 2 a(y x -x y)-a ^ 2 y ^ 2.
什么是用于定义x和y的代码,以及用于乘法的符号(例如*和.)?
最佳答案 您可以使用Maxima的可交换*和非交换.按照以下两个步骤按照您想要的方式生产产品:
>将符号a和b声明为标量:
声明([a,b],标量)$
>启用dotcrules:
dotscrules:真正的$
这简化了涉及标量到交换产品的非交换产品(即,a.x变为* x).
现在你准备好了.例如,
expand((a*x + b*y) . (a*x - b*y))
回报
a*b*y.x - b^2*y^^2 - a*b*x.y + a^2*x^^2
(注意^^是非交换取幂运算符).