Root system data for type G#

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

Bases: 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: # needs sage.symbolic
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: CartanType_standard_finite, CartanType_simple, 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=None, 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()                                                   # needs sage.graphs
  3
O=<=O
1   2
G2
sage: G2.dual().dynkin_diagram()                                            # needs sage.graphs
  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(); g                           # needs sage.graphs
  3
O=<=O
1   2
G2
sage: g.edges(sort=True)                                                    # needs sage.graphs
[(1, 2, 1), (2, 1, 3)]