Root system data for type BC affine¶
- class sage.combinat.root_system.type_BC_affine.CartanType(n)[source]¶
Bases:
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() # needs sage.graphs 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() # needs sage.graphs O=>=O---O---O=>=O 0 1 2 3 4 BC4~* sage: dual.special_node() 0 sage: dual.classical().dynkin_diagram() # needs sage.graphs O---O---O=>=O 1 2 3 4 B4 sage: CartanType(['BC',1,2]).dynkin_diagram() # needs sage.graphs 4 O=<=O 0 1 BC1~
>>> from sage.all import * >>> ct = CartanType(['BC',Integer(4),Integer(2)]) >>> ct ['BC', 4, 2] >>> ct._repr_(compact=True) 'BC4~' >>> ct.dynkin_diagram() # needs sage.graphs O=<=O---O---O=<=O 0 1 2 3 4 BC4~ >>> ct.is_irreducible() True >>> ct.is_finite() False >>> ct.is_affine() True >>> ct.is_crystallographic() True >>> ct.is_simply_laced() False >>> ct.classical() ['C', 4] >>> dual = ct.dual() >>> dual.dynkin_diagram() # needs sage.graphs O=>=O---O---O=>=O 0 1 2 3 4 BC4~* >>> dual.special_node() 0 >>> dual.classical().dynkin_diagram() # needs sage.graphs O---O---O=>=O 1 2 3 4 B4 >>> CartanType(['BC',Integer(1),Integer(2)]).dynkin_diagram() # needs sage.graphs 4 O=<=O 0 1 BC1~
- ascii_art(label=None, node=None)[source]¶
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
>>> from sage.all import * >>> print(CartanType(['BC',Integer(2),Integer(2)]).ascii_art()) O=<=O=<=O 0 1 2 >>> print(CartanType(['BC',Integer(3),Integer(2)]).ascii_art()) O=<=O---O=<=O 0 1 2 3 >>> print(CartanType(['BC',Integer(5),Integer(2)]).ascii_art(label = lambda x: x+Integer(2))) O=<=O---O---O---O=<=O 2 3 4 5 6 7 >>> print(CartanType(['BC',Integer(1),Integer(2)]).ascii_art(label = lambda x: x+Integer(2))) 4 O=<=O 2 3
- basic_untwisted()[source]¶
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]
>>> from sage.all import * >>> CartanType(['A', Integer(2), Integer(2)]).basic_untwisted() ['A', 2] >>> CartanType(['A', Integer(4), Integer(2)]).basic_untwisted() ['A', 4] >>> CartanType(['BC', Integer(4), Integer(2)]).basic_untwisted() ['A', 8]
- classical()[source]¶
Return the classical Cartan type associated with
self
.sage: CartanType([“BC”, 3, 2]).classical() [‘C’, 3]
- dynkin_diagram()[source]¶
Return the extended Dynkin diagram for affine type BC.
EXAMPLES:
sage: c = CartanType(['BC',3,2]).dynkin_diagram(); c # needs sage.graphs O=<=O---O=<=O 0 1 2 3 BC3~ sage: c.edges(sort=True) # needs sage.graphs [(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! # needs sage.graphs sage: c # needs sage.graphs O=<=O---O=<=O 0 1 2 3 BC3~ sage: c.edges(sort=True) # needs sage.graphs [(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(); c # needs sage.graphs O=<=O=<=O 0 1 2 BC2~ sage: c.edges(sort=True) # needs sage.graphs [(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 2)] sage: c = CartanType(['BC',1,2]).dynkin_diagram(); c # needs sage.graphs 4 O=<=O 0 1 BC1~ sage: c.edges(sort=True) # needs sage.graphs [(0, 1, 1), (1, 0, 4)]
>>> from sage.all import * >>> c = CartanType(['BC',Integer(3),Integer(2)]).dynkin_diagram(); c # needs sage.graphs O=<=O---O=<=O 0 1 2 3 BC3~ >>> c.edges(sort=True) # needs sage.graphs [(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 2)] >>> c = CartanType(["A", Integer(6), Integer(2)]).dynkin_diagram() # should be the same as above; did fail at some point! # needs sage.graphs >>> c # needs sage.graphs O=<=O---O=<=O 0 1 2 3 BC3~ >>> c.edges(sort=True) # needs sage.graphs [(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 2)] >>> c = CartanType(['BC',Integer(2),Integer(2)]).dynkin_diagram(); c # needs sage.graphs O=<=O=<=O 0 1 2 BC2~ >>> c.edges(sort=True) # needs sage.graphs [(0, 1, 1), (1, 0, 2), (1, 2, 1), (2, 1, 2)] >>> c = CartanType(['BC',Integer(1),Integer(2)]).dynkin_diagram(); c # needs sage.graphs 4 O=<=O 0 1 BC1~ >>> c.edges(sort=True) # needs sage.graphs [(0, 1, 1), (1, 0, 4)]