### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Crystals »

# Highest weight crystals

class `sage.combinat.crystals.highest_weight_crystals.``FiniteDimensionalHighestWeightCrystal_TypeE`(dominant_weight)

  Bases: `sage.combinat.crystals.tensor_product.TensorProductOfCrystals`

  Commonalities for all finite dimensional type \(E\) highest weight crystals.

  Subclasses should setup an attribute column_crystal in their `__init__` method before calling the `__init__` method of this class.

  `Element`

    alias of `TensorProductOfRegularCrystalsElement`

  `module_generator`()

    This yields the module generator (or highest weight element) of the classical crystal of given dominant weight in self.

    EXAMPLES:

        sage: C=CartanType(['E',6])
        sage: La=C.root_system().weight_lattice().fundamental_weights()
        sage: T = crystals.HighestWeight(La[2])
        sage: T.module_generator()
        [[(2, -1), (1,)]]
        sage: T = crystals.HighestWeight(0*La[2])
        sage: T.module_generator()
        []

        sage: C=CartanType(['E',7])
        sage: La=C.root_system().weight_lattice().fundamental_weights()
        sage: T = crystals.HighestWeight(La[1])
        sage: T.module_generator()
        [[(-7, 1), (7,)]]

class `sage.combinat.crystals.highest_weight_crystals.``FiniteDimensionalHighestWeightCrystal_TypeE6`(dominant_weight)

  Bases: `sage.combinat.crystals.highest_weight_crystals.FiniteDimensionalHighestWeightCrystal_TypeE`

  Class of finite dimensional highest weight crystals of type \(E_6\).

  EXAMPLES:

      sage: C=CartanType(['E',6])
      sage: La=C.root_system().weight_lattice().fundamental_weights()
      sage: T = crystals.HighestWeight(La[2]); T
      Finite dimensional highest weight crystal of type ['E', 6] and highest weight Lambda[2]
      sage: B1 = T.column_crystal[1]; B1
      The crystal of letters for type ['E', 6]
      sage: B6 = T.column_crystal[6]; B6
      The crystal of letters for type ['E', 6] (dual)
      sage: t = T(B6([-1]),B1([-1,3])); t
      [(-1,), (-1, 3)]
      sage: [t.epsilon(i) for i in T.index_set()]
      [2, 0, 0, 0, 0, 0]
      sage: [t.phi(i) for i in T.index_set()]
      [0, 0, 1, 0, 0, 0]
      sage: TestSuite(t).run()

class `sage.combinat.crystals.highest_weight_crystals.``FiniteDimensionalHighestWeightCrystal_TypeE7`(dominant_weight)

  Bases: `sage.combinat.crystals.highest_weight_crystals.FiniteDimensionalHighestWeightCrystal_TypeE`

  Class of finite dimensional highest weight crystals of type \(E_7\).

  EXAMPLES:

      sage: C=CartanType(['E',7])
      sage: La=C.root_system().weight_lattice().fundamental_weights()
      sage: T = crystals.HighestWeight(La[1])
      sage: T.cardinality()
      133
      sage: B7 = T.column_crystal[7]; B7
      The crystal of letters for type ['E', 7]
      sage: t = T(B7([-5, 6]), B7([-2, 3])); t
      [(-5, 6), (-2, 3)]
      sage: [t.epsilon(i) for i in T.index_set()]
      [0, 1, 0, 0, 1, 0, 0]
      sage: [t.phi(i) for i in T.index_set()]
      [0, 0, 1, 0, 0, 1, 0]
      sage: TestSuite(t).run()

