# Root system data for type C¶

class sage.combinat.root_system.type_C.AmbientSpace(root_system, base_ring, index_set=None)

EXAMPLES:

sage: e = RootSystem(['C',2]).ambient_space(); e
Ambient space of the Root system of type ['C', 2]


One cannot construct the ambient lattice because the fundamental coweights have rational coefficients:

sage: e.smallest_base_ring()
Rational Field

sage: RootSystem(['B',2]).ambient_space().fundamental_weights()
Finite family {1: (1, 0), 2: (1/2, 1/2)}

dimension()

EXAMPLES:

sage: e = RootSystem(['C',3]).ambient_space()
sage: e.dimension()
3

fundamental_weight(i)

EXAMPLES:

sage: RootSystem(['C',3]).ambient_space().fundamental_weights()
Finite family {1: (1, 0, 0), 2: (1, 1, 0), 3: (1, 1, 1)}

negative_roots()

EXAMPLES:

sage: RootSystem(['C',3]).ambient_space().negative_roots()
[(-1, 1, 0),
(-1, 0, 1),
(0, -1, 1),
(-1, -1, 0),
(-1, 0, -1),
(0, -1, -1),
(-2, 0, 0),
(0, -2, 0),
(0, 0, -2)]

positive_roots()

EXAMPLES:

sage: RootSystem(['C',3]).ambient_space().positive_roots()
[(1, 1, 0),
(1, 0, 1),
(0, 1, 1),
(1, -1, 0),
(1, 0, -1),
(0, 1, -1),
(2, 0, 0),
(0, 2, 0),
(0, 0, 2)]

root(i, j, p1, p2)

Note that indexing starts at 0.

EXAMPLES:

sage: e = RootSystem(['C',3]).ambient_space()
sage: e.root(0, 1, 1, 1)
(-1, -1, 0)

simple_root(i)

EXAMPLES:

sage: RootSystem(['C',3]).ambient_space().simple_roots()
Finite family {1: (1, -1, 0), 2: (0, 1, -1), 3: (0, 0, 2)}

class sage.combinat.root_system.type_C.CartanType(n)

EXAMPLES:

sage: ct = CartanType(['C',4])
sage: ct
['C', 4]
sage: ct._repr_(compact = True)
'C4'

sage: ct.is_irreducible()
True
sage: ct.is_finite()
True
sage: ct.is_crystallographic()
True
sage: ct.is_simply_laced()
False
sage: ct.affine()
['C', 4, 1]
sage: ct.dual()
['B', 4]

sage: ct = CartanType(['C',1])
sage: ct.is_simply_laced()
True
sage: ct.affine()
['C', 1, 1]

AmbientSpace

alias of AmbientSpace

ascii_art(label=<function <lambda> at 0x7fc515fc1f50>, node=None)

Return a ascii art representation of the extended Dynkin diagram.

EXAMPLES:

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

coxeter_number()

Return the Coxeter number associated with self.

EXAMPLES:

sage: CartanType(['C',4]).coxeter_number()
8

dual()

Types B and C are in duality:

EXAMPLES:

sage: CartanType(["C", 3]).dual()
['B', 3]

dual_coxeter_number()

Return the dual Coxeter number associated with self.

EXAMPLES:

sage: CartanType(['C',4]).dual_coxeter_number()
5

dynkin_diagram()

Returns a Dynkin diagram for type C.

EXAMPLES:

sage: c = CartanType(['C',3]).dynkin_diagram()
sage: c
O---O=<=O
1   2   3
C3
sage: e = c.edges(); e.sort(); e
[(1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 2)]

sage: b = CartanType(['C',1]).dynkin_diagram()
sage: b
O
1
C1
sage: sorted(b.edges())
[]