This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


is a general associative, but non-commutative, form of multiplication.
  • You can use NonCommutativeMultiply as a generalization of ordinary multiplication for special mathematical objects.
Compare commutative multiplication with non-commutative multiplication:
Operations are associative:
Compare commutative multiplication with non-commutative multiplication:
Click for copyable input
Operations are associative:
Click for copyable input
Use NonCommutativeMultiply to represent composition in an algebra of differential operators.
The base case, where is a function, simply multiplies by :
The next two properties express linearity:
Here the operator is D. HoldPattern stops the derivative from acting on the double blank:
Composition of operators applied to an expression:
Power of an operator applied to an expression:
Apply these rules to derive the KdV equation for the Lax pair:
Build a function to expand non-commutative products. Distributivity with respect to Plus:
Handling the commutative product inside the non-commutative one:
Fall-back operation applied to everything else:
No automatic simplification rules exist for NonCommutativeMultiply:
Expand and Simplify do not operate on expressions with NonCommutativeMultiply:
NonCommutativeMultiply of one argument, unlike Times, stays unevaluated:
New in 1