schubmult.rings.combinatorial.schubert_monomial_ring¶
Schubert Monomial Ring module
Provides base classes for rings whose basis elements represent Schubert monomials (e.g., RC-graphs, BPDs, pipe dreams) with common operations like expansion to polynomials, divided differences, and crystal operations.
SchubertMonomialPrintingTerm Objects¶
class SchubertMonomialPrintingTerm(TypedPrintingTerm)
Printing term for Schubert monomial basis elements.
Delegates printing to the underlying key object (typically an RCGraph, BPD, etc.)
SchubertMonomialRingElement Objects¶
class SchubertMonomialRingElement(BaseRingElement)
Base class for ring elements whose basis elements are Schubert monomials.
This provides a common interface for objects like: - RCGraphRingElement (basis elements are RCGraphs) - BPDRingElement (basis elements are BPDs)
Common operations include: - Polynomial expansion via polyvalue() - Divided difference operators - Crystal structure operations (if the basis elements support them)
polyvalue¶
def polyvalue(x, y=None, *args, **kwargs)
Evaluate as a polynomial in variables x (and optionally y).
Linear extension: for each basis element, call its polyvalue() method and sum the results weighted by coefficients.
Arguments:
x- Variable or sequence of variables for polynomial evaluationy- Optional second set of variables for double Schubert polynomials**kwargs- Additional arguments passed to basis element polyvalue
Returns:
Symbolic expression representing the polynomial
as_ordered_terms¶
def as_ordered_terms(*_, **__)
Terms coeff * basis_symbol in dict order (sympy printing hook).
to_free_algebra_element¶
def to_free_algebra_element(basis=None, *, word=False)
Convert to FreeAlgebra element in Schubert basis.
SchubertMonomialRing Objects¶
class SchubertMonomialRing(BaseRing)
Base class for rings whose basis elements are Schubert monomials.
Inherits from BaseRing to provide standard ring operations (add, sub, mul, etc.)
printing_term¶
def printing_term(key)
Wrap the basis key in a SchubertMonomialPrintingTerm.
from_dict¶
def from_dict(dct)
Build an element from {key: coeff} without coefficient coercion.
mul¶
def mul(a, b)
Multiply two elements via each basis key's product method (which returns {key: coeff}),
or scale by a scalar b.
rmul¶
def rmul(a, b)
Scale by the scalar b.
__call__¶
def __call__(key)
The basis element for key with coefficient 1.