result = modificationRule(lambda, n, type)This is the underlying combinatorial primitive used by specialize and by the finite-rank multiplication in Sp and O character rings. It implements the modification rules of Sam, Snowden, and Weyman, which describe how a universal classical group character becomes a character of the finite-rank group (or vanishes).
The type argument selects the classical family:
$\bullet$ "C": symplectic groups Sp(2n).
$\bullet$ "B": odd orthogonal groups O(2n+1).
$\bullet$ "D": even orthogonal groups O(2n).
Given a partition lambda, the rule either returns a pair (tau, sign), meaning that the universal character indexed by lambda equals sign times the finite-rank character indexed by tau, or returns null, meaning the finite-rank character vanishes.
|
|
|
|
A partition can become ``stuck in the bulk'' after modification: the rule reduces a long partition to a shorter (but still nonempty) partition, possibly with a sign. For example $\lambda = (4,4,2,1)$ at rank 2 in type $B$ reduces to $\tau = (4,4,1)$ with sign $-1$:
|
Other partitions cancel to null: the rule applies and the finite-rank character vanishes outright. For instance, in type $C$ the partition $(3,2,2,2,1)$ at rank 2 is killed, and so is $(4,3,2,1)$ at rank 2:
|
|
Type $B$ and type $D$ give different answers on the same partition even at the same rank. For $\lambda = (3,2,1)$ at rank 2, type $B$ keeps the partition unchanged (with sign $+1$) while type $D$ kills it:
|
|
Conversely, $\lambda = (4,3,2)$ at rank 2 is killed by type $B$ but survives (with a sign) in type $D$:
|
|
Most users will not call modificationRule directly; it is invoked automatically by the finite-rank multiplication and by specialize. It is exported so that library code that wishes to implement custom variants (e.g. twisted character rings, or non-standard specialization schemes) can share the same combinatorics.
The object modificationRule is a function closure.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/SchurRings.m2:9292:0.