Function Fields and their Elements

Since the function field of an irreducible variety is a birational invariant, function fields in Magma are associated with the projectively closed varieties. For an affine scheme \(X\), the fields returned by FunctionField(X) and FunctionField(ProjectiveClosure(X)) are identical. Currently, only function fields of projective spaces of dimension 1 (and therefore of affine spaces of dimension 1) and curves are supported.

The following functions are provided for working with function fields and their elements. Some of these functions are concerned with converting function field elements into elements of the field of fractions of the coordinate ring of (an affine patch of) the scheme of the function field.

Additionally, function field elements may be used in the definition of scheme maps (see Section Maps between Schemes) from the projective or affine schemes on which they are defined to other schemes and may be evaluated at points as described earlier.

Function fields of schemes have type FldFunFracSch and their elements have type FldFunFracSchElt. These types inherit from RngFunFracSch, RngFunFrac, RngMPolRes and RngFunFracSchElt, RngFunFracElt, RngMPolResElt respectively.

Scheme(F): FldFunFracSch -> Sch

Return the (projective) scheme \(F\) is the function field of.

IntegerRing(F): RngFrac -> Rng
Integers(F): RngFrac -> Rng

The integer ring of the function field \(F\). This will be the coordinate ring of one of the patches of the scheme of \(F\).

AssignNames(~F, S): RngFrac, [MonStgElt]

Assign the strings in \(S\) to be the names of the integer ring of \(F\).

F ! g: FldFunFracSch, RngElt -> FldFunFracSchElt

Coerce the element \(g\) into the function field \(F\) of a scheme where \(g\) is some function on the scheme of \(F\), for example, \(g\) may be an element of the field of fractions of the coordinate ring of a scheme having \(F\) as its function field.

F . i: FldFunFracSch, RngIntElt -> FldFunFracSchElt

Return the \(i\)th indeterminate of the coordinate ring of the scheme of \(F\) as an element of the function field \(F\).

ProjectiveFunction(f): FldFunFracSchElt -> FldFracElt

Given an element \(f\) of a function field of a scheme, return \(f\) as an element of the field of fractions of the coordinate ring of the scheme \(f\) is a function on.

ProjectiveRationalFunction(f): FldFunFracSchElt -> FldFunRatMElt

Given an element \(f\) of a function field of a (projective) scheme \(X\), returns an element of the field of fractions of the coordinate ring of the ambient of \(X\) whose restriction to \(X\) as a rational function is \(f\).

RestrictionToPatch(f, Xi): FldFunFracSchElt, Sch -> FldFracElt

Given an element \(f\) of a function field of a (projective) scheme \(X\) return \(f\) as an element of the field of fractions of the coordinate ring of the scheme \(Xi\) which must be a patch of \(X\).

Numerator(f): RngFracElt -> RngElt
Denominator(f): RngFracElt -> RngElt

Given an element \(f\) of a function field of a scheme, return the numerator or denominator of \(f\).

f * g: RngFracElt, RngFracElt -> RngFracElt
f + g: RngFracElt, RngFracElt -> RngFracElt
f - g: RngFracElt, RngFracElt -> RngFracElt
- f: RngFracElt -> RngFracElt
f / g: RngFracElt, RngFracElt -> RngFracElt
f ^ n: RngFracElt, RngIntElt -> RngFracElt
f eq g: RngFracElt, RngFracElt -> BoolElt
IsZero(f): RngFracElt -> BoolElt
IsOne(f): RngFracElt -> BoolElt
IsMinusOne(f): RngFracElt -> BoolElt
IsUnit(f): RngFracElt -> BoolElt
IntegralSplit(f, X): FldFunFracSchElt, Sch -> RngMPolElt, RngMPolElt

Given a function \(f\) on the (projective) scheme \(X\) return the numerator and the denominator of \(g\), where \(g\) is some rational function on the ambient \(P\) of \(X\) restricting to \(f\) and considered as an element of the field of fractions of the coordinate ring of \(P\).

Numerator(f, X): FldFunFracSchElt, Sch -> MPolElt

The first return value of IntegralSplit(f, X).

Denominator(f, X): FldFunFracSchElt, Sch -> MPolElt

The second return value of IntegralSplit(f, X).

Example: Converting Function Field Elements (ex-5c8a0c)

Run in calculator (opens in a new tab)

Some conversion of function field elements are shown.

> P2<X, Y, Z>:=ProjectiveSpace(Rationals(), 2);
> C := Curve(P2, X^2+Y^2-Z^2);
> K<xK, yK> := FunctionField(C);
> aC1<x1,y1> := AffinePatch(C, 1);
> aC2<x2,z2> := AffinePatch(C, 2);
> aC3<y3,z3> := AffinePatch(C, 3);
>
> f := (xK + yK)/(yK);
> K!f;
(xK + yK)/yK
> ProjectiveFunction($1);
(X + Y)/Y
> IntegralSplit(f, C);
X + Y
Y
> RestrictionToPatch(f, aC1);
($.1 + $.2)/$.2
> IntegralSplit(f, aC1);
x1 + y1
y1
> IntegralSplit(f, P2);
x2 + 1
1

Run in calculator (opens in a new tab)

Restriction(f, Y): FldFunFracSchElt, Sch -> FldFunFracSchElt

Given \(f\) in the function field of the scheme \(X\) and \(Y\) a subscheme of \(X\) with a function field, returns \(g\) in the function field of \(Y\) obtained by restricting \(f\) to \(Y\). If \(f\) has a pole along \(Y\), then Infinity is returned. An error occurs if \(f\) is not defined along \(Y\). Presently, the only nontrivial application of this routine is when \(Y\) is a curve and \(X\) is the ambient of \(Y\).

GenericPoint(X): Sch -> Pt

Returns a point in the pointset X(FunctionField(X)) of the scheme \(X\), whose coordinates generate FunctionField(X).