Varia
Singularités ADE
Voilà quelques assets/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é !
- A1 et A1 déformé
- A2 et A2 déformé
- A3 et A3 déformé
- D4 et D4 déformé
Si Surf ne veut pas s’installer sur votre Mac ou Ubuntu, il se peut que cette page soit utile.
Représentations linéaires determinantielles de surface cubiques
Dans Twisted cubics and Cubic Fourfolds nous déterminons le nombre de représentations linéaires determinantielles non équivalentes de surfaces 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\) | I | 72 | \(4A_1\) | XVI | 13 | \(A_1+2A_2\) | XVII | 6 |
\(A_1\) | II | 50 | \(2A_1+A_2\) | XIII | 12 | \(A_1+A_4\) | XIV | 4 |
\(2A_1\) | IV | 34 | \(A_1+A_3\) | X | 10 | \(A_5\) | XI | 4 |
\(A_2\) | III | 30 | \(2A_2\) | IX | 12 | \(D_5\) | XV | 2 |
\(3A_1\) | VIII | 22 | \(A_4\) | VII | 8 | \(A_1+A_5\) | XIX | 1 |
\(A_1+A_2\) | VI | 20 | \(D_4\) | XII | 6 | \(3A_2\) | XXI | 2 |
\(A_3\) | V | 16 | \(2A_1+A_3\) | XVIII | 5 | \(E_6\) | X | 0 |
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