On adjoints and custom postfix and infix operators

Putting aside the fact that * is already matrix multiplication, there are lots of allowed user-defined operators that are “kind of like *” and have the same precedence (in fact, infinitely many):

  • Any of the other Unicode symbols with the same precedence: ∧ ⊗ ⊘ ⊙ ⊚ ⊛ ⊠ ⊡ ⊓ ∗ ∙ ∤ ⅋ ≀ ⊼ ⋄ ⋆ ⋇ ⋉ ⋊ ⋋ ⋌ ⋏ ⋒ ⟑ ⦸ ⦼ ⦾ ⦿ ⧶ ⧷ ⨇ ⨰ ⨱ ⨲ ⨳ ⨴ ⨵ ⨶ ⨷ ⨸ ⨻ ⨼ ⨽ ⩀ ⩃ ⩄ ⩋ ⩍ ⩎ ⩑ ⩓ ⩕ ⩘ ⩚ ⩜ ⩞ ⩟ ⩠ ⫛ ⊍ ▷ ⨝ ⟕ ⟖ ⟗
  • Just take * (or one of the above) and add one or more of any of the allowed operator suffixes in Julia 0.7, e.g. *̂₁ᵃ′ is an operator with the same precedence as *.

Similarly for + etcetera.

(It seems a lot clearer to me to write a *ₘ b than a `mytimes` b for an operator that is kind of like *.)

3 Likes