next | previous | forward | backward | up | index | toc

# geometricGenus -- Geometric genus of a (singular) plane curve

## Synopsis

• Usage:
g = geometricGenus R
g = geometricGenus I
• Inputs:
• R, a ring, homogeneous coordinate ring of a plane curve
• I, an ideal, defining a plane curve
• Conductor, an ideal, the conductor of R (if not given, it's computed)
• Optional inputs:
• Conductor => ..., default value 0
• Outputs:

## Description

The geometric genus of a plane curve C0 is the genus of the normalization of C0

 i1 : kk = QQ o1 = QQ o1 : Ring i2 : S = kk[x,y,z] o2 = S o2 : PolynomialRing i3 : C1 = ideal (y^3 - x^2*(x-z)) -- cubic with a node; geometric genus 0 3 3 2 o3 = ideal(- x + y + x z) o3 : Ideal of S i4 : C2 = ideal(x^2+y^2+z^2) 2 2 2 o4 = ideal(x + y + z ) o4 : Ideal of S i5 : C3 = ideal (x^4+y^4+z^4) 4 4 4 o5 = ideal(x + y + z ) o5 : Ideal of S i6 : geometricGenus C1 o6 = 0 i7 : geometricGenus C2 o7 = 0 i8 : geometricGenus C3 o8 = 3

Every hyperelliptic curve of genus g can be represented as a plane curve of degree g+2 with a g-fold ordinary singularity, and thus conductor equal to the (g-1)st power of the maximal ideal. As of 1/20/2024, Macaulay2 crashes on computing the conductor when g >= 6, but knowing the conductor one can go much farther:

We make a general hyperelliptic curve of genus g with singularity at q'.

Example g = 20 S = ZZ/101[a,b,c] q' = ideal(a,b); Text Example I = q'^g C = S/(ideal random(g+2, I)); p = sub(p', C); q = sub(q', C); geometricGenus (C, Conductor => q'^(g-1))