### Navigation

- index
- modules |
- next |
- previous |
- Category Theory »

# Affine Weyl Groups

class `sage.categories.affine_weyl_groups.``AffineWeylGroups`(s=None)

  Bases: `sage.categories.category_singleton.Category_singleton`

  The category of affine Weyl groups

  Todo

  add a description of this category

  See also

  - Wikipedia article Affine_weyl_group
  - `WeylGroups`, `WeylGroup`

  EXAMPLES:

      sage: C = AffineWeylGroups(); C
      Category of affine weyl groups
      sage: C.super_categories()
      [Category of infinite weyl groups]

      sage: C.example()
      NotImplemented
      sage: W = WeylGroup(["A",4,1]); W
      Weyl Group of type ['A', 4, 1] (as a matrix group acting on the root space)
      sage: W.category()
      Category of affine weyl groups

  TESTS:

      sage: TestSuite(C).run()

  class `ElementMethods`
    `affine_grassmannian_to_core`()

      Bijection between affine Grassmannian elements of type \(A_k^{(1)}\) and \((k+1)\)-cores.

      INPUT:

      - `self` – an affine Grassmannian element of some affine Weyl group of type \(A_k^{(1)}\)

      Recall that an element \(w\) of an affine Weyl group is affine Grassmannian if all its all reduced words end in 0, see `is_affine_grassmannian()`.

      OUTPUT:

      - a \((k+1)\)-core

      See also `affine_grassmannian_to_partition()`.

      EXAMPLES:

          sage: W = WeylGroup(['A',2,1])
          sage: w = W.from_reduced_word([0,2,1,0])
          sage: la = w.affine_grassmannian_to_core(); la
          [4, 2]
          sage: type(la)
          <class 'sage.combinat.core.Cores_length_with_category.element_class'>
          sage: la.to_grassmannian() == w
          True

          sage: w = W.from_reduced_word([0,2,1])
          sage: w.affine_grassmannian_to_core()
          Traceback (most recent call last):
          ...
          ValueError: Error! this only works on type 'A' affine Grassmannian elements

    `affine_grassmannian_to_partition`()

      Bijection between affine Grassmannian elements of type \(A_k^{(1)}\) and \(k\)-bounded partitions.

      INPUT:

      - `self` is affine Grassmannian element of the affine Weyl group of type \(A_k^{(1)}\) (i.e. all reduced words end in 0)

      OUTPUT:

      - \(k\)-bounded partition

      See also `affine_grassmannian_to_core()`.

      EXAMPLES:

          sage: k = 2
          sage: W = WeylGroup(['A',k,1])
          sage: w = W.from_reduced_word([0,2,1,0])
          sage: la = w.affine_grassmannian_to_partition(); la
          [2, 2]
          sage: la.from_kbounded_to_grassmannian(k) == w
          True

    `is_affine_grassmannian`()

      Tests whether `self` is affine Grassmannian

      An element of an affine Weyl group is affine Grassmannian if any of the following equivalent properties holds:

      > - all reduced words for self end with 0.
      > - self is the identity, or 0 is its single right descent.
      > - self is a mimimal coset representative for W / cl W.

      EXAMPLES:

          sage: W=WeylGroup(['A',3,1])
          sage: w=W.from_reduced_word([2,1,0])
          sage: w.is_affine_grassmannian()
          True
          sage: w=W.from_reduced_word([2,0])
          sage: w.is_affine_grassmannian()
          False
          sage: W.one().is_affine_grassmannian()
          True

  class `AffineWeylGroups.``ParentMethods`
    `affine_grassmannian_elements_of_given_length`(k)

      Returns the affine Grassmannian elements of length \(k\), as a list.

      EXAMPLES:

          sage: W=WeylGroup(['A',3,1])
          sage: [x.reduced_word() for x in W.affine_grassmannian_elements_of_given_length(3)]
          [[2, 1, 0], [3, 1, 0], [2, 3, 0]]

      See also

      `AffineWeylGroups.ElementMethods.is_affine_grassmannian()`

      Todo

      should return an enumerated set, with iterator, ...

    `special_node`()

      Returns the distinguished special node of the underlying Dynkin diagram

      EXAMPLES:

          sage: W=WeylGroup(['A',3,1])
          sage: W.special_node()
          0

  `AffineWeylGroups.``additional_structure`()

    Return `None`.

    Indeed, the category of affine Weyl groups defines no additional structure: affine Weyl groups are a special class of Weyl groups.

    See also

    `Category.additional_structure()`

    Todo

    Should this category be a `CategoryWithAxiom`?

    EXAMPLES:

        sage: AffineWeylGroups().additional_structure()

  `AffineWeylGroups.``super_categories`()

    EXAMPLES:

        sage: AffineWeylGroups().super_categories()
        [Category of infinite weyl groups]

### Navigation

- index
- modules |
- next |
- previous |
- Category Theory »