is an attribute that can be assigned to a symbol f to indicate that the elements ei in expressions of the form f[e1,e2,…] should automatically be sorted into canonical order. This property is accounted for in pattern matching.
- The Orderless attribute for a function corresponds to the mathematical property of commutativity.
- Functions with the Orderless attribute use canonical order as described in the notes for Sort.
- For an object that represents a matrix or a tensor, the Orderless attribute represents symmetry among indices.
- Functions like Plus and Times are Orderless.
- In matching patterns with Orderless functions, all possible orders of arguments are tried.
- The Orderless attribute must be assigned before defining any values for an Orderless function.
The pattern matcher reorders arguments of Orderless functions to obtain matches:
Note that Plus itself does not reorder these particular arguments: