Document unicode math operators
We document the three unicode math operators that were added back in #3584 (·, ⊠, and ⧢).
We also:
- Add support for using the augmented versions of these operators.
- ~~Add a
Vector · Vectordot product method.~~
I'm still opposed to this change, cf my rejected PR #3599
I'm still opposed to this change, cf my rejected PR #3599
It wasn't rejected. We requested changes to balance introducing a new, useful feature while staying clear of undefined behavior when packages define conflicting keywords, at least until the details of that are ironed out. I think with relatively minor changes, it can still make it to this upcoming release.
I ended up dropping the Vector · Vector method from this PR, although I'll likely revisit it later. Various complications:
- What to do with rings over CC? We should probably use the Hermitian transpose, and perhaps that should be implemented in the engine rather than conjugating every entry one at a time?
- If we add a
dotProductmethod function to Core to serve as an ascii synonym, then we need to move the definition away from BoijSoiderberg, which currently exports it. But that that opens up a can of worms with the documentation, as its Inputs section defines five different inputs despite the fact that the method takes at most three inputs.
- But that that opens up a can of worms with the documentation, as its Inputs section defines five different inputs despite the fact that the method takes at most three inputs.
For the record, the solution is to either use Synopsis or group the types together, e.g. M => {matrix,BettiTally} or similar.