g = convert(f, T)convert is a thin routing layer that inspects the target ring's classification and dispatches to the appropriate specialized converter:
\begin{itemize} \item SchurRing with GroupActing => "GL" $\to$ toS, \item SchurRing with GroupActing => "Sn" $\to$ toSn, \item SchurRing with GroupActing => "Sp" $\to$ toSp, \item SchurRing with GroupActing => "O" $\to$ toO, \item SchurRing with GroupActing => "SL" $\to$ toS, \item SchurRing with GroupActing => "RatGL" $\to$ toRatGL, \item symmetricRing $\to$ toSymm followed by promotion. \end{itemize}
No new conversion mathematics is performed here; convert exists purely to simplify user-level code that does not want to know which specialized converter to call.
|
|
|
|
|
|
|
The dispatch works from any source basis to any target basis. Below we start from a monomial-basis Schur ring and send the same element into each of the flavors -- the dispatcher selects toS, toSp, toO, and toSn respectively:
|
|
|
|
|
To a rational-GL target, the dispatcher uses toRatGL, which embeds a plain GL Schur character $s_\lambda$ as the bipartition $s_{(\lambda, ())}$:
|
|
|
A symmetricRing source is also handled: here the dispatcher routes through toSymm and lands in the Schur basis of the target ring.
|
|
|
The object convert is a method function.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/SchurRings.m2:8981:0.