Ambient Spaces

In this section we show how to create various spaces that can be used as ambient spaces for curves. They can be specified in a number of different ways. Typically, different constructions of such spaces will be taken to be different objects, even if they are defined over the same ring. Names for the coordinates can be defined by using the diamond bracket notation in the same way as for polynomial rings.

The discussion here is rather brief, giving just enough functions to create some basic ambients, their functions and points in them. Consult Chapter SCHEMES for more constructors and functions.

AffineSpace(k,n) : Rng, RngIntElt -> Aff
AffinePlane(k) : Rng -> Aff
Create affine n-dimensional space (resp. the 2-dimensional affine plane) over the ring k.
ProjectiveSpace(k,n) : Rng,RngIntElt -> Prj
ProjectivePlane(k) : Rng -> Prj
Create n-dimensional projective space (resp. the 2-dimensional projective plane) over the ring k.
DirectProduct(A,B) : Prj,Prj -> PrjProd,SeqEnum
If A and B are both one-dimensional projective spaces (defined using the intrinsic ProjectiveSpace(k,1) for example) this forms the product A x B and also returns a sequence containing the two projection maps.
RuledSurface(k,n) : Rng,RngIntElt -> PrjScrl
RuledSurface(k,a,b) : Rng,RngIntElt,RngIntElt -> PrjScrl
The rational ruled surface over the ring k which has a curve of self-intersection -n or ∓(a - b). The integer arguments must all be nonnegative. It has four variables, the ratio of the first two defining the structure map to P1, the second two being homogeneous coordinates on the P1 fibres of this map.
CoordinateRing(A) : Sch -> RngMPol
The coordinate ring of the ambient space A. This is a multivariate polynomial ring over the base ring of A. The number of variables possessed by the ring will depend upon the space. If A is an affine n-space, the function will return a ring with n variables; an ordinary or weighted projective n-space will result in n + 1 variables; a ruled surface will result in four variables. The gradings that are implicit on various spaces will not be reflected by the polynomial ring. Indeed, at present, there is no way to impose two different gradings on a polynomial ring in Magma.
FunctionField(A) : Aff -> FldFunFracSch
FunctionField(A) : Prj -> FldFunFracSch
Return the function field of the ambient space A of dimension 1. This is a field isomorphic to the field of fractions of the coordinate ring of A. Its generators can be assigned names in the usual way and, typically, one writes elements of this function field in terms of those generators. Polynomials of the coordinate ring of A can be coerced into this function field.

While it is possible to give input of dimension greater than 1 for backward compatibility, it is preferrable to instead use FieldOfFractions(CoordinateRing(X)).

A ! [a,...] : Sch,[RngElt] -> Pt
A(L) ! [a,...] : SetPt,[RngElt] -> Pt
For elements a, ... in the base ring of the ambient space (or any other scheme) A the expression A ! [a,...] creates the set-theoretic point, eg, (a, b) in the affine plane case, (a:b:c) in the projective plane case, or (a:b:c:d) in the product or ruled surface case. If L is an extension ring of the base ring of A then the expression A(L) ! [a,...] creates the point with coordinates (a, ... ) where these coordinates are elements of L (or the base ring of A).
Origin(A) : Aff -> Pt
The point (0, 0, ..., 0) of the affine space A.
Coordinates(p) : Pt -> SeqEnum
p[i] : Pt, RngIntElt -> RngElt
The complete sequence of base ring elements corresponding to the coordinates of the point p or the ith coordinate or p alone.

Example Crv_plane-points (H121E1)

In this example we make some points of an affine plane A. The first exhibits the constructor which creates points in the point set of the base ring of A. The second creates a point in some extension of the base ring of A.
> k := FiniteField(2);
> A := AffineSpace(k,3);
> p := A ! [1,2,3];
> p;
(1, 0, 1)
> L<w> := ext< k | 2 >;
> q := A(L) ! [1,2,w];
> q[3];
w
V2.28, 13 July 2023