Gaussian periods

The following lines of code generate a set W of minimal polynomials for the so-called Gaussian periods tex2html_wrap_inline1474 where tex2html_wrap_inline1471 is a primitive l-th root of unity (l is prime), and where g is a primitive root modulo l. These have the property that they generate a degree d cyclic subfield of tex2html_wrap_inline1483 .

> R<x> := PolynomialRing(RationalField());
> MinPolGaussianPeriod := function(l, d)
>     L<z> := CyclotomicField(l);
>     g := PrimitiveRoot(l);
>     g_d := Modexp(g, d, l);
>     w := &+[z ^ Modexp(g_d, i, l) : i in [0..((l-1) div d - 1)] ];
>     return MinimalPolynomial(w);
> end function;
> // compute for l = 13
> { MinPolGaussianPeriod(13, d) : d in Divisors(12) };
{
    x^12 + x^11 + x^10 + x^9 + x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x + 1,
    x^4 + x^3 + 2*x^2 - 4*x + 3,
    x^3 + x^2 - 4*x + 1,
    x + 1,
    x^2 + x - 3,
    x^6 + x^5 - 5*x^4 - 4*x^3 + 6*x^2 + 3*x - 1
}
We illustrate some of the general number field functions by computing some invariants for the first few cubic fields generated with the above function for Gaussian periods.

For each of the cyclotomic fields tex2html_wrap_inline1485 , with p<200 prime, and tex2html_wrap_inline1489 , the cyclic cubic subfield is generated. We list its signature (i.e. the degree, and the number of real and complex embeddings), the field discriminant, the Minkowski bound on the norms of ideals generating the class group, the order of the ideal class group, the index in the ring of integers of the order generated by a root of the field polynomial, and this polynomial itself.

In the code below, the calculation of the ring of integers is done using KANT's `Round-2' algorithm. The class number is calculated with a relation method, using the Minkowski bound, and with verification of the correctness of the result turned off (for speed).

> P<y> := PolynomialRing(IntegerRing());
> "conductor  signature\tdisc\tMink\tclassno index\t  minimalpoly";      
> for l := 7 to 200 by 3 do
>     L<z> := CyclotomicField(l);
>     if not IsPrime(l) then
>         continue;
>     end if;
>     d := 3;
>     f := MinPolGaussianPeriod(l, d);
>     K := NumberField(f);
>     O := IntegerRing(K);
>     I := Index(O, EquationOrder(K));
>     h := ClassNumber(K:
>       Bound := MinkowskiBound(K), Check := false);
>     print "  ", l, "\t   ", d, Signature(K), "\t", Discriminant(K), "\t",
>       MinkowskiBound(K), "\t",  h, "\t", I, "\t", f;
> end for;
conductor  signature    disc    Mink    classno index     minimalpoly
   7        3 3 0        49      2       1       1       x^3 + x^2 - 2*x - 1
   13       3 3 0        169     3       1       1       x^3 + x^2 - 4*x + 1
   19       3 3 0        361     5       1       1       x^3 + x^2 - 6*x - 7
   31       3 3 0        961     7       1       2       x^3 + x^2 - 10*x - 8
   37       3 3 0        1369    9       1       1       x^3 + x^2 - 12*x + 11
   43       3 3 0        1849    10      1       2       x^3 + x^2 - 14*x + 8
   61       3 3 0        3721    14      1       3       x^3 + x^2 - 20*x - 9
   67       3 3 0        4489    15      1       3       x^3 + x^2 - 22*x + 5
   73       3 3 0        5329    17      1       3       x^3 + x^2 - 24*x - 27
   79       3 3 0        6241    18      1       1       x^3 + x^2 - 26*x + 41
   97       3 3 0        9409    22      1       1       x^3 + x^2 - 32*x - 79
   103      3 3 0        10609   23      1       3       x^3 + x^2 - 34*x - 61
   109      3 3 0        11881   25      1       4       x^3 + x^2 - 36*x - 4
   127      3 3 0        16129   29      1       2       x^3 + x^2 - 42*x + 80
   139      3 3 0        19321   31      1       1       x^3 + x^2 - 46*x + 103
   151      3 3 0        22801   34      1       3       x^3 + x^2 - 50*x - 123
   157      3 3 0        24649   35      1       4       x^3 + x^2 - 52*x + 64
   163      3 3 0        26569   37      4       1       x^3 + x^2 - 54*x - 169
   181      3 3 0        32761   41      1       5       x^3 + x^2 - 60*x - 67
   193      3 3 0        37249   43      1       3       x^3 + x^2 - 64*x + 143
   199      3 3 0        39601   45      1       5       x^3 + x^2 - 66*x + 59



Next: Imprimitive degree 9 fields Previous: Kloosterman's sum

Next Group: Imprimitive degree 9 fields Previous Group: Kloosterman's sum

Up: Number fields