|
Probably the most significant difference between the class field theories for
number fields and function fields is the fact that function fields
allow an analytic description of abelian extensions in general where
number fields (currently) only admit the analytical view
for extensions of the rationals (cyclotomic fields) and imaginary
quadratic fields (CM-theory).
The analytic description is based on Drinfeld-modules of rank 1 (or in the case
of the rational function field the Carlitz-module).
Informally, a Drinfeld module is a representation of some
(infinite) maximal order of a function field into the ring of
additive polynomials over some appropriate ring containing the
original field. Similar to CM-theory, abelian extensions are then
generated by adjoining torsion points under this action.
CarlitzModule(R, x) : RngUPolTwst, FldFunRatUElt -> RngUPolTwstElt
For a rational function field k = Fq(t) and a polynomial
f in k[t], compute the image of f under the
Carlitz module as an element in the ring of twisted polynomials
R. Specifically, the Carlitz module is the representation
induced by sending t to F + t where F is the transcendental
element of R, the Frobenius of k.
As Fq[t] is freely generated by t, this defines a homomorphism
(a representation) of Fq[t] into the twisted polynomials over k.
We demonstrate how the Carlitz-module can be used to define abelian
extensions of the rational function field.
> Fq<w> := GF(4);
> k<t> := RationalFunctionField(Fq);
> R<T> := TwistedPolynomials(k:q := 4);
Suppose we want to create the Ray-class field modulo p := t 2 + t + w, ie
we want to find an abelian extension unramified outside p and
the infinite place.
> p := t^2+t+w;
> P := CarlitzModule(R, p);
> F := Polynomial(P);
> Factorisation(F);
[
<T, 1>,
<T^15 + (t^4 + t + 1)*T^3 + t^2 + t + w, 1>
]
> K := FunctionField($1[2][1]);
> a := Support(DifferentDivisor(K));
> a[1];
(t^2 + t + w, K.1)
> [ IsFinite(x) : x in a];
[ true, false, false, false, false, false ]
> RamificationIndex(a[1]);
15
So, this shows that the field has the ramification behaviour we wanted.
However, the Carlitz-module will give us more information:
We will demonstrate that the automorphism group of K is isomorphic
to the unit group of F q[t]/p under this module.
> q, mq := quo<Integers(k)|p>;
> au := func<X|Evaluate(Polynomial(CarlitzModule(R, X)), K.1)>;
> [ <IsUnit(x), Evaluate(DefiningPolynomial(K), au(x@@mq)) eq 0>
> : x in q];
[ <true, true>, <true, true>, <true, true>, <true, true>, <true,
true>, <true, true>, <true, true>, <true, true>, <true, true>, <true,
true>, <true, true>, <true, true>, <true, true>, <true, true>, <true,
true>, <false, false> ]
Now we try to create the same field using the algebraic class field
machinery:
> D, U := NormGroup(K);
> Conductor(D, U);
($.1^2 + $.1 + w) + (1/$.1)
So this also shows that K is ramified exactly at p and the infinite
places and, since the multiplicity is one, tamely ramified at both
places.
> A := AbelianExtension(D, U);
> F := FunctionField(A);
> F;
Algebraic function field defined over Algebraic function field defined
over GF(2^2) by
$.2 + 1 by
$.1^3 + ($.1^2 + $.1 + w)^2
$.1^5 + w^2*$.1^3 + w*$.1 + (w^2*$.1^4 + w^2*$.1^2 + 1)/($.1^6 + $.1^5
+ w^2*$.1^4 + $.1^3 + $.1^2 + w^2*$.1 + 1)
> HasRoot(Polynomial(K, DefiningPolynomials(F)[1]));
true K.1^10 + (t^2 + t + w)*K.1^4 + (t^2 + t + w)*K.1
> HasRoot(Polynomial(K, DefiningPolynomials(F)[2]));
true w/(t^2 + t + w)*K.1^12 + (w*t^2 + w*t + 1)/(t^2 + t + w)*K.1^6 +
w*K.1^3
For F a global function field and p a place, compute an algebraic
description of "the" Drinfeld module of rank 1 defined for the
ring of functions integral outside p.
More precisely, let R be the ring of functions integral outside p,
ie. functions having their only poles at R. In Magma this is
represented by changing the representation of the function field so
that p is the only infinite place. Then R becomes simply the
finite maximal order.
Furthermore, let C be the completion of F at p and tilde C
be the closure of the algebraic closure of C, thus D will play the role
of the complex numbers in this theory, while C is closely related to
the reals. By means of mapping R to its image in D⊂C, we
obtain a lattice Λ of rank 1. Related to this lattice are
certain exponential functions (analytic functions where the set of zeros
is Λ). The transformation behaviour of such functions can be used
to define a map from R to the endomorphisms of C, represented
as additive (twisted) polynomials. In particular, under suitable
normalisation, the lattice Λ as defined above, the
transformation behaviour can be realised over the Hilbert-class field
of F. Since a Drinfeld module is uniquely defined by specifying
a single image of a non-constant element of R, this function returns
a non-constant (as first return value) and the image as a twisted polynomial
over the Hilbert-class field as a second. In case the place is of degree
one, the Drinfeld module will also be sign-normalized.
Given D, the image of a non-constant element under a Drinfeld module
for the ring R of functions integral outside p,
an element x in R, compute the image of x.
Although the code is not restricted to genus 1 (or 2) and even though
hyperelliptic function fields can be handled in a more direct fashion,
we will demonstrate the computation of a Drinfeld module
on an elliptic curve.
We begin by defining a curve.
> k<w> := GF(4);
> kt<t> := PolynomialRing(k);
> kty<y> := PolynomialRing(kt);
> F := FunctionField(y^3+w*t^5+w*t);
> Genus(F);
1
> ClassNumber(F);
3
Now, to define a Drinfeld module, we need to single out an "infinite" place:
> p := InfinitePlaces(F)[1];
> Degree(p);
1
Since the place p is of degree 1, our Drinfeld module will be
sign-normalised.
> A, D := AnalyticDrinfeldModule(F, p);
> H<h> := CoefficientRing(D);
> A;
w^2/(x + 1)*F.1
> D;
T_4^2 + ((w*x^5 + 1)/(x^5 + x)*$.1^2*h^2 + (w^2*x^5 + w^2*x^4 + w^2*x
+ 1)/(x^4 + x^3 + x^2 + x)*F.1^2*h + (x^4 + x^2 + w)/(x^2 +
1)*$.1^2)*T_4 + w^2/(x + 1)*F.1
So, the Drinfeld module is uniquely determined by the image of a single
non-constant (A) which is chosen to have maximal valuation
at p and sign 1.
The values of the Drinfeld module are defined over H which is the
Hilbert-class field of F, ie. the maximal abelian unramified extension
where p is completely split.
> Sign(A, p);
1
> Valuation(A, p);
-2
To compute the value of "the" Drinfeld module of a different element
we use Extend:
> b := F!t;
> Extend(D, b, p);
w*T_4^3 + ((w*x^20 + w*x^19 + w*x^18 + w*x^17 + w*x^16 + w*x^15 +
w*x^14 + w*x^13 + w*x^12 + w*x^11 + w*x^10 + w*x^9 + w*x^8 + w*x^7 +
w*x^6 + w*x^5 + w*x^4 + w*x^3 + w*x^2 + w*x + w)/(x^4 + x^3 + x^2 +
x)*$.1^2*h^2 + (w^2*x^20 + w^2*x^19 + w^2*x^16 + w^2*x^15 + w^2*x^4 +
w^2*x^3 + w^2)/(x^3 + x^2 + x + 1)*$.1^2*h + (x^20 + x^18 + x^12 +
x^10 + w*x^4 + w*x^2 + w^2)/(x^2 + 1)*$.1^2)*T_4^2 + ((w*x^5 + w^2*x^3
+ w^2*x^2 + x + w)/(x^2 + 1)*$.1*h^2 + (w^2*x^5 + w^2*x^4 + x^3 +
w)/(x + 1)*$.1*h + (x^5 + w^2*x^3 + w*x^2 + w^2*x)*$.1)*T_4 + x
To compute a "Ray-class field" from here we can use the
following:
> P := Places(F, 2)[1];
> a,b := TwoGenerators(P);
> GCD(Extend(D, a, p), Extend(D, b, p));
T_4^2 + ((w*x^5 + 1)/(x^5 + x)*$.1^2*h^2 + (w^2*x^5 + w^2*x^4 + w^2*x
+ 1)/(x^4 + x^3 + x^2 + x)*$.1^2*h + (x^4 + x^2 + w)/(x^2 +
1)*$.1^2)*T_4 + w^2/(x + 1)*$.1 + w^2
> Polynomial($1);
T_4^16 + ((w*x^5 + 1)/(x^5 + x)*F.1^2*h^2 + (w^2*x^5 + w^2*x^4 + w^2*x
+ 1)/(x^4 + x^3 + x^2 + x)*F.1^2*h + (x^4 + x^2 + w)/(x^2 +
1)*F.1^2)*T_4^4 + (w^2/(x + 1)*F.1 + w^2)*T_4
> R := FunctionField($1 div Parent($1).1);
> R;
Algebraic function field defined over H by
T_4^15 + ((w*x^5 + 1)/(x^5 + x)*F.1^2*h^2 + (w^2*x^5 + w^2*x^4 + w^2*x
+ 1)/(x^4 + x^3 + x^2 + x)*F.1^2*h + (x^4 + x^2 + w)/(x^2 +
1)*F.1^2)*T_4^3 + w^2/(x + 1)*F.1 + w^2
This should be an abelian extension over F, ramified only at p and P.
So let's try to verify that:
> f := MinimalPolynomial(R.1, F);
> Degree(f);
45
> Ra := FunctionField(f:Check := false);
> NormGroup(Ra:Cond := 1*p+P);
(1/x, 1/x^2*F.1) + (x^2 + x + w^2, F.1 + x + 1)
Abelian Group isomorphic to Z
Defined on 1 generator in supergroup:
$.1 = 2*$.1 + 3*$.2 + $.3 (free)
> D, sub_group := $1;
> W := AbelianExtension(D, sub_group);
> W;
Abelian extension of type [ 3, 15 ]
Defined modulo (1/x, 1/x^2*$.1) + (x^2 + x + w^2, $.1 + x + 1)
over Algebraic function field defined over Univariate rational
function field over GF(2^2) by
y^3 + w*t^5 + w*t
> FunctionField(W);
Algebraic function field defined over F by
$.1^3 + (x + 1)^-2 * (x^2 + x + w^2)^-1 * (F.1 + w*x + w) * (F.1 +
w^2*x + w^2)
$.1^3 + (x) * (x + 1)^-4 * (F.1 + x + 1)^2 * (x^2 + x + w^2)^-1 * (F.1
+ w*x + w) * (F.1 + w^2*x + w^2)
$.1^5 + (1/(x^2 + 1)*F.1^2 + w^2/(x + 1)*F.1 + (x^2 + x + 1))*$.1^3 +
(w/(x^2 + 1)*F.1^2 + w*x*F.1 + (x^4 + x^2 + 1))*$.1 + (x^2 + x +
1)/(x^2 + 1)*F.1^2 + w^2*x*F.1 + x^4 + w^2*x^2 + w*x + w^2
> WW := $1;
> [HasRoot(Polynomial(Ra, x)) : x in DefiningPolynomials(WW)];
[ true, true, true]
Exp(x, p) : RngElt, PlcFunElt -> RngUPolTwstElt
InfBound: RngIntElt Default: 5
Map: Map Default: id
Class: DivFunElt Default: 0
Limit: RngIntElt Default: ∞
Scale: RngElt Default: false
In Drinfeld's theory of elliptic modules, one associates an exponential
function to a lattice. The transformation of this function under scaling of
the lattice gives then rise to the "Drinfeld-module".
This function computes an approximation to the exponential of the
"standard-lattice". More precisely: let R be the ring of functions
integral outside the place p and let C be the completion of
the function field at p. Considered as a subset of C, R is a
1-dimensional lattice Λ in Drinfelds sense. The exponential
associated to this lattice is the function
exp: z to z∏'(1 - z/l)
where the product is taken over all non-zero lattice points l. This function
can be seen to be an additive analytic function.
For n>0, let now L(np) be the Riemann-Roch spaces and
fn : z to z∏'(1 - z/l)
(the product is over the non-zero elements of L(np)). It can be seen that
fn to exp as n to∞. This intrinsic computes fn for
n equal the value of InfBound. If Limit is given then
the twised polynomial representing fn is truncated at that term.
If Class is given and contains the divisor d,
then instead of L(np) we use L(np + d) which will approximate
a (in general) non-isomorphic exponential coming from the lattice from
the ideal representing the finite part of d.
If Map is given, then the map is applied to each element in L(np)
first, thus allowing to compute analytic approximations instead of
alegebraic ones. Additionally, if Scale is given, the elements
of L(np) are multiplied by this value before the functions
are formed, corresponding to a scaling of the lattice.
The exponential is evaluated at x, the first argument. Typically, x
will be the transcendental element of a polynomial ring, a
twisted polynomial ring or a power series ring.
InfBound: RngIntElt Default: 5
Map: Map Default: id
Class: DivFunElt Default: 0
Limit: RngIntElt Default: ∞
Scale: RngElt Default: false
Let Λ be the lattice as described for Exp above.
By Drinfeld's theory, the exponential functions of Λ and
xΛ are related through some polynomial. This function
computed the polynomial for x, which is "the" image of x under
the Drinfeld module defined by Λ.
The use of the parameters is as for Exp above.
Let F be a twisted polynomial, typically over a completion.
This function tries to conjugate F so that the coefficients are
integral with small valuations.
On success, true, the new polynomial and the element used to
normalise F is returned.
Let F be a twisted polynomial, typically over a completion.
This function tries to conjugate F so that the highest coefficient
is an element in the residue class field.
On success, true, the new polynomial and the element used to
normalise F is returned.
Given a non-trivial image F under a Drinfeld module with the "infinite
place" p, compute a basis for a submodule of the lattice
underlying F. The parameter RelPrec is used to limit the
number of coefficients of the exponential that are reconstructed, thus
it also limits the dimenstion of the submodule.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|