a ** b ** c is a general associative, but non-commutative, form of multiplication.
NonCommutativeMultiply has attribute Flat.
Instances of NonCommutativeMultiply are automatically flattened, but no other simplification is performed.
You can use NonCommutativeMultiply as a generalization of ordinary multiplication for special mathematical objects.
See Section A.2.7.
See also: Dot, Times, Cross.
New in Version 1.