|
This section describes intrinsics for creating zero dimensional schemes
or clusters. It also discusses those functions which converts
a finite set of points into the reduced zero dimensional having this
support. Throughout this subsection, a lowercase p denotes a point
of a scheme.
The word cluster refers to schemes that are known to be zero dimensional.
In general, the intrinsic Cluster converts points to clusters
while the function RationalPoints finds the points on a cluster
which are rational over its base field.
Note that there are four constructors of the form Cluster(X,data)
analogous to the four Scheme(X,data) constructors but which make an
additional dimension test and type change before returning a cluster
determined as a subscheme of X by the data of the second argument.
Cluster(X, p) : Sch, Pt -> Clstr;
Cluster(S) : SetEnum -> Clstr
Cluster(S) : SetIndx -> Clstr
Cluster(X, S) : Sch, SetEnum -> Clstr
Cluster(X, S) : Sch, SetIndx -> Clstr
The reduced scheme supported at the point p, or supported
at the set of points S, as a subscheme of the scheme X if given.
RationalPoints(Z,L) : Sch, Rng -> SetEnum
The set of rational points of the cluster Z.
If an extension of the base field L is given as a second argument, the set
of points of Z(L), those points whose coordinates lie in L, is returned.
If Z is a cluster this will determine some (not necessarily optimal) point
set Z(L) in which all points of Z having coordinates in an algebraic closure
of the base field lie and will return all points of Z(L).
HasPointsOverExtension(X,L) : Sch,Rng -> BoolElt
Returns false if and only if all points in the support of the scheme X over an
algebraic closure of its base field are already defined over its
current base field, or all lie in the point set X(L) if the second
argument L is given.
This intrinsic is most useful when trying to decide whether or not to make
an extension of the base field of X to reveal non-rational points.
The base field of X does not need to be a finite field.
The degree of the cluster Z.
If Z is reduced, this is equal to the maximum number of points in the support
over Z over some extension of its base ring.
In this example we intersect a pair of plane curves.
(Note that much more specialised machinery for working with curves is
available in Chapter ALGEBRAIC CURVES.)
First we define two curves and find their points of intersection over
the base field. The degree of the cluster Z is the usual numerical
intersection number of the curves C and D.
Here we are more interested in finding exactly those points that
lie in the intersection.
> k := FiniteField(5);
> P<x,y,z> := ProjectiveSpace(k,2);
> C := Scheme(P,x^3 + y^3 - z^3);
> D := Scheme(P,x^2 + y^2 - z^2);
> Z := Intersection(C,D);
> IsCluster(Z);
true
> Degree(Z);
6
> RationalPoints(Z);
{ (1 : 0 : 1), (0 : 1 : 1) }
> HasPointsOverExtension(Z);
true
If C and D were rather general, that is, if Z was reduced, then
we would expect 6 points in their intersection.
We cannot expect that here, but the final line above does confirm that
we have not yet seen all the points of intersection.
We allow Magma to compute directly over a splitting field.
> PointsOverSplittingField(Z);
{ (0 : 1 : 1), ($.1^14 : $.1^22 : 1), ($.1^22 : $.1^14 : 1), (1 : 0 : 1) }
> L<w> := Ring(Universe($1));
> L;
Finite field of size 5^2
> PointsOverSplittingField(Z);
{ (0 : 1 : 1), (w^14 : w^22 : 1), (w^22 : w^14 : 1), (1 : 0 : 1) }
In this case we see that the support is not six points but only four.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|