M2 icon indicating copy to clipboard operation
M2 copied to clipboard

Document unicode math operators

Open d-torrance opened this issue 10 months ago • 4 comments

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 · Vector dot product method.~~

d-torrance avatar Apr 18 '25 03:04 d-torrance

I'm still opposed to this change, cf my rejected PR #3599

pzinn avatar Apr 18 '25 04:04 pzinn

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.

mahrud avatar Apr 18 '25 05:04 mahrud

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 dotProduct method 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.

d-torrance avatar Apr 18 '25 12:04 d-torrance

  • 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.

mahrud avatar May 09 '25 21:05 mahrud