[back] [prev] [next] [index] [root]
AlffClassGroup
Computes the structure of the divisor class group of a
global function field.
Syntax:
Cl := AlffClassGroup( F [, b ] [, A ] [, "fast" ] );
list |
Cl |
of integer and list (class group structure) |
alff |
F |
global function field |
integer |
b |
bound for degree of places to be used |
alff divisor |
A |
for reduction |
See also: AlffClassGroupGenBound, AlffClassNumberApprox, AlffDivisorDegOne, AlffLPoly, Alff, AlffInit, AlffOrders
Description:
Let F/k be a global function field. The divisor class group
is the factor group of all divisors factored by the principle
divisors.
This function returns a list Cl:
Cl[1] is the class number and Cl[2] is
a list of integers 1 < c_1 | \dots | c_m
such that the class group
of F/k is isomorphic to Z/c_1Z \times \dots \times Z/c_mZ.
The function requires that the constant field of definition is
the exact constant field.
\medskip
The following additional parameters can be given:
- b is a bound for the places to be considered in the
factor base. For large q or g it can be reasonable to take
smaller values for b than returned by
AlffClassGroupGenBoundStrong(F).
- A is a reduction divisor. It must factor over the
factor base (which is tested automatically)
and should have small, positive degree. If the
degree [F : k(T)] is large than it can be reasonable to take
e.g. A1 := AlffDivisorDegOne(F).
- If b is chosen very small and if the class group
is a product of many cyclic factors then the option "fast"
gives a speedup. The result of the computation however is
not proven be correct anymore.
The algorithm is described in He2.
Example:
<- back[back] [prev] [next] [index] [root]