Pieri Factors

sage.combinat.root_system.pieri_factors.PieriFactors

An abstract class for sets of Pieri factors, used for constructing Stanley symmetric functions. The set of Pieri factors for a given type can be realized as an order ideal of the Bruhat order poset generated by a certain set of maximal elements.

See also

  • WeylGroups.ParentMethods.pieri_factors()
  • WeylGroups.ElementMethods.stanley_symmetric_function()

EXAMPLES:

sage: W = WeylGroup(['A',4])
sage: PF = W.pieri_factors()
sage: PF.an_element().reduced_word()
[4, 3, 2, 1]
sage: Waff = WeylGroup(['A',4,1])
sage: PFaff = Waff.pieri_factors()
sage: Waff.from_reduced_word(PF.an_element().reduced_word()) in PFaff
True

sage: W = WeylGroup(['B',3,1])
sage: PF = W.pieri_factors()
sage: W.from_reduced_word([2,3,2]) in PF.elements()
True
sage: PF.cardinality()
47

sage: W = WeylGroup(['C',3,1])
sage: PF = W.pieri_factors()
sage: PF.generating_series()
6*z^6 + 14*z^5 + 18*z^4 + 15*z^3 + 9*z^2 + 4*z + 1
sage: sorted(w.reduced_word() for w in PF if w.length() == 2)
[[0, 1], [1, 0], [1, 2], [2, 0], [2, 1],
[2, 3], [3, 0], [3, 1], [3, 2]]

REFERENCES:

[FoSta1994]S. Fomin, R. Stanley. Schubert polynomials and the nilCoxeter algebra. Advances in Math., 1994.
[BH1994]S. Billey, M. Haiman. Schubert polynomials for the classical groups. J. Amer. Math. Soc., 1994.
[TKLam1996]T.K. Lam. B and D analogues of stable Schubert polynomials and related insertion algorithms. PhD Thesis, MIT, 1996.
[Lam2008]T. Lam. Schubert polynomials for the affine Grassmannian. J. Amer. Math. Soc., 2008.
[LSS2009]T. Lam, A. Schilling, M. Shimozono. Schubert polynomials for the affine Grassmannian of the symplectic group. Mathematische Zeitschrift 264(4) (2010) 765-811 (arXiv:0710.2720 [math.CO])
[Pon2010]S. Pon. Types B and D affine Stanley symmetric functions, unpublished PhD Thesis, UC Davis, 2010.
class sage.combinat.root_system.pieri_factors.PieriFactors_affine_type

Bases: sage.combinat.root_system.pieri_factors.PieriFactors

maximal_elements()

Return the maximal elements of self with respect to Bruhat order.

The current implementation is via a conjectural type-free formula. Use maximal_elements_combinatorial() for proven type-specific implementations. To compare type-free and type-specific (combinatorial) implementations, use method _test_maximal_elements().

EXAMPLES:

sage: W = WeylGroup(['A',4,1])
sage: PF = W.pieri_factors()
sage: sorted([w.reduced_word() for w in PF.maximal_elements()], key=str)
[[0, 4, 3, 2], [1, 0, 4, 3], [2, 1, 0, 4], [3, 2, 1, 0], [4, 3, 2, 1]]

sage: W = WeylGroup(RootSystem(["C",3,1]).weight_space())
sage: PF = W.pieri_factors()
sage: sorted([w.reduced_word() for w in PF.maximal_elements()], key=str)
[[0, 1, 2, 3, 2, 1], [1, 0, 1, 2, 3, 2], [1, 2, 3, 2, 1, 0],
 [2, 1, 0, 1, 2, 3], [2, 3, 2, 1, 0, 1], [3, 2, 1, 0, 1, 2]]

sage: W = WeylGroup(RootSystem(["B",3,1]).weight_space())
sage: PF = W.pieri_factors()
sage: sorted([w.reduced_word() for w in PF.maximal_elements()], key=str)
[[0, 2, 3, 2, 0], [1, 0, 2, 3, 2], [1, 2, 3, 2, 1],
 [2, 1, 0, 2, 3], [2, 3, 2, 1, 0], [3, 2, 1, 0, 2]]

sage: W = WeylGroup(['D',4,1])
sage: PF = W.pieri_factors()
sage: sorted([w.reduced_word() for w in PF.maximal_elements()], key=str)
[[0, 2, 4, 3, 2, 0], [1, 0, 2, 4, 3, 2], [1, 2, 4, 3, 2, 1],
 [2, 1, 0, 2, 4, 3], [2, 4, 3, 2, 1, 0], [3, 2, 1, 0, 2, 3],
 [4, 2, 1, 0, 2, 4], [4, 3, 2, 1, 0, 2]]
sage.combinat.root_system.pieri_factors.PieriFactors_finite_type

