# Root system data for type E#

class sage.combinat.root_system.type_E.AmbientSpace(root_system, baseRing)[source]#

Bases: AmbientSpace

The lattice behind E6, E7, or E8. The computations are based on Bourbaki, Groupes et Algèbres de Lie, Ch. 4,5,6 (planche V-VII).

dimension()[source]#

EXAMPLES:

sage: e = RootSystem(['E',6]).ambient_space()
sage: e.dimension()
8

>>> from sage.all import *
>>> e = RootSystem(['E',Integer(6)]).ambient_space()
>>> e.dimension()
8

fundamental_weights()[source]#

EXAMPLES:

sage: e = RootSystem(['E',6]).ambient_space()
sage: e.fundamental_weights()
Finite family {1: (0, 0, 0, 0, 0, -2/3, -2/3, 2/3), 2: (1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2), 3: (-1/2, 1/2, 1/2, 1/2, 1/2, -5/6, -5/6, 5/6), 4: (0, 0, 1, 1, 1, -1, -1, 1), 5: (0, 0, 0, 1, 1, -2/3, -2/3, 2/3), 6: (0, 0, 0, 0, 1, -1/3, -1/3, 1/3)}

>>> from sage.all import *
>>> e = RootSystem(['E',Integer(6)]).ambient_space()
>>> e.fundamental_weights()
Finite family {1: (0, 0, 0, 0, 0, -2/3, -2/3, 2/3), 2: (1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2), 3: (-1/2, 1/2, 1/2, 1/2, 1/2, -5/6, -5/6, 5/6), 4: (0, 0, 1, 1, 1, -1, -1, 1), 5: (0, 0, 0, 1, 1, -2/3, -2/3, 2/3), 6: (0, 0, 0, 0, 1, -1/3, -1/3, 1/3)}

negative_roots()[source]#

The negative roots.

EXAMPLES:

sage: e = RootSystem(['E',6]).ambient_space()
sage: e.negative_roots()
[(-1, -1, 0, 0, 0, 0, 0, 0),
(-1, 0, -1, 0, 0, 0, 0, 0),
(-1, 0, 0, -1, 0, 0, 0, 0),
(-1, 0, 0, 0, -1, 0, 0, 0),
(0, -1, -1, 0, 0, 0, 0, 0),
(0, -1, 0, -1, 0, 0, 0, 0),
(0, -1, 0, 0, -1, 0, 0, 0),
(0, 0, -1, -1, 0, 0, 0, 0),
(0, 0, -1, 0, -1, 0, 0, 0),
(0, 0, 0, -1, -1, 0, 0, 0),
(1, -1, 0, 0, 0, 0, 0, 0),
(1, 0, -1, 0, 0, 0, 0, 0),
(1, 0, 0, -1, 0, 0, 0, 0),
(1, 0, 0, 0, -1, 0, 0, 0),
(0, 1, -1, 0, 0, 0, 0, 0),
(0, 1, 0, -1, 0, 0, 0, 0),
(0, 1, 0, 0, -1, 0, 0, 0),
(0, 0, 1, -1, 0, 0, 0, 0),
(0, 0, 1, 0, -1, 0, 0, 0),
(0, 0, 0, 1, -1, 0, 0, 0),
(-1/2, -1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2)]

>>> from sage.all import *
>>> e = RootSystem(['E',Integer(6)]).ambient_space()
>>> e.negative_roots()
[(-1, -1, 0, 0, 0, 0, 0, 0),
(-1, 0, -1, 0, 0, 0, 0, 0),
(-1, 0, 0, -1, 0, 0, 0, 0),
(-1, 0, 0, 0, -1, 0, 0, 0),
(0, -1, -1, 0, 0, 0, 0, 0),
(0, -1, 0, -1, 0, 0, 0, 0),
(0, -1, 0, 0, -1, 0, 0, 0),
(0, 0, -1, -1, 0, 0, 0, 0),
(0, 0, -1, 0, -1, 0, 0, 0),
(0, 0, 0, -1, -1, 0, 0, 0),
(1, -1, 0, 0, 0, 0, 0, 0),
(1, 0, -1, 0, 0, 0, 0, 0),
(1, 0, 0, -1, 0, 0, 0, 0),
(1, 0, 0, 0, -1, 0, 0, 0),
(0, 1, -1, 0, 0, 0, 0, 0),
(0, 1, 0, -1, 0, 0, 0, 0),
(0, 1, 0, 0, -1, 0, 0, 0),
(0, 0, 1, -1, 0, 0, 0, 0),
(0, 0, 1, 0, -1, 0, 0, 0),
(0, 0, 0, 1, -1, 0, 0, 0),
(-1/2, -1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2)]

