|
Let A be some ambient space in Magma. For example, think of A as
being the affine plane. Let k be its base ring and RA its coordinate ring.
If m: k -> L is a map of rings (a coercion map, for instance)
then there is a new ambient space denoted AL and called the
base change of A to L which has coordinate ring
RAL with coefficient ring L instead of k.
(Mathematically, one simply tensors RA with L over k.
In Magma the equivalent function at the level of polynomial
rings is ChangeRing.)
There is a base change function described below which takes A and L
(or the map k -> L) as arguments and creates this new space AL.
Note that there is a map from the coordinate ring of A to that of
AL determined by the map m.
This operation is called base extension since one often thinks
of the map m as being an extension of fields.
Of course, the map m could be many other things. One key example where
the name extension is a little unusual would be when m is
the map from the integers to some finite field.
Now let X be a scheme in Magma. Thus X is defined by some polynomials
f1, ..., fr on some ambient space A.
Given a ring map k -> L there is a
base change operation for X which returns the base change of X to L,
denoted XL. This is done by first making the base change of A to L
and then using the map from the coordinate ring of A to that of AL
to translate the polynomials fi into polynomials defined on AL.
These polynomials can then be used to define a scheme in AL.
It is this resulting scheme which is the base change of X to L.
If one has a number of schemes
in the same ambient space and wants to base change them all at the same
time, a little care is required. The function which takes a scheme and a
map of rings as argument will create a new ambient space each time so is
unsuitable. Better would be to base change the ambient space and then
use the base change function which takes the scheme and the desired new
ambient space as argument.
(This latter base change function appears to be different from the other ones.
In fact it is not. We described base change above as a function
of maps of rings. Of course, there is a natural extension to maps of schemes.
With that extension, this final base change intrinsic really is base change
with respect to map of ambient spaces.)
BaseExtend(A,K) : Sch, Rng -> Sch
If A is a scheme defined over a field k and K is an
extension into which elements of k can be automatically coerced then
this returns a new scheme AK defined over K.
No cached data about A will be transferred to AK
and coordinate names will have to be defined again on AK if needed.
BaseExtend(A,m) : Sch, Map -> Sch
If m is a map of rings whose domain is the base ring of the scheme A,
this returns the base change of A to the codomain of m.
The equations of A, if any, are mapped to the new ambient coordinate
ring using m.
BaseExtend(F,K) : SeqEnum,Rng -> SeqEnum
BaseChange(F,m) : SeqEnum,Rng -> SeqEnum
BaseExtend(F,m) : SeqEnum,Rng -> SeqEnum
If F is a sequence of schemes lying in a common ambient space whose
base ring admits automatic coercion to K or is the domain of a ring map m
then this returns the base change of the elements of F as a new sequence.
BaseExtend(X,A) : Sch,Sch -> Sch
BaseChange(X,A,m) : Sch,Sch,Map -> Sch
BaseExtend(X,A,m) : Sch,Sch,Map -> Sch
If X is any scheme whose ambient space B is of the same type (affine or
projective) and dimension
as the ambient space
A but either has a base ring which admits coercion to that of A or
the map m is a ring map from the base ring of B to that of A then
this returns a scheme with the equations of X as a subscheme of A.
The equations are transferred to A using coercion or the map m.
BaseExtend(X, n) : Sch, RngIntElt -> Sch
The base change of the scheme X, where the base ring of X is a finite field to
the finite field which is a degree n extension of the base field of X.
Here are two curves whose intersection points are not defined over
the rationals and one of which only splits after a field extension.
The basic function to calculate intersection points only searches for them
over the current field of definition so misses them at first.
But with an extra argument it is able to search over an extension of the
base without actually changing base of the schemes.
This contrasts with finding higher dimensional components of schemes which
always requires the base change.
> A<x,y> := AffineSpace(Rationals(),2);
> C := Curve(A,x^2 + y^2);
> IsIrreducible(C);
true
> D := Curve(A,x - 1);
> IntersectionPoints(C,D);
> Qi<i> := QuadraticField(-1);
> IntersectionPoints(C,D,Qi);
{ (0, i), (0, -i) }
So we have found the intersection points (although we haven't explained
how we chose the right field extension).
Now we do the same calculation again but by making the base change of
all schemes to the field Qi. Over this field the intersection points
are immediately visible, but also the curve C splits into two
components.
> B<u,v> := BaseChange(A,Qi);
> C1 := BaseChange(C,B);
> D1 := BaseChange(D,B);
> IsIrreducible(C1);
false
> IntersectionPoints(C1,D1);
{ (0, i), (0, -i) }
> PrimeComponents(C1);
[
Scheme over Qi defined by u + i*v,
Scheme over Qi defined by u - i*v
]
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|