schubmult.rings.polynomial_algebra.glide_poly_basis¶
GlidePolyBasis: the glide polynomial basis (K-theoretic analogue of fundamental slides) of PolynomialAlgebra.
glide_monomials¶
def glide_monomials(key)
Monomial expansion of the glide polynomial :math:\mathcal{G}_{key}.
Returns a dict mapping each exponent tuple v (a weak composition of the
same length as key) to the integer coefficient of the monomial
:math:x^v, i.e. the number of glides of key with weight v. The
corresponding power of beta for the weight v is
sum(v) - sum(key) (the excess), which is constant across all glides of a
given weight, so it need not be stored explicitly.
glide_product¶
def glide_product(key1, key2)
Structure constants for a product of two glide polynomials.
Implements the Littlewood-Richardson rule of O. Pechenik and D. Searles,
"Decompositions of Grothendieck Polynomials" (arXiv:1611.02545), Theorem
4.9, which expands the product of the glide polynomials indexed by the weak
compositions key1 and key2 in the glide basis:
.. math::
\mathcal{G}_a \, \mathcal{G}_b
= \sum_c \beta^{|c| - |a| - |b|} \, g_{a,b}^{c} \, \mathcal{G}_c .
Rather than enumerating the genomic shuffle set directly, we compute the
(uniquely determined) coefficients by expanding the product in monomials and
straightening into the glide basis with the leading-term algorithm from the
proof that the glide polynomials form a basis (Theorem 2.6). Because the
excess of a glide of v equals sum(v) - sum(index), the power of
beta is recovered from the total degree and only the positive integer
multiplicities :math:g_{a,b}^{c} are returned.
Both compositions are padded with trailing zeros to a common length n;
every key c in the returned dict is a weak composition of length n.
GlidePolyBasis Objects¶
class GlidePolyBasis(PolynomialBasis)
Glide polynomial basis.
Keys are weak compositions. Glide polynomials provide a basis that refines Grothendieck polynomials and coarsens monomials, with an efficient combinatorial product rule.
to_monoms¶
def to_monoms(key)
Expand a glide key into a dict of monomial exponent tuples.
dual_basis¶
@classmethod
def dual_basis(cls)
Return the dual free algebra basis class (:class:GlideBasis).
expand¶
def expand(dct)
Expand a glide basis dict into a symbolic polynomial expression.
transition_monomial¶
def transition_monomial(dct)
Transition from glide basis to monomial basis.
transition¶
def transition(other_basis)
Return a transition function from glide basis to other_basis.
product¶
@cache
def product(key1, key2, coeff=S.One)
Multiply two glide keys using the glide product rule.