English    English
 
 

Christoph Sorger

Professeur à l'université de Nantes

Varia

Singularités ADE

A2

Voilà quelques images de singularités ADE que j'ai faites à l'occasion d'un colloquium en utilisant les programmes surf et surfex.

Les déformations font bien apparaître le graphe de Dynkin de la singularité !

Si Surf ne veut pas s'intaller sur votre Mac ou Ubuntu, il se peut que cette page soit utile.

Représentations linéaires déterminantielles de surface cubiques

Dans Twisted cubics and Cubic Fourfolds nous déterminons le nombre de représentations linéaires déterminantielles non équivalentes de surfacs cubiques avec type de singularité donné. D'après ce que nous montrons, ils sont en bijection avec les $W(R_0)$-orbits sur $R\setminus R_0$ où $R$ est le système de racines de $E_6$ et où les $R_0$ correspond au type de singularités (classifiés par les sous-diagrammes de Dynkin de $\widetilde{E}_6$).

Voilà le tableau des nombres dans les notations de Dolgachev Classical Algebraic Geometry: A Modern View, Ch. 9:

$R_0$ Type # $R_0$ Type # $R_0$ Type #
$\emptyset$ I72$4A_1$XVI13$A_1+2A_2$XVII6
$A_1$II50$2A_1+A_2$XIII12$A_1+A_4$XIV4
$2A_1$IV34$A_1+A_3$X10$A_5$XI4
$A_2$III30$2A_2$IX12$D_5$XV2
$3A_1$VIII22$A_4$VII8$A_1+A_5$XIX1
$A_1+A_2$VI20$D_4$XII6$3A_2$XXI2
$A_3$V16$2A_1+A_3$XVIII5$E_6$XX0

Ces nombres se calculent par ordinateur. Voilà un programme en utilisant l'interface Gap de Sage.

def number_orbits(RS, S):
    """
    Given a root system RS and a subgroup S of the Weyl group,
    returns the number of orbits for the action of S on the roots.
    """
    P = RS.PositiveRoots()
    N = RS.NegativeRoots()
    R = gap.Concatenation('%s' % P.name(), '%s' % N.name())
    ol = gap.OrbitLengthsDomain('%s' % S.name(), '%s' % R.name())
    return len(ol.sage())

# E6 and its Weyl group
E6 = gap.SimpleLieAlgebra('"E"', '6', 'Rationals')
RS = E6.RootSystem()
W = RS.WeylGroup()
W_gens = W.GeneratorsOfGroup()

# The simple reflections that generate W, s[0]=[], s[1], ..., s[6]
s = [1] + W_gens.sage()
# Determine s[0] in terms of s[i] for i=1, ..., 6.
# We use sage's library combinat for that :
G = WeylGroup(['E', 6])
sr = G.simple_reflections()
reduced_word = sr[0].reduced_word()
s[0] = s[reduced_word[0]]
for i in range(1, len(reduced_word)):
    s[0] = gap.eval('%s * %s' % (s[0], s[reduced_word[i]]))

# Do the calculation :
S = W.Subgroup('[%s^2]' % s[1])
print "I, Ø =", number_orbits(RS, S)
S = W.Subgroup('[%s]' % s[1])
print "II, A1 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s]' % (s[1], s[3]))
print "III, A2 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s]' % (s[1], s[4]))
print "IV, 2A1 =", number_orbits(RS, S) - 2
S = W.Subgroup('[%s, %s, %s]' % (s[1], s[3], s[4]))
print "V, A3 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s, %s]' % (s[1], s[4], s[5]))
print "VI, A1+A2 =", number_orbits(RS, S) - 2
S = W.Subgroup('[%s, %s, %s, %s]' % (s[1], s[3], s[4], s[5]))
print "VII, A4 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s, %s]' % (s[1], s[4], s[6]))
print "VIII, 3A1 =", number_orbits(RS, S) - 3
S = W.Subgroup('[%s, %s, %s, %s]' % (s[1], s[3], s[5], s[6]))
print "IX, 2A2 =", number_orbits(RS, S) - 2
S = W.Subgroup('[%s, %s, %s, %s]' % (s[1], s[4], s[5], s[6]))
print "X, A1+A3 =", number_orbits(RS, S) - 2
S = W.Subgroup('[%s, %s, %s, %s, %s]' % (s[1], s[3], s[4], s[5], s[6]))
print "XI, A5 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s, %s, %s]' % (s[3], s[4], s[5], s[2]))
print "XII, D4 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s, %s, %s]' % (s[1], s[2], s[5], s[6]))
print "XIII, 2A1+A2 =", number_orbits(RS, S) - 3
S = W.Subgroup('[%s, %s, %s, %s, %s]' % (s[1], s[2], s[4], s[5], s[6]))
print "XIV, A1+A4 =", number_orbits(RS, S) - 2
S = W.Subgroup('[%s, %s, %s, %s, %s]' % (s[3], s[2], s[4], s[5], s[6]))
print "XV, D5 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s, %s, %s]' % (s[1], s[4], s[0], s[6]))
print "XVI, 4A1 =", number_orbits(RS, S) - 4
S = W.Subgroup('[%s, %s, %s, %s, %s]' % (s[1], s[2], s[0], s[5], s[6]))
print "XVII, A1+2A2 =", number_orbits(RS, S) - 3
S = W.Subgroup('[%s, %s, %s, %s, %s]' % (s[1], s[0], s[4], s[5], s[6]))
print "XVIII, 2A1+A3 =", number_orbits(RS, S) - 3
S = W.Subgroup('[%s, %s, %s, %s, %s, %s]' % (s[0], s[1], s[3], s[4], s[5], s[6]))
print "XIX, A1+A5 =", number_orbits(RS, S) - 2
S = W.Subgroup('[%s, %s, %s, %s, %s, %s]' % (s[1], s[2], s[3], s[4], s[5], s[6]))
print "XX, E6 =", number_orbits(RS, S) - 1
S = W.Subgroup('[%s, %s, %s, %s, %s, %s]' % (s[1], s[3], s[5], s[6], s[2], s[0]))
print "XXI, 3A2 =", number_orbits(RS, S) - 3