Root system data for (untwisted) type A affine#

class sage.combinat.root_system.type_A_affine.CartanType(n)[source]#

Bases: CartanType_standard_untwisted_affine

EXAMPLES:

sage: ct = CartanType(['A',4,1])
sage: ct
['A', 4, 1]
sage: ct._repr_(compact = True)
'A4~'

sage: ct.is_irreducible()
True
sage: ct.is_finite()
False
sage: ct.is_affine()
True
sage: ct.is_untwisted_affine()
True
sage: ct.is_crystallographic()
True
sage: ct.is_simply_laced()
True
sage: ct.classical()
['A', 4]
sage: ct.dual()
['A', 4, 1]

sage: ct = CartanType(['A', 1, 1])
sage: ct.is_simply_laced()
False
sage: ct.dual()
['A', 1, 1]
>>> from sage.all import *
>>> ct = CartanType(['A',Integer(4),Integer(1)])
>>> ct
['A', 4, 1]
>>> ct._repr_(compact = True)
'A4~'

>>> ct.is_irreducible()
True
>>> ct.is_finite()
False
>>> ct.is_affine()
True
>>> ct.is_untwisted_affine()
True
>>> ct.is_crystallographic()
True
>>> ct.is_simply_laced()
True
>>> ct.classical()
['A', 4]
>>> ct.dual()
['A', 4, 1]

>>> ct = CartanType(['A', Integer(1), Integer(1)])
>>> ct.is_simply_laced()
False
>>> ct.dual()
['A', 1, 1]
PieriFactors[source]#

alias of PieriFactors_type_A_affine

ascii_art(label=None, node=None)[source]#

Return an ascii art representation of the extended Dynkin diagram.

EXAMPLES:

sage: print(CartanType(['A',3,1]).ascii_art())
0
O-------+
|       |
|       |
O---O---O
1   2   3

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

sage: print(CartanType(['A',1,1]).ascii_art())
O<=>O
0   1

sage: print(CartanType(['A',1,1]).ascii_art(label = lambda x: x+2))
O<=>O
2   3
>>> from sage.all import *
>>> print(CartanType(['A',Integer(3),Integer(1)]).ascii_art())
0
O-------+
|       |
|       |
O---O---O
1   2   3

>>> print(CartanType(['A',Integer(5),Integer(1)]).ascii_art(label = lambda x: x+Integer(2)))
2
O---------------+
|               |
|               |
O---O---O---O---O
3   4   5   6   7

>>> print(CartanType(['A',Integer(1),Integer(1)]).ascii_art())
O<=>O
0   1

>>> print(CartanType(['A',Integer(1),Integer(1)]).ascii_art(label = lambda x: x+Integer(2)))
O<=>O
2   3
dual()[source]#

Type \(A_1^1\) is self dual despite not being simply laced.

EXAMPLES:

sage: CartanType(['A',1,1]).dual()
['A', 1, 1]
>>> from sage.all import *
>>> CartanType(['A',Integer(1),Integer(1)]).dual()
['A', 1, 1]
dynkin_diagram()[source]#

Returns the extended Dynkin diagram for affine type A.

EXAMPLES:

sage: a = CartanType(['A',3,1]).dynkin_diagram(); a                         # needs sage.graphs
 0
 O-------+
 |       |
 |       |
 O---O---O
 1   2   3
 A3~
sage: a.edges(sort=True)                                                    # needs sage.graphs
[(0, 1, 1),
 (0, 3, 1),
 (1, 0, 1),
 (1, 2, 1),
 (2, 1, 1),
 (2, 3, 1),
 (3, 0, 1),
 (3, 2, 1)]

sage: a = DynkinDiagram(['A',1,1]); a                                       # needs sage.graphs
O<=>O
0   1
A1~
sage: a.edges(sort=True)                                                    # needs sage.graphs
[(0, 1, 2), (1, 0, 2)]
>>> from sage.all import *
>>> a = CartanType(['A',Integer(3),Integer(1)]).dynkin_diagram(); a                         # needs sage.graphs
 0
 O-------+
 |       |
 |       |
 O---O---O
 1   2   3
 A3~
>>> a.edges(sort=True)                                                    # needs sage.graphs
[(0, 1, 1),
 (0, 3, 1),
 (1, 0, 1),
 (1, 2, 1),
 (2, 1, 1),
 (2, 3, 1),
 (3, 0, 1),
 (3, 2, 1)]

>>> a = DynkinDiagram(['A',Integer(1),Integer(1)]); a                                       # needs sage.graphs
O<=>O
0   1
A1~
>>> a.edges(sort=True)                                                    # needs sage.graphs
[(0, 1, 2), (1, 0, 2)]