Macaulay2 Engine
Loading...
Searching...
No Matches
schur.hpp File Reference

SchurRing — symmetric-function ring with Schur-basis multiplication via Littlewood-Richardson. More...

#include <vector>
#include "poly.hpp"

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

Detailed Description

SchurRing — symmetric-function ring with Schur-basis multiplication via Littlewood-Richardson.

Note
AI-generated documentation. Verify against the source before relying on it.

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.

See also
poly.hpp
schur2.hpp
schur-poly-heap.hpp

Definition in file schur.hpp.