|
In this section we discuss isomorphisms between heterogeneous types
--- isomorphisms between combinations of curves of type Crv,
CrvCon, and CrvRat, and their parametrisations by a
projective line.
The first function which we treat here is Conic, which is as
much a constructor as an isomorphism. It takes an arbitrary genus
zero curve C and uses the anti-canonical divisor -KC of
degree 2 to construct the Riemann--Roch space. For a genus zero
curve this is a dimension 3 space of degree 2 functions and
gives a projective embedding of C in P2 as a conic.
This provides the starting point to make any genus zero curve
amenable to the powerful machinery for point finding and isomorphism
classification of conics.
On the other hand, if C is an arbitrary genus 0 curve with a
known non-singular point or place p, then a parametrization of
C can be constructed directly from the degree 1 Riemann--Roch space.
There are intrinsics to do this.
An isomorphism --- provided that one exists --- of the projective
line with a conic can be described as follows.
The 2-uple embedding φ: P1 -> P2 defined
by (u:v) |-> (u2:uv:v2) gives an isomorphism of P1
with the conic C0 with defining equation y2 = xz. The
inverse isomorphism C0 -> P1 is defined by the
maps
matrix(
(x:y:z) |-> (x:y) on x ≠0,
(x:y:z) |-> (y:z) on z ≠0, )
respectively. Since these open sets cover the conic C0 this
defines an isomorphism and not just a birational map. In order to
describe an isomorphism of a conic C1 with P1 it is
then necessary and sufficient to give a change of variables which
maps C0 = φ(P1) onto the conic C1. This matrix is
called the parametrisation matrix and is stored with C1
once a rational point is found.
Given a parametrization over the rationals of an arbitrary genus 0 curve in ordinary
projective space, a simpler parametrization can often be found using the intrinsic
ImproveParametrization from the Scheme chapter of the handbook.
Given a curve of genus zero, returns a conic determined by the
anti-canonical embedding of C.
We demonstrate the function Conic on the curve of
Example H130E2 to find a conic model, even though we
know that it admits a rational parametrisation.
> P2<x,y,z> := ProjectivePlane(FiniteField(71));
> C0 := Curve(P2, (x^3 + y^2*z)^2 - x^5*z);
> C1, m := Conic(C0);
> C1;
Conic over GF(71) defined by
x^2 + 70*x*z + y^2
> m : Minimal;
(x : y : z) -> (x^3*y*z : 70*x^5 + x^4*z + 70*x^2*y^2*z : x^3*y*z + y^3*z^2)
This function is an optimised routine for parametrising a conic C defined
over Z or Q. It returns a 3 x 3 matrix M which defines a
parametrisation of C as a projective change of variables from the 2-uple
embedding of a projective line in the projective plane; i.e., for
a point (x0:y0:z0) on C, the point
(x1:y1:z1) = (x0:y0:z0) M
satisfies the equation y12 = x1z1. Note that as usual in Magma
the action of M is on the right and, consistently, the action of
scheme maps is also on the right.
In this example we demonstrate that the parametrisation matrix
determines the precise change of variables to transform the conic
equation into the equation y 2 = xz. We begin with a singular
plane curve C 0 of genus zero and construct a nonsingular conic
model in the plane.
> P2<x,y,z> := ProjectiveSpace(Rationals(), 2);
> C0 := Curve(P2, (x^3 + y^2*z)^2 - x^5*z);
> C1, m := Conic(C0);
> C1;
Conic over Rational Field defined by
x^2 - x*z + y^2
The curve C 1 has obvious points, such as (1 : 0 : 1),
which Magma internally verifies without requiring an
explicit user call to HasRationalPoint.
> ParametrizationMatrix(C1);
[1 0 1]
[0 1 0]
[0 0 1]
> Evaluate(DefiningPolynomial(C1), [x, y, x+z]);
-x*z + y^2
We note (as is standard in Magma) that the action of matrices, as with
maps of schemes, is a right action on coordinates (x : y : z).
Parametrization(C, P) : CrvCon, Crv -> MapSch
Parametrization(C, p) : Crv, Pt -> MapSch
Parametrization(C, p) : Crv, PlcCrvElt -> MapSch
Parametrization(C, p, P) : CrvCon, Pt, Crv -> MapSch
Parametrization(C, p, P) : CrvRat, Pt, Crv -> MapSch
Parametrization(C, p, P) : CrvCon, PlcCrvElt, Crv -> MapSch
Parametrization(C, p, P) : CrvRat, PlcCrvElt, Crv -> MapSch
Given a conic curve C over a general field, these functions return
a parametrisation as an isomorphism of schemes P -> C.
Here P is a copy of a projective line; it may be specified as one of
the arguments or a new projective line will be created.
Note that it is now required that P is given (or created) as a curve
rather than as an ambient space (as used to be permitted).
This allows the immediate use of pullback/push-forward functionality for the
parametrisation map.
When a rational point or place is not specified as one of the arguments
then the base field of C must be one of the kinds allowed in
HasRationalPoint.
If the conic has no rational points then an error results.
ParametrizeOrdinaryCurve(C, p) : Crv, Pt -> MapSch
ParametrizeOrdinaryCurve(C, p) : Crv, PlcCrvElt -> MapSch
ParametrizeOrdinaryCurve(C, p, I) : Crv, Pt, RngMPol -> MapSch
ParametrizeOrdinaryCurve(C, p, I) : Crv, PlcCrvElt, RngMPol -> MapSch
ParametrizeRationalNormalCurve(C) : Crv -> MapSch
These functions are as above (see Parametrization), but use different
algorithms.
When C is a plane curve with only ordinary singularities (see subsection
Ordinary Plane Curves) then a slightly
different procedure is followed that relies less on the general function
field machinery and tends to be faster and can produce nicer
parametrisations. The variants ParametrizeOrdinaryCurve allow
direct calls to these more specialised procedures. The I argument
is the adjoint ideal of C (loc. cit.), which may be passed in
if already computed.
The final function listed is slightly different; it applies only to
rational normal curves. i.e., non-singular rational curves of degree d
in ordinary d-dimensional projective space for d ≥1. For the sake
of speed the irreducibility of C is not checked. The function uses
adjoint maps to find either a line or conic parametrisation of C:
If d is odd then an isomorphism from the projective line to C is returned,
and if d is even then an isomorphism from a plane conic is returned. The
method uses no function field machinery and can be much faster than the
general function.
In this example we show how to parametrise a projective rational curve
with a map from the one-dimensional projective space. First we construct
a singular plane curve and verify that it has geometric genus zero.
> k := FiniteField(101);
> P2<x,y,z> := ProjectiveSpace(k, 2);
> f := x^7 + 3*x^3*y^2*z^2 + 5*y^4*z^3;
> C := Curve(P2, f);
> Genus(C);
0
In order to parametrise the curve C we need to find a nonsingular point
on it, or at least a point of C over which there exists a
unique degree one place; geometrically, such a point is one at which
C has a cusp. To find such a point we invoke the intrinsic
RationalPoints on C; since C is defined over a finite field
this call returns an indexed
set of all the points of C that are rational over its base field.
Having done the previous in the background, we demonstrate that the particular
point (2 : 33 : 1) is such a nonsingular rational point.
> p := C![2,33,1];
> p;
(2 : 33 : 1)
> IsNonsingular(C, p);
true
The parametrisation function takes a projective line as the third argument;
this will be used as the domain of the parametrisation map.
> P1<u,v> := ProjectiveSpace(k, 1);
> phi := Parametrization(C, Place(p), Curve(P1));
> phi;
Mapping from: Prj: P1 to Prj: P2
with equations :
2*u^7 + 5*u^6*v + 81*u^5*v^2 + 80*u^4*v^3 + 13*u^3*v^4
33*u^7 + 88*u^6*v + 90*u^5*v^2 + 73*u^4*v^3 + 25*u^3*v^4 +
83*u^2*v^5 + 72*u*v^6 + 24*v^7
u^7
Finally we confirm that the map really does parametrise the curve C.
Note that the map is normalised so that the point at infinity on the
projective line P 1 maps to the prescribed point p.
> Image(phi);
Scheme over GF(101) defined by
x^7 + 3*x^3*y^2*z^2 + 5*y^4*z^3
> DefiningIdeal(Image(phi)) eq DefiningIdeal(C);
true
> phi(P1![1, 0]);
(2 : 33 : 1)
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|