Root system data for relabelled Cartan types

class sage.combinat.root_system.type_relabel.CartanType(type, relabelling)

Bases: sage.structure.unique_representation.UniqueRepresentation, sage.structure.sage_object.SageObject, sage.combinat.root_system.cartan_type.CartanType_abstract

A class for relabelled Cartan types

ascii_art(label=<function <lambda> at 0x1857a9b0>)

Returns an ascii art representation of this Cartan type

EXAMPLES:

sage: print CartanType(["G", 2]).relabel({1:2,2:1}).ascii_art()
  3
O=<=O
2   1
sage: print CartanType(["B", 3, 1]).relabel([1,3,2,0]).ascii_art()
    O 1
    |
    |
O---O=>=O
3   2   0
sage: print CartanType(["F", 4, 1]).relabel(lambda n: 4-n).ascii_art()
O---O---O=>=O---O
4   3   2   1   0
dual()

Implements sage.combinat.root_system.cartan_type.CartanType_abstract.dual(), using that taking the dual and relabelling are commuting operations.

EXAMPLES:

sage: T = CartanType(["BC",3, 2])
sage: cycle = {1:2, 2:3, 3:0, 0:1}
sage: T.relabel(cycle).dual().dynkin_diagram()
O=>=O---O=>=O
1   2   3   0
BC3~* relabelled by {0: 1, 1: 2, 2: 3, 3: 0}
sage: T.dual().relabel(cycle).dynkin_diagram()
O=>=O---O=>=O
1   2   3   0
BC3~* relabelled by {0: 1, 1: 2, 2: 3, 3: 0}
dynkin_diagram()

Returns the dynkin diagram for this Cartan type.

EXAMPLES:

sage: CartanType(["G", 2]).relabel({1:2,2:1}).dynkin_diagram()
  3
O=<=O
2   1
G2 relabelled by {1: 2, 2: 1}

TESTS:

To be compared with the examples in ascii_art():

sage: sorted(CartanType(["G", 2]).relabel({1:2,2:1}).dynkin_diagram().edges())
[(1, 2, 3), (2, 1, 1)]
sage: sorted(CartanType(["B", 3, 1]).relabel([1,3,2,0]).dynkin_diagram().edges())
[(0, 2, 1), (1, 2, 1), (2, 0, 2), (2, 1, 1), (2, 3, 1), (3, 2, 1)]
sage: sorted(CartanType(["F", 4, 1]).relabel(lambda n: 4-n).dynkin_diagram().edges())
[(0, 1, 1), (1, 0, 1), (1, 2, 1), (2, 1, 2), (2, 3, 1), (3, 2, 1), (3, 4, 1), (4, 3, 1)]
index_set()

EXAMPLES:

sage: ct = CartanType(['F', 4]).dual()
sage: ct.index_set()
[1, 2, 3, 4]
is_affine()

EXAMPLES:

sage: ct = CartanType(['F', 4]).dual()
sage: ct.is_affine()
False
is_crystalographic()

EXAMPLES:

sage: ct = CartanType(['F', 4]).dual()
sage: ct.is_crystalographic()
True
is_finite()

EXAMPLES:

sage: ct = CartanType(['F', 4]).dual()
sage: ct.is_finite()
True
is_irreducible()

EXAMPLES:

sage: ct = CartanType(['F', 4]).dual()
sage: ct.is_irreducible()
True
rank()

EXAMPLES:

sage: ct = CartanType(['F', 4]).dual()
sage: ct.rank()
4
class sage.combinat.root_system.type_relabel.CartanType_affine

Bases: sage.combinat.root_system.cartan_type.CartanType_affine

x.__init__(...) initializes x; see help(type(x)) for signature

classical()

Returns the classical Cartan type associated with self (which should be affine)

EXAMPLES:

sage: A41 = CartanType(['A',4,1])
sage: A41.dynkin_diagram()
0
O-----------+
|           |
|           |
O---O---O---O
1   2   3   4
A4~

sage: T = A41.relabel({0:1, 1:2, 2:3, 3:4, 4:0})
sage: T
['A', 4, 1] relabelled by {0: 1, 1: 2, 2: 3, 3: 4, 4: 0}
sage: T.dynkin_diagram()
1
O-----------+
|           |
|           |
O---O---O---O
2   3   4   0
A4~ relabelled by {0: 1, 1: 2, 2: 3, 3: 4, 4: 0}

sage: T0 = T.classical()
sage: T0
['A', 4] relabelled by {1: 2, 2: 3, 3: 4, 4: 0}
sage: T0.dynkin_diagram()
O---O---O---O
2   3   4   0
A4 relabelled by {1: 2, 2: 3, 3: 4, 4: 0}
is_untwisted_affine()

Implements :meth:’CartanType_affine.is_untwisted_affine`

A relabelled Cartan type is untwisted affine if the original is.

EXAMPLES:

sage: CartanType(['B', 3, 1]).relabel({1:2, 2:3, 3:0, 0:1}).is_untwisted_affine()
True
special_node()

Returns a special node of the Dynkin diagram

See also

special_node()

It is obtained by relabelling of the special node of the non relabelled Dynkin diagram.

EXAMPLES:

sage: CartanType(['B', 3, 1]).special_node()
0
sage: CartanType(['B', 3, 1]).relabel({1:2, 2:3, 3:0, 0:1}).special_node()
1

Previous topic

Root system data for reducible Cartan types

Next topic

Root system data for type A

This Page