% This file was created automatically from fldabnum.msk.
% DO NOT EDIT!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%A  fldabnum.msk                 GAP documentation              Thomas Breuer
%%
%A  @(#)$Id: fldabnum.msk,v 1.8 2002/04/15 10:02:28 sal Exp $
%%
%Y  (C) 1998 School Math and Comp. Sci., University of St.  Andrews, Scotland
%Y  Copyright (C) 2002 The GAP Group
%%
\PreliminaryChapter{Abelian Number Fields}

\>CyclotomicField( <n> ) F
\>CyclotomicField( <gens> ) F
\>CyclotomicField( <subfield>, <n> ) F
\>CyclotomicField( <subfield>, <gens> ) F

The first version creates the <n>-th cyclotomic field. The second
version creates the cyclotomic field generated by <gens>. In both cases
the field can be generated as an extension of a designated <subfield>.


\>AbelianNumberField( <n>, <stab> ) F

fixed field of the group generated by <stab> (prime residues modulo <n>)
in the cyclotomic field with conductor <n>.


\>`GaussianRationals' V

is the field $Q(i)$ of Gaussian rationals.


\>IsGaussianRationals( <obj> ) C



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Integral Bases for Abelian Number Fields}

\>ZumbroichBase( <n>, <m> ) F

is the set of exponents <e> for which `E(<n>)^<e>' belongs to the
(generalized) Zumbroich base of the cyclotomic field $Q_n$,
viewed as vector space over $Q_m$.

The  base,  the  base conversion  and the  reduction  to  the  minimal
cyclotomic field  are  described in~\cite{Zum89}.

*Note:* For $<n> \equiv 2 \pmod4$ we have
`ZumbroichBase(<n>, 1) = 2 * ZumbroichBase(<n>/2, 1)'. However,
`List( ZumbroichBase(<n>, 1), x -> E(<n>)^x ) =
 List( ZumbroichBase(<n>/2, 1), x -> E(<n>/2)^x )'.


\>LenstraBase( <n>, <stabilizer>, <super>, <m> ) F

is a list of lists of integers, each list indexing the exponents of
an orbit of a subgroup of <stabilizer> on <n>-th roots of unity.

<super> is a list representing a supergroup of <stabilizer> which
shall act consistently with the action of <stabilizer>, i.e., each orbit
of <supergroup> is a union of orbits of <stabilizer>.

<m> is a positive integer.  The basis described by the returned list is
an integral basis over the cyclotomic field $\Q_m$.

*Note:* The elements are in general not sets, since the first element
is always an element of `ZumbroichBase( <n>, <m> )';
this property is used by `NF' and `Coefficients'.

*Note:* <stabilizer> must not contain the stabilizer of a proper
cyclotomic subfield of the <n>-th cyclotomic field.



For details about the bases see \cite{Bre97}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Operations for Abelian Number Fields}

For operations for cyclotomics, e.g., `Conductor' ("Conductor"),
see Chapter~"Cyclotomic Numbers".

\>IsNumberField( <F> ) P

returns `true' if the field <F> is a number field, or `false' otherwise. 

\index{number field}
A *number field* is a finite extension of a prime field in characteristic
zero.


\>IsAbelianNumberField( <F> ) P

returns the abelian number field of the field <F>.

\index{abelian number field}
An *abelian number field* is a number field that is a Galois extension
of the prime field with abelian Galois group (see~"GaloisGroup!of field").


\>GaloisStabilizer( <F> ) A

For an abelian number field <F>, `GaloisStabilizer' returns
the set of all integers $k$ in the range from $1$ to the conductor of
<F> such that the field automorphism induced by raising roots of unity
in <F> to the $k$-th power acts trivially on <F>.


\>ComplexConjugate( <z> ) A

For a cyclotomic number <z>, `ComplexConjugate' returns
`GaloisCyc( <z>, -1 )'.
For a quaternion $<z> = c_1 e + c_2 i + c_3 j + c_4 k$,
`ComplexConjugate' returns $c_1 e - c_2 i - c_3 j - c_4 k$.




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Galois Groups of Abelian Number Fields}