positive_roots()[source]#

These are the roots positive w.r. to lexicographic ordering of the basis elements (e1<…<e4).

EXAMPLES:

sage: e = RootSystem(['E',6]).ambient_space()
sage: e.positive_roots()
[(1, 1, 0, 0, 0, 0, 0, 0),
(1, 0, 1, 0, 0, 0, 0, 0),
(1, 0, 0, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 0, 0),
(0, 1, 1, 0, 0, 0, 0, 0),
(0, 1, 0, 1, 0, 0, 0, 0),
(0, 1, 0, 0, 1, 0, 0, 0),
(0, 0, 1, 1, 0, 0, 0, 0),
(0, 0, 1, 0, 1, 0, 0, 0),
(0, 0, 0, 1, 1, 0, 0, 0),
(-1, 1, 0, 0, 0, 0, 0, 0),
(-1, 0, 1, 0, 0, 0, 0, 0),
(-1, 0, 0, 1, 0, 0, 0, 0),
(-1, 0, 0, 0, 1, 0, 0, 0),
(0, -1, 1, 0, 0, 0, 0, 0),
(0, -1, 0, 1, 0, 0, 0, 0),
(0, -1, 0, 0, 1, 0, 0, 0),
(0, 0, -1, 1, 0, 0, 0, 0),
(0, 0, -1, 0, 1, 0, 0, 0),
(0, 0, 0, -1, 1, 0, 0, 0),
(1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2, 1/2)]
sage: e.rho()
(0, 1, 2, 3, 4, -4, -4, 4)
sage: E8 = RootSystem(['E',8])
sage: e = E8.ambient_space()
sage: e.negative_roots()
[(-1, -1, 0, 0, 0, 0, 0, 0),
(-1, 0, -1, 0, 0, 0, 0, 0),
(-1, 0, 0, -1, 0, 0, 0, 0),
(-1, 0, 0, 0, -1, 0, 0, 0),
(-1, 0, 0, 0, 0, -1, 0, 0),
(-1, 0, 0, 0, 0, 0, -1, 0),
(-1, 0, 0, 0, 0, 0, 0, -1),
(0, -1, -1, 0, 0, 0, 0, 0),
(0, -1, 0, -1, 0, 0, 0, 0),
(0, -1, 0, 0, -1, 0, 0, 0),
(0, -1, 0, 0, 0, -1, 0, 0),
(0, -1, 0, 0, 0, 0, -1, 0),
(0, -1, 0, 0, 0, 0, 0, -1),
(0, 0, -1, -1, 0, 0, 0, 0),
(0, 0, -1, 0, -1, 0, 0, 0),
(0, 0, -1, 0, 0, -1, 0, 0),
(0, 0, -1, 0, 0, 0, -1, 0),
(0, 0, -1, 0, 0, 0, 0, -1),
(0, 0, 0, -1, -1, 0, 0, 0),
(0, 0, 0, -1, 0, -1, 0, 0),
(0, 0, 0, -1, 0, 0, -1, 0),
(0, 0, 0, -1, 0, 0, 0, -1),
(0, 0, 0, 0, -1, -1, 0, 0),
(0, 0, 0, 0, -1, 0, -1, 0),
(0, 0, 0, 0, -1, 0, 0, -1),
(0, 0, 0, 0, 0, -1, -1, 0),
(0, 0, 0, 0, 0, -1, 0, -1),
(0, 0, 0, 0, 0, 0, -1, -1),
(1, -1, 0, 0, 0, 0, 0, 0),
(1, 0, -1, 0, 0, 0, 0, 0),
(1, 0, 0, -1, 0, 0, 0, 0),
(1, 0, 0, 0, -1, 0, 0, 0),
(1, 0, 0, 0, 0, -1, 0, 0),
(1, 0, 0, 0, 0, 0, -1, 0),
(1, 0, 0, 0, 0, 0, 0, -1),
(0, 1, -1, 0, 0, 0, 0, 0),
(0, 1, 0, -1, 0, 0, 0, 0),
(0, 1, 0, 0, -1, 0, 0, 0),
(0, 1, 0, 0, 0, -1, 0, 0),
(0, 1, 0, 0, 0, 0, -1, 0),
(0, 1, 0, 0, 0, 0, 0, -1),
(0, 0, 1, -1, 0, 0, 0, 0),
(0, 0, 1, 0, -1, 0, 0, 0),
(0, 0, 1, 0, 0, -1, 0, 0),
(0, 0, 1, 0, 0, 0, -1, 0),
(0, 0, 1, 0, 0, 0, 0, -1),
(0, 0, 0, 1, -1, 0, 0, 0),
(0, 0, 0, 1, 0, -1, 0, 0),
(0, 0, 0, 1, 0, 0, -1, 0),
(0, 0, 0, 1, 0, 0, 0, -1),
(0, 0, 0, 0, 1, -1, 0, 0),
(0, 0, 0, 0, 1, 0, -1, 0),
(0, 0, 0, 0, 1, 0, 0, -1),
(0, 0, 0, 0, 0, 1, -1, 0),
(0, 0, 0, 0, 0, 1, 0, -1),
(0, 0, 0, 0, 0, 0, 1, -1),
(-1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2)]
sage: e.rho()
(0, 1, 2, 3, 4, 5, 6, 23)

