OFFSET
1,3
LINKS
Pieter Belmans, Table of n, a(n) for n = 1..215
P. Deligne and N. Katz, Groupes de monodromie en géométrie algébrique (SGA 7 II), Springer-Verlag, 1973, pages 39-61.
PROG
(Sage)
def genus(degrees):
n = len(degrees) + 1
return 1 + 1 / 2 * prod(degrees) * (sum(degrees) - n - 1)
"""
Generate a list of all genera of complete intersection curves up to a cutoff.
Observe that the genus strictly increases if we increase the degree of a defining equation, while adding a hyperplane section keeps the degree fixed.
So we can obtain all low genera starting from the line in P^2, and increasing the number of equations and the degrees of the defining equations
"""
def listOfGenera(cutoff):
queue = [(1, )]
genera = []
while len(queue) > 0:
degrees = queue.pop()
g = genus(degrees)
if g < cutoff:
# if we haven't found this one yet we add it to the list
if g not in genera:
genera.append(g)
# use this to get information on how to realize a curve
# print (g, degrees)
# add all valid (d_1, ..., d_i+1, ..., d_{n-1})
for i in range(len(degrees)):
new = list(degrees)
new[i] = new[i] + 1
# we only look at increasing lists of degrees
if sorted(new) == new:
queue.append(tuple(new))
# add (d_1, ..., d_{n-1}, 2): with , 1 at the end genus is constant
queue.append(degrees + (2, ))
return sorted(genera)
CROSSREFS
KEYWORD
nonn
AUTHOR
Pieter Belmans, Dec 27 2015
STATUS
approved