Highest weight crystals#
- class sage.combinat.crystals.highest_weight_crystals.FiniteDimensionalHighestWeightCrystal_TypeE(dominant_weight)#
Bases:
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#
- 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:
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:
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 givenmodel
.INPUT:
dominant_weight
– a dominant weightmodel
– (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 configurations
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]] sage: La = RootSystem(['B',2]).weight_lattice().fundamental_weights() sage: wt = La[1] + La[2] sage: crystals.HighestWeight(wt) The crystal of tableaux of type ['B', 2] and shape(s) [[3/2, 1/2]]
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] sage: La = RootSystem(['A',3,1]).weight_lattice().fundamental_weights() sage: wt = La[0] + La[2] sage: crystals.HighestWeight(wt, model='GeneralizedYoungWalls') Highest weight crystal of generalized Young walls of Cartan type ['A', 3, 1] and highest weight Lambda[0] + Lambda[2]