\atindex{abelian number fields!Galois group}%
{@abelian number fields!Galois group}
\atindex{number fields!Galois group}{@number fields!Galois group}
\index{automorphism group!of number fields}

The *Galois automorphisms* of the cyclotomic field $\Q(e_{<n>})$
(see Chapter~"Cyclotomic Numbers") are given by
linear extension of the maps $\ast k :  e_{<n>} \mapsto e_{<n>}^k$ where
$1 \leq k \< <n>$ and `Gcd( <n>, <k> ) = 1' hold (see~"GaloisCyc").
Note that this action is *not* equal to exponentiation of cyclotomics,
i.e., for general cyclotomics $z$, $z^{\ast k}$ is different from $z^k$:

\beginexample 
gap> ( E(5) + E(5)^4 )^2; GaloisCyc( E(5) + E(5)^4, 2 );
-2*E(5)-E(5)^2-E(5)^3-2*E(5)^4
E(5)^2+E(5)^3
\endexample

For $`Gcd'( <n>, k ) \not= 1$, the map $e_n \mapsto e_{<n>}^k$ is *not* a
field automorphism but only a linear map.

\beginexample 
gap> GaloisCyc( E(5)+E(5)^4, 5 ); GaloisCyc( ( E(5)+E(5)^4 )^2, 5 );
2
-6
\endexample

\>ANFAutomorphism( <F>, <k> ) F

Let <F> be an abelian number field <F> and <k> an integer.
If <k> is coprime to the conductor (see~"Conductor") of <F> then
`ANFAutomorphism' returns the automorphism of <F> defined as the linear
extension of the map that raises each root of unity in <F> to its <k>-th
power, otherwise an error is signalled.


\beginexample 
gap> f:= CF(25);
CF(25)
gap> alpha:= ANFAutomorphism( f, 2 );
ANFAutomorphism( CF(25), 2 )
gap> alpha^2;
ANFAutomorphism( CF(25), 4 )
gap> Order( alpha );
20
gap> E(5)^alpha;
E(5)^2
\endexample

The *Galois group* $Gal( \Q(e_{<n>}), \Q )$ of the field extension
$\Q(e_{<n>}) / \Q$ is isomorphic to the group $(\Z / <n> \Z)^{\ast}$
of prime residues modulo <n>, via the isomorphism from
$(\Z / <n> \Z)^{\ast}$ to $Gal( \Q(e_{<n>}), \Q )$ defined by
$k + <n> \Z \mapsto ( z \mapsto z^{\ast k} )$.

The Galois group of the field extension $\Q(e_{<n>}) / L$ with
any abelian number field $L \subseteq \Q(e_{<n>})$ is simply the
factor group of $Gal( \Q_{<n>}, \Q )$ modulo the stabilizer of $L$,
and the Galois group of $L / L^{\prime}$, with $L^{\prime}$ an abelian
number field contained in $L$ is the subgroup in this group that stabilizes
$L^{\prime}$.
These groups are easily described in terms of $(\Z / <n> \Z)^{\ast}$.
Generators of $(\Z / <n> \Z)^{\ast}$ can be computed using
`GeneratorsPrimeResidues' (see~"GeneratorsPrimeResidues").

\beginexample 
gap> f:= CF(15);
CF(15)
gap> g:= GaloisGroup( f );
<group with 2 generators>
gap> Size( g ); IsCyclic( g ); IsAbelian( g );
8
false
true
gap> Action( g, NormalBase( f ), OnPoints );
Group([ (1,6)(2,4)(3,8)(5,7), (1,4,3,7)(2,8,5,6) ])
gap> GeneratorsOfGroup( g );
[ ANFAutomorphism( CF(15), 11 ), ANFAutomorphism( CF(15), 7 ) ]
\endexample

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Gaussians}

\>`GaussianIntegers' V

is the ring of Gaussian integers.
This is the subring $Z[i]$ of the complex numbers,
where $i$ is a square root of $-1$.


\>IsGaussianIntegers( <obj> ) C

is the defining category for the domain `GaussianIntegers'.




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E

