Root system data for type BC affine#

class sage.combinat.root_system.type_BC_affine.CartanType(n)#

Bases: sage.combinat.root_system.cartan_type.CartanType_standard_affine

EXAMPLES:

sage: ct = CartanType(['BC',4,2])
sage: ct
['BC', 4, 2]
sage: ct._repr_(compact = True)
'BC4~'
sage: ct.dynkin_diagram()
O=<=O---O---O=<=O
0   1   2   3   4
BC4~

sage: ct.is_irreducible()
True
sage: ct.is_finite()
False
sage: ct.is_affine()
True
sage: ct.is_crystallographic()
True
sage: ct.is_simply_laced()
False
sage: ct.classical()
['C', 4]

sage: dual = ct.dual()
sage: dual.dynkin_diagram()
O=>=O---O---O=>=O
0   1   2   3   4
BC4~*

sage: dual.special_node()
0
sage: dual.classical().dynkin_diagram()
O---O---O=>=O
1   2   3   4
B4

sage: CartanType(['BC',1,2]).dynkin_diagram()
  4
O=<=O
0   1
BC1~
ascii_art(label=<function CartanType.<lambda> at 0x7f137ef26710>, node=None)#

Return a ascii art representation of the extended Dynkin diagram.

EXAMPLES:

sage: print(CartanType(['BC',2,2]).ascii_art())
O=<=O=<=O
0   1   2
sage: print(CartanType(['BC',3,2]).ascii_art())
O=<=O---O=<=O
0   1   2   3
sage: print(CartanType(['BC',5,2]).ascii_art(label = lambda x: x+2))
O=<=O---O---O---O=<=O
2   3   4   5   6   7

sage: print(CartanType(['BC',1,2]).ascii_art(label = lambda x: x+2))
  4
O=<=O
2   3
basic_untwisted()#

Return the basic untwisted Cartan type associated with this affine Cartan type.

Given an affine type \(X_n^{(r)}\), the basic untwisted type is \(X_n\). In other words, it is the classical Cartan type that is twisted to obtain self.

EXAMPLES:

sage: CartanType(['A', 2, 2]).basic_untwisted()
['A', 2]
sage: CartanType(['A', 4, 2]).basic_untwisted()
['A', 4]
sage: CartanType(['BC', 4, 2]).basic_untwisted()
['A', 8]
classical()#

Returns the classical Cartan type associated with self

sage: CartanType([“BC”, 3, 2]).classical() [‘C’, 3]

dynkin_diagram()#

Returns the extended Dynkin diagram for affine type BC.

EXAMPLES:

sage: c = CartanType(['BC',3,2]).dynkin_diagram()
sage: c
O=<=O---O=<=O
0   1   2   3
BC3~
sage: c.edges(sort=True)
[(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 2)]

sage: c = CartanType(["A", 6, 2]).dynkin_diagram() # should be the same as above; did fail at some point!
sage: c
O=<=O---O=<=O
0   1   2   3
BC3~
sage: c.edges(sort=True)
[(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 2)]

sage: c = CartanType(['BC',2,2]).dynkin_diagram()
sage: c
O=<=O=<=O
0   1   2
BC2~
sage: c.edges(sort=True)
[(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 2)]

sage: c = CartanType(['BC',1,2]).dynkin_diagram()
sage: c
  4
O=<=O
0   1
BC1~
sage: c.edges(sort=True)
[(0, 1, 1), (1, 0, 4)]