The Pieri factors of finite type A are the restriction of the Pieri factors of affine type A to finite permutations (under the canonical embedding of finite type A into the affine Weyl group), and the Pieri factors of finite type B are the restriction of the Pieri factors of affine type C. The finite type D Pieri factors are (weakly) conjectured to be the restriction of the Pieri factors of affine type D.

sage.combinat.root_system.pieri_factors.PieriFactors_type_A

The set of Pieri factors for finite type A.

This is the set of elements of the Weyl group that have a reduced word that is strictly decreasing. May also be viewed as the restriction of affine type A Pieri factors to finite Weyl group elements.

sage.combinat.root_system.pieri_factors.PieriFactors_type_A_affine

The set of Pieri factors for type A affine, that is the set of elements of the Weyl Group which are cyclically decreasing.

Those are used for constructing (affine) Stanley symmetric functions.

The Pieri factors are in bijection with the proper subsets of the index_set. The bijection is given by the support. Namely, let \(f\) be a Pieri factor, and \(red\) a reduced word for \(f\). No simple reflection appears twice in red, and the support \(S\) of \(red\) (that is the \(i\) such that \(s_i\) appears in \(red\)) does not depend on the reduced word).

sage.combinat.root_system.pieri_factors.PieriFactors_type_B

The type B finite Pieri factors are realized as the set of elements that have a reduced word that is a subword of 12…(n-1)n(n-1)…21. They are the restriction of the type C affine Pieri factors to the set of finite Weyl group elements under the usual embedding.

sage.combinat.root_system.pieri_factors.PieriFactors_type_B_affine

The type B affine Pieri factors are realized as the order ideal (in Bruhat order) generated by the following elements:

  • cyclic rotations of the element with reduced word 234…(n-1)n(n-1)…3210, except for 123…n…320 and 023…n…321.
  • 123…(n-1)n(n-1)…321
  • 023…(n-1)n(n-1)…320

EXAMPLES:

sage: W = WeylGroup(['B',4,1])
sage: PF = W.pieri_factors()
sage: W.from_reduced_word([2,3,4,3,2,1,0]) in PF.maximal_elements()
True
sage: W.from_reduced_word([0,2,3,4,3,2,1]) in PF.maximal_elements()
False
sage: W.from_reduced_word([1,0,2,3,4,3,2]) in PF.maximal_elements()
True
sage: W.from_reduced_word([0,2,3,4,3,2,0]) in PF.maximal_elements()
True
sage: W.from_reduced_word([0,2,0]) in PF
True
sage.combinat.root_system.pieri_factors.PieriFactors_type_C_affine

The type C affine Pieri factors are realized as the order ideal (in Bruhat order) generated by cyclic rotations of the element with unique reduced word 123…(n-1)n(n-1)…3210.

EXAMPLES:

sage: W = WeylGroup(['C',3,1])
sage: PF = W.pieri_factors()
sage: sorted([u.reduced_word() for u in PF.maximal_elements()], key=str)
[[0, 1, 2, 3, 2, 1], [1, 0, 1, 2, 3, 2], [1, 2, 3, 2, 1, 0],
 [2, 1, 0, 1, 2, 3], [2, 3, 2, 1, 0, 1], [3, 2, 1, 0, 1, 2]]
sage.combinat.root_system.pieri_factors.PieriFactors_type_D_affine

The type D affine Pieri factors are realized as the order ideal (in Bruhat order) generated by the following elements:

  • cyclic rotations of the element with reduced word 234…(n-2)n(n-1)(n-2)…3210 such that 1 and 0 are always adjacent and (n-1) and n are always adjacent.
  • 123…(n-2)n(n-1)(n-2)…321
  • 023…(n-2)n(n-1)(n-2)…320
  • n(n-2)…2102…(n-2)n
  • (n-1)(n-2)…2102…(n-2)(n-1)

EXAMPLES:

sage: W = WeylGroup(['D',5,1])
sage: PF = W.pieri_factors()
sage: W.from_reduced_word([3,2,1,0]) in PF
True
sage: W.from_reduced_word([0,3,2,1]) in PF
False
sage: W.from_reduced_word([0,1,3,2]) in PF
True
sage: W.from_reduced_word([2,0,1,3]) in PF
True
sage: sorted([u.reduced_word() for u in PF.maximal_elements()], key=str)
[[0, 2, 3, 5, 4, 3, 2, 0], [1, 0, 2, 3, 5, 4, 3, 2], [1, 2, 3, 5, 4, 3, 2, 1],
 [2, 1, 0, 2, 3, 5, 4, 3], [2, 3, 5, 4, 3, 2, 1, 0], [3, 2, 1, 0, 2, 3, 5, 4],
 [3, 5, 4, 3, 2, 1, 0, 2], [4, 3, 2, 1, 0, 2, 3, 4], [5, 3, 2, 1, 0, 2, 3, 5],
 [5, 4, 3, 2, 1, 0, 2, 3]]