`sage.combinat.crystals.highest_weight_crystals.``HighestWeightCrystal`(dominant_weight, model=None)

  Return the highest weight crystal of highest weight `dominant_weight` of the given `model`.

  INPUT:

  - `dominant_weight` – a dominant weight

  - `model` – (optional) if not specified, then we have the following default models:

    - types \(A_n, B_n, C_n, D_n, G_2\) - `tableaux`
    - types \(E_{6,7}\) - `type E finite dimensional crystal`
    - all other types - `LS paths`

    otherwise can be one of the following:

    - `'Tableaux'` - `KN tableaux`
    - `'TypeE'` - `type E finite dimensional crystal`
    - `'NakajimaMonomials'` - `Nakajima monomials`
    - `'LSPaths'` - `LS paths`
    - `'AlcovePaths'` - `alcove paths`
    - `'GeneralizedYoungWalls'` - `generalized Young walls`
    - `'RiggedConfigurations'` - `rigged configuraitons`

  EXAMPLES:

      sage: La = RootSystem(['A',2]).weight_lattice().fundamental_weights()
      sage: wt = La[1] + La[2]
      sage: crystals.HighestWeight(wt)
      The crystal of tableaux of type ['A', 2] and shape(s) [[2, 1]]

      sage: La = RootSystem(['C',2]).weight_lattice().fundamental_weights()
      sage: wt = 5*La[1] + La[2]
      sage: crystals.HighestWeight(wt)
      The crystal of tableaux of type ['C', 2] and shape(s) [[6, 1]]

  Some type \(E\) examples:

      sage: C = CartanType(['E',6])
      sage: La = C.root_system().weight_lattice().fundamental_weights()
      sage: T = crystals.HighestWeight(La[1])
      sage: T.cardinality()
      27
      sage: T = crystals.HighestWeight(La[6])
      sage: T.cardinality()
      27
      sage: T = crystals.HighestWeight(La[2])
      sage: T.cardinality()
      78
      sage: T = crystals.HighestWeight(La[4])
      sage: T.cardinality()
      2925
      sage: T = crystals.HighestWeight(La[3])
      sage: T.cardinality()
      351
      sage: T = crystals.HighestWeight(La[5])
      sage: T.cardinality()
      351

      sage: C = CartanType(['E',7])
      sage: La = C.root_system().weight_lattice().fundamental_weights()
      sage: T = crystals.HighestWeight(La[1])
      sage: T.cardinality()
      133
      sage: T = crystals.HighestWeight(La[2])
      sage: T.cardinality()
      912
      sage: T = crystals.HighestWeight(La[3])
      sage: T.cardinality()
      8645
      sage: T = crystals.HighestWeight(La[4])
      sage: T.cardinality()
      365750
      sage: T = crystals.HighestWeight(La[5])
      sage: T.cardinality()
      27664
      sage: T = crystals.HighestWeight(La[6])
      sage: T.cardinality()
      1539
      sage: T = crystals.HighestWeight(La[7])
      sage: T.cardinality()
      56

  An example with an affine type:

      sage: C = CartanType(['C',2,1])
      sage: La = C.root_system().weight_lattice().fundamental_weights()
      sage: T = crystals.HighestWeight(La[1])
      sage: sorted(T.subcrystal(max_depth=3), key=str)
      [(-Lambda[0] + 3*Lambda[1] - Lambda[2] - delta,),
       (-Lambda[0] + Lambda[1] + Lambda[2] - delta,),
       (-Lambda[1] + 2*Lambda[2] - delta,),
       (2*Lambda[0] - Lambda[1],),
       (Lambda[0] + Lambda[1] - Lambda[2],),
       (Lambda[0] - Lambda[1] + Lambda[2],),
       (Lambda[1],)]

  Using the various models:

      sage: La = RootSystem(['F',4]).weight_lattice().fundamental_weights()
      sage: wt = La[1] + La[4]
      sage: crystals.HighestWeight(wt)
      The crystal of LS paths of type ['F', 4] and weight Lambda[1] + Lambda[4]
      sage: crystals.HighestWeight(wt, model='NakajimaMonomials')
      Highest weight crystal of modified Nakajima monomials of
       Cartan type ['F', 4] and highest weight Lambda[1] + Lambda[4]
      sage: crystals.HighestWeight(wt, model='AlcovePaths')
      Highest weight crystal of alcove paths of type ['F', 4] and weight Lambda[1] + Lambda[4]
      sage: crystals.HighestWeight(wt, model='RiggedConfigurations')
      Crystal of rigged configurations of type ['F', 4] and weight Lambda[1] + Lambda[4]

### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Crystals »