>>> from sage.all import *
>>> e = RootSystem(['E',Integer(6)]).ambient_space()
>>> e.positive_roots()
[(1, 1, 0, 0, 0, 0, 0, 0),
(1, 0, 1, 0, 0, 0, 0, 0),
(1, 0, 0, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 0, 0),
(0, 1, 1, 0, 0, 0, 0, 0),
(0, 1, 0, 1, 0, 0, 0, 0),
(0, 1, 0, 0, 1, 0, 0, 0),
(0, 0, 1, 1, 0, 0, 0, 0),
(0, 0, 1, 0, 1, 0, 0, 0),
(0, 0, 0, 1, 1, 0, 0, 0),
(-1, 1, 0, 0, 0, 0, 0, 0),
(-1, 0, 1, 0, 0, 0, 0, 0),
(-1, 0, 0, 1, 0, 0, 0, 0),
(-1, 0, 0, 0, 1, 0, 0, 0),
(0, -1, 1, 0, 0, 0, 0, 0),
(0, -1, 0, 1, 0, 0, 0, 0),
(0, -1, 0, 0, 1, 0, 0, 0),
(0, 0, -1, 1, 0, 0, 0, 0),
(0, 0, -1, 0, 1, 0, 0, 0),
(0, 0, 0, -1, 1, 0, 0, 0),
(1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(-1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2, 1/2),
(-1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2, 1/2)]
>>> e.rho()
(0, 1, 2, 3, 4, -4, -4, 4)
>>> E8 = RootSystem(['E',Integer(8)])
>>> e = E8.ambient_space()
>>> e.negative_roots()
[(-1, -1, 0, 0, 0, 0, 0, 0),
(-1, 0, -1, 0, 0, 0, 0, 0),
(-1, 0, 0, -1, 0, 0, 0, 0),
(-1, 0, 0, 0, -1, 0, 0, 0),
(-1, 0, 0, 0, 0, -1, 0, 0),
(-1, 0, 0, 0, 0, 0, -1, 0),
(-1, 0, 0, 0, 0, 0, 0, -1),
(0, -1, -1, 0, 0, 0, 0, 0),
(0, -1, 0, -1, 0, 0, 0, 0),
(0, -1, 0, 0, -1, 0, 0, 0),
(0, -1, 0, 0, 0, -1, 0, 0),
(0, -1, 0, 0, 0, 0, -1, 0),
(0, -1, 0, 0, 0, 0, 0, -1),
(0, 0, -1, -1, 0, 0, 0, 0),
(0, 0, -1, 0, -1, 0, 0, 0),
(0, 0, -1, 0, 0, -1, 0, 0),
(0, 0, -1, 0, 0, 0, -1, 0),
(0, 0, -1, 0, 0, 0, 0, -1),
(0, 0, 0, -1, -1, 0, 0, 0),
(0, 0, 0, -1, 0, -1, 0, 0),
(0, 0, 0, -1, 0, 0, -1, 0),
(0, 0, 0, -1, 0, 0, 0, -1),
(0, 0, 0, 0, -1, -1, 0, 0),
(0, 0, 0, 0, -1, 0, -1, 0),
(0, 0, 0, 0, -1, 0, 0, -1),
(0, 0, 0, 0, 0, -1, -1, 0),
(0, 0, 0, 0, 0, -1, 0, -1),
(0, 0, 0, 0, 0, 0, -1, -1),
(1, -1, 0, 0, 0, 0, 0, 0),
(1, 0, -1, 0, 0, 0, 0, 0),
(1, 0, 0, -1, 0, 0, 0, 0),
(1, 0, 0, 0, -1, 0, 0, 0),
(1, 0, 0, 0, 0, -1, 0, 0),
(1, 0, 0, 0, 0, 0, -1, 0),
(1, 0, 0, 0, 0, 0, 0, -1),
(0, 1, -1, 0, 0, 0, 0, 0),
(0, 1, 0, -1, 0, 0, 0, 0),
(0, 1, 0, 0, -1, 0, 0, 0),
(0, 1, 0, 0, 0, -1, 0, 0),
(0, 1, 0, 0, 0, 0, -1, 0),
(0, 1, 0, 0, 0, 0, 0, -1),
(0, 0, 1, -1, 0, 0, 0, 0),
(0, 0, 1, 0, -1, 0, 0, 0),
(0, 0, 1, 0, 0, -1, 0, 0),
(0, 0, 1, 0, 0, 0, -1, 0),
(0, 0, 1, 0, 0, 0, 0, -1),
(0, 0, 0, 1, -1, 0, 0, 0),
(0, 0, 0, 1, 0, -1, 0, 0),
(0, 0, 0, 1, 0, 0, -1, 0),
(0, 0, 0, 1, 0, 0, 0, -1),
(0, 0, 0, 0, 1, -1, 0, 0),
(0, 0, 0, 0, 1, 0, -1, 0),
(0, 0, 0, 0, 1, 0, 0, -1),
(0, 0, 0, 0, 0, 1, -1, 0),
(0, 0, 0, 0, 0, 1, 0, -1),
(0, 0, 0, 0, 0, 0, 1, -1),
(-1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(-1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, -1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, -1/2, 1/2, 1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, -1/2, 1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, -1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, -1/2, 1/2, -1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, 1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, 1/2, -1/2, 1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, -1/2, -1/2, -1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, -1/2, 1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, 1/2, -1/2, 1/2, -1/2),
(1/2, 1/2, 1/2, 1/2, 1/2, 1/2, -1/2, -1/2)]
>>> e.rho()
(0, 1, 2, 3, 4, 5, 6, 23)

root(i1, i2=None, i3=None, i4=None, i5=None, i6=None, i7=None, i8=None, p1=0, p2=0, p3=0, p4=0, p5=0, p6=0, p7=0, p8=0)[source]#

Compute an element of the underlying lattice, using the specified elements of the standard basis, with signs dictated by the corresponding ‘pi’ arguments. We rely on the caller to provide the correct arguments. This is typically used to generate roots, although the generated elements need not be roots themselves. We assume that if one of the indices is not given, the rest are not as well. This should work for E6, E7, E8.

EXAMPLES:

sage: e = RootSystem(['E',6]).ambient_space()
sage: [ e.root(i, j, p3=1) for i in range(e.n) for j in range(i+1, e.n) ]
[(1, 1, 0, 0, 0, 0, 0, 0),
(1, 0, 1, 0, 0, 0, 0, 0),
(1, 0, 0, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 0, 0),
(1, 0, 0, 0, 0, 1, 0, 0),
(1, 0, 0, 0, 0, 0, 1, 0),
(1, 0, 0, 0, 0, 0, 0, 1),
(0, 1, 1, 0, 0, 0, 0, 0),
(0, 1, 0, 1, 0, 0, 0, 0),
(0, 1, 0, 0, 1, 0, 0, 0),
(0, 1, 0, 0, 0, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 0),
(0, 1, 0, 0, 0, 0, 0, 1),
(0, 0, 1, 1, 0, 0, 0, 0),
(0, 0, 1, 0, 1, 0, 0, 0),
(0, 0, 1, 0, 0, 1, 0, 0),
(0, 0, 1, 0, 0, 0, 1, 0),
(0, 0, 1, 0, 0, 0, 0, 1),
(0, 0, 0, 1, 1, 0, 0, 0),
(0, 0, 0, 1, 0, 1, 0, 0),
(0, 0, 0, 1, 0, 0, 1, 0),
(0, 0, 0, 1, 0, 0, 0, 1),
(0, 0, 0, 0, 1, 1, 0, 0),
(0, 0, 0, 0, 1, 0, 1, 0),
(0, 0, 0, 0, 1, 0, 0, 1),
(0, 0, 0, 0, 0, 1, 1, 0),
(0, 0, 0, 0, 0, 1, 0, 1),
(0, 0, 0, 0, 0, 0, 1, 1)]

>>> from sage.all import *
>>> e = RootSystem(['E',Integer(6)]).ambient_space()
>>> [ e.root(i, j, p3=Integer(1)) for i in range(e.n) for j in range(i+Integer(1), e.n) ]
[(1, 1, 0, 0, 0, 0, 0, 0),
(1, 0, 1, 0, 0, 0, 0, 0),
(1, 0, 0, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 0, 0),
(1, 0, 0, 0, 0, 1, 0, 0),
(1, 0, 0, 0, 0, 0, 1, 0),
(1, 0, 0, 0, 0, 0, 0, 1),
(0, 1, 1, 0, 0, 0, 0, 0),
(0, 1, 0, 1, 0, 0, 0, 0),
(0, 1, 0, 0, 1, 0, 0, 0),
(0, 1, 0, 0, 0, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 0),
(0, 1, 0, 0, 0, 0, 0, 1),
(0, 0, 1, 1, 0, 0, 0, 0),
(0, 0, 1, 0, 1, 0, 0, 0),
(0, 0, 1, 0, 0, 1, 0, 0),
(0, 0, 1, 0, 0, 0, 1, 0),
(0, 0, 1, 0, 0, 0, 0, 1),
(0, 0, 0, 1, 1, 0, 0, 0),
(0, 0, 0, 1, 0, 1, 0, 0),
(0, 0, 0, 1, 0, 0, 1, 0),
(0, 0, 0, 1, 0, 0, 0, 1),
(0, 0, 0, 0, 1, 1, 0, 0),
(0, 0, 0, 0, 1, 0, 1, 0),
(0, 0, 0, 0, 1, 0, 0, 1),
(0, 0, 0, 0, 0, 1, 1, 0),
(0, 0, 0, 0, 0, 1, 0, 1),
(0, 0, 0, 0, 0, 0, 1, 1)]

simple_root(i)[source]#
There are computed as what Bourbaki calls the Base:

a1 = e2-e3, a2 = e3-e4, a3 = e4, a4 = 1/2*(e1-e2-e3-e4)

EXAMPLES:

sage: LE6 = RootSystem(['E',6]).ambient_space()
sage: LE6.simple_roots()
Finite family {1: (1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2), 2: (1, 1, 0, 0, 0, 0, 0, 0), 3: (-1, 1, 0, 0, 0, 0, 0, 0), 4: (0, -1, 1, 0, 0, 0, 0, 0), 5: (0, 0, -1, 1, 0, 0, 0, 0), 6: (0, 0, 0, -1, 1, 0, 0, 0)}

>>> from sage.all import *
>>> LE6 = RootSystem(['E',Integer(6)]).ambient_space()
>>> LE6.simple_roots()
Finite family {1: (1/2, -1/2, -1/2, -1/2, -1/2, -1/2, -1/2, 1/2), 2: (1, 1, 0, 0, 0, 0, 0, 0), 3: (-1, 1, 0, 0, 0, 0, 0, 0), 4: (0, -1, 1, 0, 0, 0, 0, 0), 5: (0, 0, -1, 1, 0, 0, 0, 0), 6: (0, 0, 0, -1, 1, 0, 0, 0)}

class sage.combinat.root_system.type_E.CartanType(n)[source]#

EXAMPLES:

sage: ct = CartanType(['E',6])
sage: ct
['E', 6]
sage: ct._repr_(compact = True)
'E6'
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()
True
sage: ct.affine()
['E', 6, 1]
sage: ct.dual()
['E', 6]

>>> from sage.all import *
>>> ct = CartanType(['E',Integer(6)])
>>> ct
['E', 6]
>>> ct._repr_(compact = True)
'E6'
>>> ct.is_irreducible()
True
>>> ct.is_finite()
True
>>> ct.is_affine()
False
>>> ct.is_crystallographic()
True
>>> ct.is_simply_laced()
True
>>> ct.affine()
['E', 6, 1]
>>> ct.dual()
['E', 6]

AmbientSpace[source]#

alias of AmbientSpace

ascii_art(label=None, node=None)[source]#

Return a ascii art representation of the extended Dynkin diagram.

EXAMPLES:

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

>>> from sage.all import *
>>> print(CartanType(['E',Integer(6)]).ascii_art(label = lambda x: x+Integer(2)))
O 4
|
|
O---O---O---O---O
3   5   6   7   8
>>> print(CartanType(['E',Integer(7)]).ascii_art(label = lambda x: x+Integer(2)))
O 4
|
|
O---O---O---O---O---O
3   5   6   7   8   9
>>> print(CartanType(['E',Integer(8)]).ascii_art(label = lambda x: x+Integer(1)))
O 3
|
|
O---O---O---O---O---O---O
2   4   5   6   7   8   9

coxeter_number()[source]#

Return the Coxeter number associated with self.

EXAMPLES:

sage: CartanType(['E',6]).coxeter_number()
12
sage: CartanType(['E',7]).coxeter_number()
18
sage: CartanType(['E',8]).coxeter_number()
30

>>> from sage.all import *
>>> CartanType(['E',Integer(6)]).coxeter_number()
12
>>> CartanType(['E',Integer(7)]).coxeter_number()
18
>>> CartanType(['E',Integer(8)]).coxeter_number()
30

dual_coxeter_number()[source]#

Return the dual Coxeter number associated with self.

EXAMPLES:

sage: CartanType(['E',6]).dual_coxeter_number()
12
sage: CartanType(['E',7]).dual_coxeter_number()
18
sage: CartanType(['E',8]).dual_coxeter_number()
30

>>> from sage.all import *
>>> CartanType(['E',Integer(6)]).dual_coxeter_number()
12
>>> CartanType(['E',Integer(7)]).dual_coxeter_number()
18
>>> CartanType(['E',Integer(8)]).dual_coxeter_number()
30

dynkin_diagram()[source]#

Returns a Dynkin diagram for type E.

EXAMPLES:

sage: # needs sage.graphs
sage: e = CartanType(['E',6]).dynkin_diagram(); e
O 2
|
|
O---O---O---O---O
1   3   4   5   6
E6
sage: e.edges(sort=True)
[(1, 3, 1), (2, 4, 1), (3, 1, 1), (3, 4, 1), (4, 2, 1),
(4, 3, 1), (4, 5, 1), (5, 4, 1), (5, 6, 1), (6, 5, 1)]
sage: e = CartanType(['E',7]).dynkin_diagram(); e
O 2
|
|
O---O---O---O---O---O
1   3   4   5   6   7
E7
sage: e.edges(sort=True)
[(1, 3, 1), (2, 4, 1), (3, 1, 1), (3, 4, 1), (4, 2, 1),
(4, 3, 1), (4, 5, 1), (5, 4, 1), (5, 6, 1), (6, 5, 1),
(6, 7, 1), (7, 6, 1)]
sage: e = CartanType(['E',8]).dynkin_diagram(); e
O 2
|
|
O---O---O---O---O---O---O
1   3   4   5   6   7   8
E8
sage: e.edges(sort=True)
[(1, 3, 1), (2, 4, 1), (3, 1, 1), (3, 4, 1), (4, 2, 1),
(4, 3, 1), (4, 5, 1), (5, 4, 1), (5, 6, 1), (6, 5, 1),
(6, 7, 1), (7, 6, 1), (7, 8, 1), (8, 7, 1)]

>>> from sage.all import *
>>> # needs sage.graphs
>>> e = CartanType(['E',Integer(6)]).dynkin_diagram(); e
O 2
|
|
O---O---O---O---O
1   3   4   5   6
E6
>>> e.edges(sort=True)
[(1, 3, 1), (2, 4, 1), (3, 1, 1), (3, 4, 1), (4, 2, 1),
(4, 3, 1), (4, 5, 1), (5, 4, 1), (5, 6, 1), (6, 5, 1)]
>>> e = CartanType(['E',Integer(7)]).dynkin_diagram(); e
O 2
|
|
O---O---O---O---O---O
1   3   4   5   6   7
E7
>>> e.edges(sort=True)
[(1, 3, 1), (2, 4, 1), (3, 1, 1), (3, 4, 1), (4, 2, 1),
(4, 3, 1), (4, 5, 1), (5, 4, 1), (5, 6, 1), (6, 5, 1),
(6, 7, 1), (7, 6, 1)]
>>> e = CartanType(['E',Integer(8)]).dynkin_diagram(); e
O 2
|
|
O---O---O---O---O---O---O
1   3   4   5   6   7   8
E8
>>> e.edges(sort=True)
[(1, 3, 1), (2, 4, 1), (3, 1, 1), (3, 4, 1), (4, 2, 1),
(4, 3, 1), (4, 5, 1), (5, 4, 1), (5, 6, 1), (6, 5, 1),
(6, 7, 1), (7, 6, 1), (7, 8, 1), (8, 7, 1)]