# Root system data for type G¶

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

EXAMPLES:

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


One can not construct the ambient lattice because the simple coroots have rational coefficients:

sage: e.simple_coroots()
Finite family {1: (0, 1, -1), 2: (1/3, -2/3, 1/3)}
sage: e.smallest_base_ring()
Rational Field


By default, this ambient space uses the barycentric projection for plotting:

sage: L = RootSystem(["G",2]).ambient_space()
sage: e = L.basis()
sage: L._plot_projection(e[0])
(1/2, 989/1142)
sage: L._plot_projection(e[1])
(-1, 0)
sage: L._plot_projection(e[2])
(1/2, -989/1142)
sage: L = RootSystem(["A",3]).ambient_space()
sage: l = L.an_element(); l
(2, 2, 3, 0)
sage: L._plot_projection(l)
(0, -1121/1189, 7/3)


• sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods._plot_projection()
dimension()

EXAMPLES:

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

fundamental_weights()

EXAMPLES:

sage: CartanType(['G',2]).root_system().ambient_space().fundamental_weights()
Finite family {1: (1, 0, -1), 2: (2, -1, -1)}

negative_roots()

EXAMPLES:

sage: CartanType(['G',2]).root_system().ambient_space().negative_roots()
[(0, -1, 1), (-1, 2, -1), (-1, 1, 0), (-1, 0, 1), (-1, -1, 2), (-2, 1, 1)]

positive_roots()

EXAMPLES:

sage: CartanType(['G',2]).root_system().ambient_space().positive_roots()
[(0, 1, -1), (1, -2, 1), (1, -1, 0), (1, 0, -1), (1, 1, -2), (2, -1, -1)]

simple_root(i)

EXAMPLES:

sage: CartanType(['G',2]).root_system().ambient_space().simple_roots()
Finite family {1: (0, 1, -1), 2: (1, -2, 1)}

class sage.combinat.root_system.type_G.CartanType

EXAMPLES:

sage: ct = CartanType(['G',2])
sage: ct
['G', 2]
sage: ct._repr_(compact = True)
'G2'

sage: ct.is_irreducible()
True
sage: ct.is_finite()
True
sage: ct.is_crystallographic()
True
sage: ct.is_simply_laced()
False
sage: ct.dual()
['G', 2] relabelled by {1: 2, 2: 1}
sage: ct.affine()
['G', 2, 1]

AmbientSpace

alias of AmbientSpace

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

Return an ascii art representation of the Dynkin diagram.

EXAMPLES:

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

coxeter_number()

Return the Coxeter number associated with self.

EXAMPLES:

sage: CartanType(['G',2]).coxeter_number()
6

dual()

Return the dual Cartan type.

This uses that $$G_2$$ is self-dual up to relabelling.

EXAMPLES:

sage: G2 = CartanType(['G',2])
sage: G2.dual()
['G', 2] relabelled by {1: 2, 2: 1}

sage: G2.dynkin_diagram()
3
O=<=O
1   2
G2
sage: G2.dual().dynkin_diagram()
3
O=<=O
2   1
G2 relabelled by {1: 2, 2: 1}

dual_coxeter_number()

Return the dual Coxeter number associated with self.

EXAMPLES:

sage: CartanType(['G',2]).dual_coxeter_number()
4

dynkin_diagram()

Returns a Dynkin diagram for type G.

EXAMPLES:

sage: g = CartanType(['G',2]).dynkin_diagram()
sage: g
3
O=<=O
1   2
G2
sage: sorted(g.edges())
[(1, 2, 1), (2, 1, 3)]