Root system data for relabelled Cartan types¶
-
sage.combinat.root_system.type_relabel.
AmbientSpace
¶ Ambient space for a relabelled finite Cartan type.
It is constructed in the canonical way from the ambient space of the original Cartan type, by relabelling the simple roots, fundamental weights, etc.
EXAMPLES:
sage: cycle = {1:2, 2:3, 3:4, 4:1} sage: L = CartanType(["F",4]).relabel(cycle).root_system().ambient_space(); L Ambient space of the Root system of type ['F', 4] relabelled by {1: 2, 2: 3, 3: 4, 4: 1} sage: TestSuite(L).run()
-
sage.combinat.root_system.type_relabel.
CartanType
¶ A class for relabelled Cartan types.
-
sage.combinat.root_system.type_relabel.
CartanType_affine
¶
-
class
sage.combinat.root_system.type_relabel.
CartanType_finite
(type, relabelling)¶ Bases:
sage.combinat.root_system.type_relabel.CartanType
,sage.combinat.root_system.cartan_type.CartanType_finite
-
AmbientSpace
¶ Ambient space for a relabelled finite Cartan type.
It is constructed in the canonical way from the ambient space of the original Cartan type, by relabelling the simple roots, fundamental weights, etc.
EXAMPLES:
sage: cycle = {1:2, 2:3, 3:4, 4:1} sage: L = CartanType(["F",4]).relabel(cycle).root_system().ambient_space(); L Ambient space of the Root system of type ['F', 4] relabelled by {1: 2, 2: 3, 3: 4, 4: 1} sage: TestSuite(L).run()
-
affine
()¶ Return the affine Cartan type associated with
self
.EXAMPLES:
sage: B4 = CartanType(['B',4]) sage: B4.dynkin_diagram() O---O---O=>=O 1 2 3 4 B4 sage: B4.affine().dynkin_diagram() O 0 | | O---O---O=>=O 1 2 3 4 B4~
If possible, this reuses the original label for the special node:
sage: T = B4.relabel({1:2, 2:3, 3:4, 4:1}); T.dynkin_diagram() O---O---O=>=O 2 3 4 1 B4 relabelled by {1: 2, 2: 3, 3: 4, 4: 1} sage: T.affine().dynkin_diagram() O 0 | | O---O---O=>=O 2 3 4 1 B4~ relabelled by {0: 0, 1: 2, 2: 3, 3: 4, 4: 1}
Otherwise, it chooses a label for the special_node in \(0,1,...\):
sage: T = B4.relabel({1:0, 2:1, 3:2, 4:3}); T.dynkin_diagram() O---O---O=>=O 0 1 2 3 B4 relabelled by {1: 0, 2: 1, 3: 2, 4: 3} sage: T.affine().dynkin_diagram() O 4 | | O---O---O=>=O 0 1 2 3 B4~ relabelled by {0: 4, 1: 0, 2: 1, 3: 2, 4: 3}
This failed before trac ticket #13724:
sage: ct = CartanType(["G",2]).dual(); ct ['G', 2] relabelled by {1: 2, 2: 1} sage: ct.affine() ['G', 2, 1] relabelled by {0: 0, 1: 2, 2: 1} sage: ct = CartanType(["F",4]).dual(); ct ['F', 4] relabelled by {1: 4, 2: 3, 3: 2, 4: 1} sage: ct.affine() ['F', 4, 1] relabelled by {0: 0, 1: 4, 2: 3, 3: 2, 4: 1}
Check that we don’t inadvertently change the internal relabelling of
ct
:sage: ct ['F', 4] relabelled by {1: 4, 2: 3, 3: 2, 4: 1}
-