|
This section contains functionality to compute smallest degree covering maps from a curve
to the projective line (P)1, which are equivalent to smallest degree functions on the
curve. We refer to such maps as gonal maps (the degree of such a map is usually
referred to as the gonality of the curve). There are intrinsics for all general type
(genus ≥2) curves of genus less than seven and for all trigonal (gonality 3) curves.
The trigonal cases use the Lie algebra method to construct degree 3 maps following the
algorithm in [SS]. The 4-gonal cases for genus 5 and 6 curves use
the algorithms
in [Har13]. Hyperelliptic cases (gonality 2) are dealt with directly
using the canonical map and parametrisation of rational curves.
Gonal maps may not exist over the base field and the intrinsics here will return
a gonal map over a finite extension in such cases. In some cases, the degree of
a minimal extension over which a gonal map may be constructed is determined exactly.
In others, this may involve difficult arithmetic problems (e.g., finding a point
of minimal degree on a plane sextic over (Q)) and the extension used may not
be of minimal degree. This is discussed further in the descriptions of the
intrinsics. The intrinsics are designed for input curves defined over number fields
or finite fields.
There are also some intrinsics to compute minimal degree plane models of curves of
genus 5 and 6. In the genus 6 case, these birational models may be defined over
a small extension field of the base field (an exact minimal degree extension is
found here). In the genus 5 case, the intrinsic computes models over the base
field given a rational point or divisor of degree 2 in the generic case that
may be input by the user. The functionality here is incomplete and doesn't currently
cover every type of genus 5 or 6 curve or lower genus curves. We plan to extend this
in later releases.
The algorithm of Schicho and Sevilla used for trigonal curves actually covers
the slightly more general case of Clifford index one. An algebraic curve
has Clifford index one iff it is trigonal or it is of genus 6 and isomorphic
to a non-singular plane quintic. In the latter case, the curve has gonality 4.
Classical theory (e.g. Petri's theorem) tells us that a curve of genus greater
than one has Clifford index 1 precisely when its canonical image is not defined
by quadrics alone. For genus > 3, a minimal basis for the ideal defining
the canonical image will then consist of quadrics and cubics. A non-hyperelliptic
genus 3 curve is always trigonal and it's canonical image is defined by a
smooth quartic in the projective plane.
This gives a simple computational test for Clifford index 1. There is an
intrinsic described below that may be called directly by the user for
Clifford index 1 canonical curves that returns a gonal map to (P)1 in the
trigonal case or gives a birational map to a smooth plane quintic.
Convenience function for the user. Returns the genus g of the curve C, a Boolean
value which is true iff g ≤1 or C is hyperelliptic, and
the canonical map from C to its canonical image if g > 1.
CliffordIndexOne(C,X) : Crv,Sch -> MapSch
The curve C should be a (non-singular) canonical model of a curve of Clifford index 1
(this condition may be tested as described in the introduction). Computes
and returns a degree 3 map to the projective line (P)1 or a birational
map onto a smooth plane quintic, depending on whether C is trigonal or not.
In the trigonal case, the map may be defined over a quadratic extension of
the base field for curves of even genus. This will occur only if no such map exists
over the base field.
In the plane quintic case, the map is always defined over the base field.
The trigonal case requires that the characteristic of the base field is not 2.
The algorithm used is that of Schicho and Sevilla that applies the Lie algebra
method to explicitly compute the fibration map to (P)1 of the rational
scroll surface X that is defined by the quadrics in the defining ideal of
the canonical curve C. The second version of the intrinsic also takes X
as an argument in case the user has already computed it.
> P5<x,y,z,s,t,u> := ProjectiveSpace(Rationals(),5);
> C := Curve(P5,[
> -y*z+x*s-y*s+z*t-4*s*t+t^2+2*s*u-3*t*u+2*u^2,
> -z^2+s^2+x*t+2*z*t-2*t^2-4*s*u-2*t*u+4*u^2,
> -z*s-s^2+z*t+t^2+x*u-2*s*u-7*t*u+6*u^2,
> -z*s+s^2+y*t+2*s*t-t^2-2*s*u+t*u,
> -s^2+s*t+y*u-s*u-t*u+u^2,
> -s*t+t^2+z*u-s*u-3*t*u+2*u^2,
> x^3-3*x^2*y+7*x*y^2+3*y^3+x*y*z-y*z^2+9*z^3+3*y^2*s-3*y*z*s-7*z^2*s-7*y*s^2+
> 17*z*s^2-86*s^3-4*z*s*t-16*s^2*t-185*z*t^2+807*s*t^2-406*t^3+17*s^2*u-
> 666*s*t*u+1391*t^2*u+228*s*u^2-1378*t*u^2+393*u^3,
> x^2*z-2*x*y*z+5*y^2*z+y*z^2+3*z^3+8*y^2*s+y*z*s-7*z^2*s+3*y*s^2+17*z*s^2-
> 47*s^3+6*z^2*t+9*z*s*t+s^2*t+32*z*t^2+11*s*t^2-103*t^3-51*s^2*u-171*s*t*u+
> 433*t^2*u+89*s*u^2-577*t*u^2+246*u^3,
> x*z^2-y*z^2-z^3+4*y*z*s+z^2*s+8*y*s^2-3*z*s^2-5*s^3+7*z^2*t-3*z*s*t+17*s^2*t+
> 8*z*t^2-2*s*t^2+62*t^3-41*s^2*u-34*s*t*u-28*t^2*u+14*s*u^2-127*t*u^2+92*u^3
> ]);
> // C a genus 6 canonical curve of gonality 3
> mp3 := CliffordIndexOne(C);
> mp3;
Mapping from: Crv: C to Curve over Rational Field defined by
0
with equations :
x - 2*z + 10*s - 7*t + 10*u
-2/5*x - 24/5*s + 26/5*t - 44/5*u
We can check that mp3 gives a degree 3 map by seeing that the
degree 10 linear pencil of divisors generated by D 1 and D 2, the hyperplane
sections of C given by the two defining equations of the map, has a
common degree 7 factor.
> defs := DefiningPolynomials(mp3);
> D1 := Scheme(C,defs[1]);
> D2 := Scheme(C,defs[2]);
> D12 := Scheme(C,defs);
> Degree(D1); Degree(D2);
10
10
> Dimension(D12); Degree(D12);
0
7
This section contains intrinsics to compute gonal maps for curves with genus
greater than one and less than seven.
Returns a degree 2 map from genus 2 curve C to the projective line. The map
is defined over a quadratic extension of the base field k iff no such map
exists over k. The map is just the canonical map followed by an inverse
parametrisation of its image.
IsCanonical: BoolElt Default: false
For a genus 3 curve C, returns the gonality (2 or 3) and a gonal map to (P)1.
C is trigonal precisely when it is non-hyperelliptic, when its canonical image
is a plane quartic Q. Gonal maps are given by the canonical map onto Q followed by
projection from a point on Q. Constructing one requires finding a point on Q.
If Q is defined over the rationals, a point search up to a small height is applied,
and if Q is defined over a finite field a point enumeration is applied to try to
find a point over the base field. If this fails to locate a point or if the base field
is a number field, a point of Q over an extension of degree ≤4 of the base field
is used. Thus the map returned may be over an extension of the base field and this
extension may not be of minimal degree.
If the input C is already a canonical model, parameter IsCanonical may be
set to true. This will simplify the internal processing. NB The defining equations
of C must be a minimal basis for its defining ideal.
IsCanonical: BoolElt Default: false
For a genus 4 curve C, returns the gonality (2 or 3) and a gonal map to (P)1.
C is trigonal precisely when it is non-hyperelliptic. In the trigonal case,
a gonal map is computed using the CliffordIndexOne intrinsic. This involves
computing a fibration map for a quadric surface in (P)3 containing the canonical
image of C, which may be defined over a biquadratic extension of the base field
in bad cases. So the map returned may be defined over an extension of degree 4,
whereas the map on C should always be defined over an extension of degree at most
2. We will try to fix this in later releases.
If the input C is already a canonical model, parameter IsCanonical may be
set to true. This will simplify the internal processing. NB The defining equations
of C must be a minimal basis for its defining ideal.
DataOnly: BoolElt Default: false
IsCanonical: BoolElt Default: false
For a genus 5 curve C, returns the gonality (2, 3 or 4) and a gonal map to (P)1.
In the gonality 4 case, it also returns some extra data that gives the parametrisation
of the set of degree 4 linear pencils (g14s) which give the gonal maps.
The hyperelliptic case (gonality 2) is handled as usual by parametrising the canonical
image which gives a gonal map that may be defined over a quadratic extension of
the base field.
The trigonal case is easy to deal with here since the rational scroll X that contains
the canonical image of C is of codimension 2 in its ambient. We directly compute the
fibration map of X from the minimal free polynomial resolution of the canonical
coordinate ring of C. This gives a gonal map on C that is always defined over
the base field.
In the general (4-gonal case), there are infinitely many equivalence classes of
gonal maps which are parametrised by a plane quintic curve F. This
along with a function f which takes a point in F(K) as an argument are returned
as third and fourth return values. f evaluated at p∈F(K) will return the
corresponding gonal map on C which is defined over K or a quadratic extension
of it. The actual gonal map returned as the second return value is given by
searching for a point on F over a small extension of the base field. We use
a point search as for Genus3GonalMap if the base field is the rationals
or a finite field. Otherwise or if this fails, we find a point over an extension
field by decomposing a random hyperplane section of F. We try to use singular
points on F, if they exist, which correspond to g14s whose associated
rational scroll is defined by a rank 3 rather than a rank 4 quadric.
If the parameter DataOnly is set to true (the default is false), then
only the gonality is returned when it is less than 4, and only the gonality,
F and f are computed and returned in the 4-gonal case.
If the input C is already a canonical model, parameter IsCanonical may be
set to true. This will simplify the internal processing. NB The defining equations
of C must be a minimal basis for its defining ideal.
DataOnly: BoolElt Default: false
IsCanonical: BoolElt Default: false
For a genus 6 curve C, returns the gonality (2, 3 or 4), a second type identifier and a
gonal map to (P)1. The second type number is irrelevant in the gonality 2 and 3
cases, when it is always 1. It is 1,2 or 3 in the 4-gonal case.
For 4-gonal curves of secondary type 2, C is a double cover of a genus 1 curve
E through which all gonal maps factor. In this case, the map giving this double
covering is returned as a fourth return value. Secondary type 3 curves are isomorphic
to (smooth) plane quintics and an isomorphism to such a quintic is returned as the
fourth return value. These maps are defined over the base field.
The hyperelliptic case (gonality 2) is handled as for Genus5GonalMap.
The trigonal case requires the characteristic of the base field to not be 2.
It uses the CliffordIndexOne intrinsic and constructs a gonal map
that is defined over a quadratic extension of the base field k if no such map
exists over k.
There are 3 distinct subcases of the 4-gonal case, which are distinguished by
the second return number.
Type 2 curves are double covers of a genus 1 curve
E and there are infinitely many 4-gonal maps which are given by composing
this double cover with a degree 2 map of E to (P)1. E is constructed
as a projective normal curve of degree 5 in (P)4. The gonal map returned
is found by looking for k-rational points on E by general point search methods
and, if this fails, taking a point on E defined over a finite extension of
k lying in a random hyperplane section of E.
Type 3 curves are (birationally)
isomorphic to a plane quintic C5. The infinitely many 4-gonal maps are given by
projection from a point on C5. The gonal map returned is constructed by finding
a k-rational point on C5 or one over a finite extension as for type 2.
Type 1 (general type) curves have only finitely many gonal maps up to equivalence
(5 at most, in fact). The algorithm explicitly finds algebraic data defining these
map classes. It chooses one defined over k if possible. Otherwise, we take
one over a minimal degree extension of k. The gonal map returned is thus
defined over a minimal degree extension of k for such maps.
If the parameter DataOnly is set to true (the default is false), then
only the gonality (and secondary type 1) is returned when it is less than 4, and
only the gonality, secondary type t and fourth return value when t=2 or 3
are computed and returned in the 4-gonal case.
If the input C is already a canonical model, parameter IsCanonical may be
set to true. This will simplify the internal processing. NB The defining equations
of C must be a minimal basis for its defining ideal.
We give some examples with 4-gonal curves of genus 5 and 6.
Firstly, we take a random canonical curve of genus 5 given
by the intersection of 3 quadrics in (P) 4.
> P4<x,y,z,t,u> := ProjectiveSpace(Rationals(),4);
> C := Curve(P4,[
> -x^2-x*y-y*z+z^2-x*t-y*t-z*t+t^2-x*u+y*u-t*u,
> -x*y+y^2+y*z+x*t+y*t-z*t+z*u+t*u+u^2,
> -x^2-x*y-y*z+z^2+x*t-y*t+t^2-x*u+y*u+z*u+t*u+u^2]);
> g,mp4,F,f := Genus5GonalMap(C);
> g;
4
> mp4;
Mapping from: Crv: C to Curve over Rational Field defined by
0
with equations :
z + u
t
> F;
Curve over Rational Field defined by
7*u^5+6*u^4*v-50*u^3*v^2+40*u^2*v^3+3*u*v^4+2*v^5+48*u^4*w-22*u^3*v*w-
50*u^2*v^2*w+30*u*v^3*w+10*v^4*w+134*u^3*w^2-24*u^2*v*w^2-36*u*v^2*w^2+
8*v^3*w^2+187*u^2*w^3+6*u*v*w^3-19*v^2*w^3+129*u*w^4+6*v*w^4+35*w^5
Next, we look at a genus 6 curve that is a degree 2 cover of a genus 1 curve.
> P3<x,y,z,t> := ProjectiveSpace(Rationals(),3);
> C := Curve(P3,[ x^2*y^2-x^2*t^2-z^2*t^2+2*t^4,
> y^4-x*z^2*t-2*y^2*t^2+2*x*t^3+t^4,
> x^3-y^2*t+t^3 ]);
> Genus(C);
6
> g,t,mp4,mpE := Genus6GonalMap(C);
> g; t;
4
2
> mp4;
Mapping from: Crv: C to Curve over Rational Field defined by
0
with equations :
x
t
> mpE;
Mapping from: Crv: C to Curve over Rational Field defined by
$.1^2 + $.2*$.3 - $.4*$.5,
$.1*$.2 + $.3^2 - $.5^2,
$.2^2 - $.1*$.3,
$.2*$.4 - $.1*$.5,
$.3*$.4 - $.2*$.5
with equations :
x^2
x*t
t^2
x*y
y*t
This section contains intrinsics to compute minimal degree birational plane models
for curves of genus 5 or 6.
IsCanonical: BoolElt Default: false
For a genus 6 curve C of gonality 4 which isn't the double cover of a
genus 1 curve (i.e. subtype 2 for Genus6GonalMap), returns a birational map
to a plane curve of minimal degree (5 or 6). This map may be defined over a
finite extension of the base field k, but it will always be a minimal degree
extension for the existence of minimal degree plane models. The first return
value is a boolean, which is true only if C is of gonality 4 and not of
subtype 2. If so, the second return value is the map to the curve.
When C is birationally isomorphic to a plane quintic C5, (subtype 3 for
Genus6GonalMap), C5 is a minimal degree plane model and it and the
birational map to it are defined over k. This is a Clifford index 1 case,
and the computation is performed via the CliffordIndexOne intrinsic.
In the general case, (subtype 1 for Genus6GonalMap), the smallest
degree plane models are of degree 6, there are only finitely many birational
maps from C to degree 6 plane curves up to linear equivalence and these are in
1-1 correspondence with the finitely many equivalence classes of gonal maps.
The birational maps to plane models are computed by a slight variant of
the same algorithm used to compute the gonal maps (see [Har13]).
The return value is over the base field k, if possible, and otherwise over a
smallest degree (at most 5) possible field extension.
If the input C is already a canonical model, parameter IsCanonical may be
set to true. This will simplify the internal processing. NB The defining equations
of C must be a minimal basis for its defining ideal.
Genus5PlaneCurveModel(C,P) : Crv, Pt -> BoolElt, MapSch
Genus5PlaneCurveModel(C,Z) : Crv, Sch -> BoolElt, MapSch
IsCanonical: BoolElt Default: false
For a genus 5 curve C, tries to compute a birational map over the base field k
to a plane curve of minimal degree (5 or 6) for plane curve models over bar(k).
The first return value is a boolean which is true if the construction succeeds
and, if so, the second return value is the birational map to the plane curve.
If C is hyperelliptic, the return value is always false. Gonality 3 curves
are always birational over k to a plane curve of degree 5 with a single
singular point and the computation always succeeds. The map to (P)2
on a canonical model Cc of C lying in (P)4 is given by projection from
a line lying in the rational scroll surface X that contains Cc.
If C is 4-gonal and isn't a double cover of a genus 1 curve, the minimal degree
plane model is of degree 6 and there are infinitely many of these (up to linear
equivalence) that are given by projection from a secant line or tangent line
of the canonical model Cc.
To find a birational map to such a model over k, we need a secant
or tangent line defined over k, which will correspond to a k-rational
point on Cc or a k-rational reduced divisor of degree 2 (i.e. 2 distinct
points that are k-rational or conjugate over a quadratic extension of k).
The second and third versions of the function have a second argument that should
be a k-rational non-singular point on C or a reduced subscheme of
C of dimension 0 and degree 2, whose points (over bar(k)) lie in the
non-singular locus of C. These are used to define the k-rational tangent line
or secant line on the canonical model and the intrinsic will always succeed and
return the map to a degree 6 model if they are provided by the user.
In the version with only the curve C as input, the intrinsic attempts to find
a (non-singular) k-rational point on C using PointSearch if the
base field is the rationals or using point enumeration if the base field is
a finite field. If this search fails, or k is a field of a different type,
the intrinsic will fail and return false.
If the input C is already a canonical model, parameter IsCanonical may be
set to true. This will simplify the internal processing. NB The defining equations
of C must be a minimal basis for its defining ideal.
We use the intrinsic for genus 6 curves to get a degree 6 plane model
for the modular curve X 0(58), starting from its canonical model.
> X := X0NQuotient(58,[]);
> X;
Curve over Rational Field defined by
x[1]^2-x[1]*x[3]+x[2]*x[4]+x[2]*x[5]-x[1]*x[6]+x[4]*x[6]+x[5]*x[6],
x[1]^2-x[1]*x[2]-x[2]^2-x[1]*x[3]-x[1]*x[4]+x[3]*x[4]+x[2]*x[5]+x[3]*x[5],
-x[1]^2+x[1]*x[2]+x[2]^2+x[4]^2+x[4]*x[5]-x[2]*x[6],
-x[1]^2-x[1]*x[2]+x[2]^2+x[2]*x[3]-x[1]*x[4]+x[2]*x[4]+x[3]*x[4]+x[4]^2-x[5]*x[6],
x[2]^2-x[1]*x[3]+x[2]*x[3]+x[3]^2-x[1]*x[4]+x[3]*x[4]+x[2]*x[6]+x[3]*x[6],
x[1]*x[2]-x[2]*x[3]-x[1]*x[4]+x[3]*x[4]+x[2]*x[5]+x[3]*x[5]+x[4]*x[5]-x[1]*x[6]+
x[2]*x[6]+x[3]*x[6]+x[4]*x[6]
> boo,mp := Genus6PlaneCurveModel(X : IsCanonical := true);
> boo;
true
> C<x,y,z> := Codomain(mp); //the plane model
> C;
Curve over Rational Field defined by
x^6-3*x^5*y+x^4*y^2+3*x^3*y^3-7/4*x^2*y^4-1/4*x*y^5-1/4*y^6+3/2*x^5*z-x^4*y*z-
9/2*x^3*y^2*z+7/2*x^2*y^3*z+5/8*x*y^4*z+3/4*y^5*z+5/4*x^4*z^2+1/4*x^3*y*z^2-
3*x^2*y^2*z^2+3/4*x*y^3*z^2-3/4*y^4*z^2+5/8*x^3*z^3+5/4*x^2*y*z^3-7/4*x*y^2*z^3+
1/4*y^3*z^3+1/8*x^2*z^4+5/8*x*y*z^4-1/8*y^2*z^4+1/8*y*z^5
> mp;
Mapping from: Crv: X to Crv: C
with equations :
x[1] - x[3]
x[2] + x[6]
x[5] + x[6]
Do the same for genus 5 4-gonal modular curve X 0(42).
> P4<x,y,z,t,u> := ProjectiveSpace(Rationals(),4);
> X42 := Curve(P4,[x*z+z^2+x*t-x*u,
> y^2-2*y*z+z^2-x*t-2*y*t+z*t-2*y*u+z*u+t*u,
> x^2+x*t+y*t+y*u ]);
> // use pointsearch to pick rational point on X42
> boo,mp := Genus5PlaneCurveModel(X42 : IsCanonical := true);
> boo;
true
> C<x,y,z> := Codomain(mp);
> C;
x^6+3*x^5*y+9/2*x^4*y^2+2*x^3*y^3+2*x^2*y^4+11/8*x^5*z+31/8*x^4*y*z+23/4*x^3*y^2*z
+1/2*x^2*y^3*z+3*x*y^4*z+85/128*x^4*z^2+29/16*x^3*y*z^2+41/16*x^2*y^2*z^2-
9/4*x*y^3*z^2+9/8*y^4*z^2+9/64*x^3*z^3+17/32*x^2*y*z^3+15/16*x*y^2*z^3-
9/8*y^3*z^3+1/128*x^2*z^4+3/32*x*y*z^4+9/32*y^2*z^4
> mp;
Mapping from: Crv: X42 to Crv: C
with equations :
x + 1/2*t - 1/2*u
y - 1/4*t + 1/4*u
z - t + u
> // use nicer chosen point for nicer map
> boo,mp := Genus5PlaneCurveModel(X42,X42![0,0,0,0,1] : IsCanonical := true);
> C<x,y,z> := Codomain(mp);
> C;
x^5*y-2*x^4*y^2+x^3*y^3-x^2*y^4+2*x*y^5-y^6-x^5*z+3*x^4*y*z-6*x^3*y^2*z-
11*x^2*y^3*z-12*x*y^4*z-2*x^4*z^2+9*x^3*y*z^2+20*x^2*y^2*z^2+16*x*y^3*z^2+
2*y^4*z^2-4*x^3*z^3-7*x^2*y*z^3-4*x*y^2*z^3-x^2*z^4-2*x*y*z^4-y^2*z^4
> mp;
Mapping from: Crv: X42 to Crv: C
with equations :
x
y
z + t
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|