Root system data for type G

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

Bases: sage.combinat.root_system.ambient_space.AmbientSpace

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)

See also

  • 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

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(['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 CartanType.<lambda> at 0x7f96d34f8af0>, 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)]