Skip to content

NonCommutativeMultiply

The ordered product, for units that anticommute. cannot host one: `Multiply` is declared commutative, so canonicalisation sorts its operands before any handler runs and the sign is lost.

NonCommutativeMultiply(a, b, …)the product of the operands, in the order written
GeometricProduct(a, b, …)alias, for the geometric-algebra reading
a \otimes binfix alias ()

Domain: Hypercomplex algebra

Details
  • Wolfram spells this head the same way (infix `**`), keeping it apart from `Times`; matrix multiplication is likewise its own head, `Dot`
  • On the COMMUTING families it simply agrees with , so it is safe to use everywhere
  • A tensor product of two scalars is their product, so is
  • Associative across mixed families: the commutation factor is a bicharacter
  • Juxtaposition carries the sign on its own -- is caught before `Multiply`'s commutative sort can reach it
  • An explicit or is not: it parses straight to a sorted `Multiply`, so it REFUSES two distinct anticommuting units rather than assert a sign it cannot justify

Examples

See also: Norm, Basis, Quaternions