Bases: sage.combinat.root_system.ambient_space.AmbientSpace
EXAMPLES:
sage: e = RootSystem(['A',3]).ambient_lattice()
sage: s = e.simple_reflections()
sage: L = RootSystem(['A',3]).coroot_lattice()
sage: e.has_coerce_map_from(L)
True
sage: e(L.simple_root(1))
(1, -1, 0, 0)
EXAMPLES:
sage: e = RootSystem(['B',3]).ambient_space()
sage: e.dimension()
3
EXAMPLES:
sage: RootSystem(['B',3]).ambient_space().fundamental_weights()
Finite family {1: (1, 0, 0), 2: (1, 1, 0), 3: (1/2, 1/2, 1/2)}
EXAMPLES:
sage: RootSystem(['B',3]).ambient_space().negative_roots()
[(-1, 1, 0),
(-1, -1, 0),
(-1, 0, 1),
(-1, 0, -1),
(0, -1, 1),
(0, -1, -1),
(-1, 0, 0),
(0, -1, 0),
(0, 0, -1)]
EXAMPLES:
sage: RootSystem(['B',3]).ambient_space().positive_roots()
[(1, -1, 0),
(1, 1, 0),
(1, 0, -1),
(1, 0, 1),
(0, 1, -1),
(0, 1, 1),
(1, 0, 0),
(0, 1, 0),
(0, 0, 1)]
Note that indexing starts at 0.
EXAMPLES:
sage: e = RootSystem(['B',3]).ambient_space()
sage: e.root(0,1)
(1, -1, 0)
EXAMPLES:
sage: e = RootSystem(['B',4]).ambient_space()
sage: e.simple_roots()
Finite family {1: (1, -1, 0, 0), 2: (0, 1, -1, 0), 3: (0, 0, 1, -1), 4: (0, 0, 0, 1)}
sage: e.positive_roots()
[(1, -1, 0, 0),
(1, 1, 0, 0),
(1, 0, -1, 0),
(1, 0, 1, 0),
(1, 0, 0, -1),
(1, 0, 0, 1),
(0, 1, -1, 0),
(0, 1, 1, 0),
(0, 1, 0, -1),
(0, 1, 0, 1),
(0, 0, 1, -1),
(0, 0, 1, 1),
(1, 0, 0, 0),
(0, 1, 0, 0),
(0, 0, 1, 0),
(0, 0, 0, 1)]
sage: e.fundamental_weights()
Finite family {1: (1, 0, 0, 0), 2: (1, 1, 0, 0), 3: (1, 1, 1, 0), 4: (1/2, 1/2, 1/2, 1/2)}
Bases: sage.combinat.root_system.cartan_type.CartanType_standard_finite, sage.combinat.root_system.cartan_type.CartanType_simple, sage.combinat.root_system.cartan_type.CartanType_crystallographic
EXAMPLES:
sage: ct = CartanType(['B',4])
sage: ct
['B', 4]
sage: ct._repr_(compact = True)
'B4'
sage: ct.is_irreducible()
True
sage: ct.is_finite()
True
sage: ct.is_affine()
False
sage: ct.is_crystallographic()
True
sage: ct.is_simply_laced()
False
sage: ct.affine()
['B', 4, 1]
sage: ct.dual()
['C', 4]
sage: ct = CartanType(['B',1])
sage: ct.is_simply_laced()
True
sage: ct.affine()
['B', 1, 1]
TESTS:
sage: TestSuite(ct).run()
alias of AmbientSpace
Return an ascii art representation of the Dynkin diagram.
EXAMPLES:
sage: print CartanType(['B',1]).ascii_art()
O
1
sage: print CartanType(['B',2]).ascii_art()
O=>=O
1 2
sage: print CartanType(['B',5]).ascii_art(label = lambda x: x+2)
O---O---O---O=>=O
3 4 5 6 7
Return the Coxeter number associated with self.
EXAMPLES:
sage: CartanType(['B',4]).coxeter_number()
8
Types B and C are in duality:
EXAMPLES:
sage: CartanType(["C", 3]).dual()
['B', 3]
Return the dual Coxeter number associated with self.
EXAMPLES:
sage: CartanType(['B',4]).dual_coxeter_number()
7
Returns a Dynkin diagram for type B.
EXAMPLES:
sage: b = CartanType(['B',3]).dynkin_diagram()
sage: b
O---O=>=O
1 2 3
B3
sage: sorted(b.edges())
[(1, 2, 1), (2, 1, 1), (2, 3, 2), (3, 2, 1)]
sage: b = CartanType(['B',1]).dynkin_diagram()
sage: b
O
1
B1
sage: sorted(b.edges())
[]