|
Macaulay2 Engine
|
SchurRing — symmetric-function ring with Schur-basis multiplication via Littlewood-Richardson. More...
Go to the source code of this file.
Classes | |
| class | tableau |
| class | SchurRing |
| PolyRing subclass implementing the Schur (symmetric-function) ring whose monomials are partitions and whose multiplication is the Littlewood-Richardson rule. More... | |
Variables | |
| const int | SCHUR_MAX_WT = 100 |
| const int | LARGE_NUMBER = 32000 |
SchurRing — symmetric-function ring with Schur-basis multiplication via Littlewood-Richardson.
Declares SchurRing, a PolyRing subclass whose elements are Z-linear combinations of Schur functions s_lambda indexed by partitions, plus the supporting tableau class (partition vector p, partition vector lambda, and (xloc, yloc) coordinate arrays giving the horizontal / vertical positions of each cell in the skew shape). Multiplication computes the structure constants s_lambda * s_mu = sum_nu c_{lambda mu}^nu s_nu — the Littlewood-Richardson coefficients — via the private skew_schur(lambda, p) and SM() recursion, with reusable _SMtab / _SMfilled scratch tableaux kept on the ring so mult_monomials does not re-allocate on every product.
SCHUR_MAX_WT = 100 caps the partition weight the engine will multiply; LARGE_NUMBER = 32000 is the sentinel marking empty slots in the tableau scratch space. schur2.hpp is a parallel symmetric-function ring built on a different basis, and schur-poly-heap.hpp is the bucketed-collector helper for assembling large sums of Schur monomials.
Definition in file schur.hpp.