Question: non-commutative operators


How do I tell maple that some of my variables do not commute with each other?

For example i may have variables a_p and a_m which do not commute with each other, as well as s_x and s_y which also don't commute with each other... but a and s do commute. So basically I want maple to recognize that

a_m * a_p != a_p * a_m


a_m * x_s = x_s * a_m, etc..

... and be able to keep these rules when simplifying expressions.

Note, that I don't want to define an non-commutative multiplication operator (or use '.', etc) as talked about in other posts, I want maple to only non-commute a few specific variables that i defined.

just fyi... these variables are meant to represent operators that may act on different hilbert spaces when they commute and on the same hilbert space when they don't. I would imagine people have to deal with this soft of thing in maple quite often - if so how do you do it other than in the way i talk about above?

thanks a lot!

Please Wait...