Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /usr/share/gap/doc/ref/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : //usr/share/gap/doc/ref/chap60.txt

  
  60 Abelian Number Fields
  
  An  abelian  number field is a field in characteristic zero that is a finite
  dimensional  normal  extension of its prime field such that the Galois group
  is  abelian. In GAP, one implementation of abelian number fields is given by
  fields  of  cyclotomic  numbers  (see  Chapter 18). Note that abelian number
  fields  can  also  be  constructed  with the more general AlgebraicExtension
  (67.1-1), a discussion of advantages and disadvantages can be found in 18.6.
  The functions described in this chapter have been developed for fields whose
  elements  are  in the filter IsCyclotomic (18.1-3), they may or may not work
  well for abelian number fields consisting of other kinds of elements.
  
  Throughout  this  chapter, ℚ_n will denote the cyclotomic field generated by
  the field ℚ of rationals together with n-th roots of unity.
  
  In 60.1,   constructors  for  abelian  number  fields  are  described,  60.2
  introduces  operations for abelian number fields, 60.3 deals with the vector
  space   structure  of  abelian  number  fields,  and  60.4  describes  field
  automorphisms of abelian number fields,
  
  
  60.1 Construction of Abelian Number Fields
  
  Besides   the  usual  construction  using  Field  (58.1-3)  or  DefaultField
  (18.1-16)  (see DefaultField (18.1-16)), abelian number fields consisting of
  cyclotomics    can    be   created   with   CyclotomicField   (60.1-1)   and
  AbelianNumberField (60.1-2).
  
  60.1-1 CyclotomicField
  
  CyclotomicField( [subfield, ]n )  function
  CyclotomicField( [subfield, ]gens )  function
  CF( [subfield, ]n )  function
  CF( [subfield, ]gens )  function
  
  The  first version creates the n-th cyclotomic field ℚ_n. The second version
  creates  the  smallest  cyclotomic field containing the elements in the list
  gens.  In  both  cases  the  field  can  be  generated  as an extension of a
  designated subfield subfield (cf. 60.3).
  
  CyclotomicField  can  be  abbreviated to CF, this form is used also when GAP
  prints cyclotomic fields.
  
  Fields  constructed  with  the  one argument version of CF are stored in the
  global  list  CYCLOTOMIC_FIELDS,  so  repeated  calls of CF just fetch these
  field objects after they have been created once.
  
    Example  
    gap> CyclotomicField( 5 );  CyclotomicField( [ Sqrt(3) ] );
    CF(5)
    CF(12)
    gap> CF( CF(3), 12 );  CF( CF(4), [ Sqrt(7) ] );
    AsField( CF(3), CF(12) )
    AsField( GaussianRationals, CF(28) )
  
  
  60.1-2 AbelianNumberField
  
  AbelianNumberField( n, stab )  function
  NF( n, stab )  function
  
  For  a  positive  integer  n  and  a  list  stab of prime residues modulo n,
  AbelianNumberField  returns  the  fixed field of the group described by stab
  (cf. GaloisStabilizer    (60.2-5)),    in   the   n-th   cyclotomic   field.
  AbelianNumberField  is  mainly  thought  for  internal  use and for printing
  fields  in  a  standard way; Field (58.1-3) (cf. also 60.2) is probably more
  suitable if one knows generators of the field in question.
  
  AbelianNumberField can be abbreviated to NF, this form is used also when GAP
  prints abelian number fields.
  
  Fields    constructed    with   NF   are   stored   in   the   global   list
  ABELIAN_NUMBER_FIELDS,  so  repeated  calls  of  NF  just  fetch these field
  objects after they have been created once.
  
    Example  
    gap> NF( 7, [ 1 ] );
    CF(7)
    gap> f:= NF( 7, [ 1, 2 ] );  Sqrt(-7); Sqrt(-7) in f;
    NF(7,[ 1, 2, 4 ])
    E(7)+E(7)^2-E(7)^3+E(7)^4-E(7)^5-E(7)^6
    true
  
  
  60.1-3 GaussianRationals
  
  GaussianRationals global variable
  IsGaussianRationals( obj )  Category
  
  GaussianRationals is the field ℚ_4 = ℚ(sqrt{-1}) of Gaussian rationals, as a
  set  of  cyclotomic numbers, see Chapter 18 for basic operations. This field
  can also be obtained as CF(4) (see CyclotomicField (60.1-1)).
  
  The   filter   IsGaussianRationals   returns   true   for   the  GAP  object
  GaussianRationals, and false for all other GAP objects.
  
  (For details about the field of rationals, see Chapter Rationals (17.1-1).)
  
    Example  
    gap> CF(4) = GaussianRationals;
    true
    gap> Sqrt(-1) in GaussianRationals;
    true
  
  
  
  60.2 Operations for Abelian Number Fields
  
  For  operations  for  elements  of  abelian  number  fields, e.g., Conductor
  (18.1-7) or ComplexConjugate (18.5-2), see Chapter 18.
  
  60.2-1 Factors
  
  Factors( F )  method
  
  Factoring   of   polynomials   over  abelian  number  fields  consisting  of
  cyclotomics  works  in  principle but is not very efficient if the degree of
  the field extension is large.
  
    Example  
    gap> x:= Indeterminate( CF(5) );
    x_1
    gap> Factors( PolynomialRing( Rationals ), x^5-1 );
    [ x_1-1, x_1^4+x_1^3+x_1^2+x_1+1 ]
    gap> Factors( PolynomialRing( CF(5) ), x^5-1 );
    [ x_1-1, x_1+(-E(5)), x_1+(-E(5)^2), x_1+(-E(5)^3), x_1+(-E(5)^4) ]
  
  
  60.2-2 IsNumberField
  
  IsNumberField( F )  property
  
  returns  true  if  the  field F is a finite dimensional extension of a prime
  field in characteristic zero, and false otherwise.
  
  60.2-3 IsAbelianNumberField
  
  IsAbelianNumberField( F )  property
  
  returns  true  if the field F is a number field (see IsNumberField (60.2-2))
  that  is  a  Galois  extension of the prime field, with abelian Galois group
  (see GaloisGroup (58.3-1)).
  
  60.2-4 IsCyclotomicField
  
  IsCyclotomicField( F )  property
  
  returns  true  if the field F is a cyclotomic field, i.e., an abelian number
  field  (see IsAbelianNumberField (60.2-3)) that can be generated by roots of
  unity.
  
    Example  
    gap> IsNumberField( CF(9) ); IsAbelianNumberField( Field( [ ER(3) ] ) );
    true
    true
    gap> IsNumberField( GF(2) );
    false
    gap> IsCyclotomicField( CF(9) );
    true
    gap> IsCyclotomicField( Field( [ Sqrt(-3) ] ) );
    true
    gap> IsCyclotomicField( Field( [ Sqrt(3) ] ) );
    false
  
  
  60.2-5 GaloisStabilizer
  
  GaloisStabilizer( F )  attribute
  
  Let  F  be  an abelian number field (see IsAbelianNumberField (60.2-3)) with
  conductor n, say. (This means that the n-th cyclotomic field is the smallest
  cyclotomic  field  containing  F,  see Conductor (18.1-7).) GaloisStabilizer
  returns  the  set  of all those integers k in the range [ 1 .. n ] such that
  the  field  automorphism  induced by raising n-th roots of unity to the k-th
  power acts trivially on F.
  
    Example  
    gap> r5:= Sqrt(5);
    E(5)-E(5)^2-E(5)^3+E(5)^4
    gap> GaloisCyc( r5, 4 ) = r5;  GaloisCyc( r5, 2 ) = r5;
    true
    false
    gap> GaloisStabilizer( Field( [ r5 ] ) );
    [ 1, 4 ]
  
  
  
  60.3 Integral Bases of Abelian Number Fields
  
  Each  abelian  number field is naturally a vector space over ℚ. Moreover, if
  the  abelian number field F contains the n-th cyclotomic field ℚ_n then F is
  a vector space over ℚ_n. In GAP, each field object represents a vector space
  object  over  a  certain  subfield  S,  which  depends  on  the  way  F  was
  constructed.  The  subfield  S can be accessed as the value of the attribute
  LeftActingDomain (57.1-11).
  
  The  return  values  of  NF  (60.1-2) and of the one argument versions of CF
  (60.1-1)  represent  vector  spaces over ℚ, and the return values of the two
  argument  version of CF (60.1-1) represent vector spaces over the field that
  is given as the first argument. For an abelian number field F and a subfield
  S  of  F,  a  GAP  object  representing  F  as  a vector space over S can be
  constructed using AsField (58.1-9).
  
  Let  F  be  the cyclotomic field ℚ_n, represented as a vector space over the
  subfield  S.  If  S is the cyclotomic field ℚ_m, with m a divisor of n, then
  CanonicalBasis(  F  )  returns the Zumbroich basis of F relative to S, which
  consists  of  the  roots  of  unity E(n)^i where i is an element of the list
  ZumbroichBase(  n,  m  )  (see ZumbroichBase  (60.3-1)).  If S is an abelian
  number field that is not a cyclotomic field then CanonicalBasis( F ) returns
  a  normal  S-basis  of  F,  i.e.,  a  basis  that  is closed under the field
  automorphisms of F.
  
  Let  F  be the abelian number field NF( n, stab ), with conductor n, that is
  itself  not  a  cyclotomic  field,  represented  as  a vector space over the
  subfield  S.  If  S is the cyclotomic field ℚ_m, with m a divisor of n, then
  CanonicalBasis(  F  )  returns  the  Lenstra  basis  of F relative to S that
  consists  of  the  sums of roots of unity described by LenstraBase( n, stab,
  stab,  m  ) (see LenstraBase (60.3-2)). If S is an abelian number field that
  is  not a cyclotomic field then CanonicalBasis( F ) returns a normal S-basis
  of F.
  
    Example  
    gap> f:= CF(8);;   # a cycl. field over the rationals
    gap> b:= CanonicalBasis( f );;  BasisVectors( b );
    [ 1, E(8), E(4), E(8)^3 ]
    gap> Coefficients( b, Sqrt(-2) );
    [ 0, 1, 0, 1 ]
    gap> f:= AsField( CF(4), CF(8) );;  # a cycl. field over a cycl. field
    gap> b:= CanonicalBasis( f );;  BasisVectors( b );
    [ 1, E(8) ]
    gap> Coefficients( b, Sqrt(-2) );
    [ 0, 1+E(4) ]
    gap> f:= AsField( Field( [ Sqrt(-2) ] ), CF(8) );;
    gap> # a cycl. field over a non-cycl. field
    gap> b:= CanonicalBasis( f );;  BasisVectors( b );
    [ 1/2+1/2*E(8)-1/2*E(8)^2-1/2*E(8)^3, 
      1/2-1/2*E(8)+1/2*E(8)^2+1/2*E(8)^3 ]
    gap> Coefficients( b, Sqrt(-2) );
    [ E(8)+E(8)^3, E(8)+E(8)^3 ]
    gap> f:= Field( [ Sqrt(-2) ] );   # a non-cycl. field over the rationals
    NF(8,[ 1, 3 ])
    gap> b:= CanonicalBasis( f );;  BasisVectors( b );
    [ 1, E(8)+E(8)^3 ]
    gap> Coefficients( b, Sqrt(-2) );
    [ 0, 1 ]
  
  
  60.3-1 ZumbroichBase
  
  ZumbroichBase( n, m )  function
  
  Let  n  and  m  be  positive  integers, such that m divides n. ZumbroichBase
  returns the set of exponents i for which E(n)^i belongs to the (generalized)
  Zumbroich  basis  of the cyclotomic field ℚ_n, viewed as a vector space over
  ℚ_m.
  
  This  basis is defined as follows. Let P denote the set of prime divisors of
  n,  n = ∏_{p ∈ P} p^{ν_p}, and m = ∏_{p ∈ P} p^{μ_p} with μ_p ≤ ν_p. Let e_l
  =  E(l)  for any positive integer l, and { e_{n_1}^j }_{j ∈ J} ⊗ { e_{n_2}^k
  }_{k ∈ K} = { e_{n_1}^j ⋅ e_{n_2}^k }_{j ∈ J, k ∈ K}.
  
  Then the basis is
  
  
  B_{n,m} = ⨂_{p ∈ P} ⨂_{k = μ_p}^{ν_p-1} { e_{p^{k+1}}^j }_{j ∈ J_{k,p}}
  
  where J_{k,p} =
  
        { 0 }                        ;   k = 0, p = 2   
        { 0, 1 }                     ;   k > 0, p = 2   
        { 1, ..., p-1 }              ;   k = 0, p ≠ 2   
        { -(p-1)/2, ..., (p-1)/2 }   ;   k > 0, p ≠ 2   
  
  B_{n,1}  is equal to the basis of ℚ_n over the rationals which is introduced
  in [Zum89]. Also the conversion of arbitrary sums of roots of unity into its
  basis  representation, and the reduction to the minimal cyclotomic field are
  described in this thesis. (Note that the notation here is slightly different
  from that there.)
  
  B_{n,m}  consists  of  roots  of  unity,  it  is an integral basis (that is,
  exactly   the   integral   elements   in   ℚ_n  have  integral  coefficients
  w.r.t. B_{n,m}, cf. IsIntegralCyclotomic (18.1-4)), it is a normal basis for
  squarefree n and closed under complex conjugation for odd n.
  
  Note:  For n ≡ 2 mod 4, we have ZumbroichBase(n, 1) = 2 * ZumbroichBase(n/2,
  1)  and  List( ZumbroichBase(n, 1), x -> E(n)^x ) = List( ZumbroichBase(n/2,
  1), x -> E(n/2)^x ).
  
    Example  
    gap> ZumbroichBase( 15, 1 ); ZumbroichBase( 12, 3 );
    [ 1, 2, 4, 7, 8, 11, 13, 14 ]
    [ 0, 3 ]
    gap> ZumbroichBase( 10, 2 ); ZumbroichBase( 32, 4 );
    [ 2, 4, 6, 8 ]
    [ 0, 1, 2, 3, 4, 5, 6, 7 ]
  
  
  60.3-2 LenstraBase
  
  LenstraBase( n, stabilizer, super, m )  function
  
  Let n and m be positive integers such that m divides n, stabilizer be a list
  of  prime  residues  modulo  n,  which  describes  a  subfield  of  the n-th
  cyclotomic  field  (see GaloisStabilizer  (60.2-5)),  and  super  be  a list
  representing a supergroup of the group given by stabilizer.
  
  LenstraBase  returns  a  list  [  b_1,  b_2,  ...,  b_k ] of lists, each b_i
  consisting of integers such that the elements ∑_{j ∈ b_i}E(n)^j form a basis
  of  the abelian number field NF( n, stabilizer ), as a vector space over the
  m-th cyclotomic field (see AbelianNumberField (60.1-2)).
  
  This  basis  is an integral basis, that is, exactly the integral elements in
  NF(  n,  stabilizer  )  have  integral coefficients. (For details about this
  basis, see [Bre97].)
  
  If possible then the result is chosen such that the group described by super
  acts  on it, consistently with the action of stabilizer, i.e., each orbit of
  super  is  a  union  of  orbits  of  stabilizer.  (A  usual  case is super =
  stabilizer, so there is no additional condition.
  
  Note:  The  b_i  are  in general not sets, since for stabilizer = super, the
  first  entry is always an element of ZumbroichBase( n, m ); this property is
  used by NF (60.1-2) and Coefficients (61.6-3) (see 60.3).
  
  stabilizer  must  not contain the stabilizer of a proper cyclotomic subfield
  of  the  n-th cyclotomic field, i.e., the result must describe a basis for a
  field with conductor n.
  
    Example  
    gap> LenstraBase( 24, [ 1, 19 ], [ 1, 19 ], 1 );
    [ [ 1, 19 ], [ 8 ], [ 11, 17 ], [ 16 ] ]
    gap> LenstraBase( 24, [ 1, 19 ], [ 1, 5, 19, 23 ], 1 );
    [ [ 1, 19 ], [ 5, 23 ], [ 8 ], [ 16 ] ]
    gap> LenstraBase( 15, [ 1, 4 ], PrimeResidues( 15 ), 1 );
    [ [ 1, 4 ], [ 2, 8 ], [ 7, 13 ], [ 11, 14 ] ]
  
  
  The  first  two  results  describe  two bases of the field ℚ_3(sqrt{6}), the
  third result describes a normal basis of ℚ_3(sqrt{5}).
  
  
  60.4 Galois Groups of Abelian Number Fields
  
  The  field  automorphisms  of  the cyclotomic field ℚ_n (see Chapter 18) are
  given  by  the  linear maps *k on ℚ_n that are defined by E(n)^{*k} =E(n)^k,
  where 1 ≤ k < n and Gcd( n, k ) = 1 hold (see GaloisCyc (18.5-1)). Note that
  this action is not equal to exponentiation of cyclotomics, i.e., for general
  cyclotomics z, z^{*k} is different from z^k.
  
  (In  GAP, the image of a cyclotomic z under *k can be computed as GaloisCyc(
  z, k ).)
  
    Example  
    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
  
  
  For  Gcd(  n,  k  )  ≠  1,  the  map  E(n)  ↦ E(n)^k does not define a field
  automorphism of ℚ_n but only a ℚ-linear map.
  
    Example  
    gap> GaloisCyc( E(5)+E(5)^4, 5 ); GaloisCyc( ( E(5)+E(5)^4 )^2, 5 );
    2
    -6
  
  
  60.4-1 GaloisGroup
  
  GaloisGroup( F )  method
  
  The  Galois group Gal( ℚ_n, ℚ ) of the field extension ℚ_n / ℚ is isomorphic
  to  the group (ℤ / n ℤ)^* of prime residues modulo n, via the isomorphism (ℤ
  / n ℤ)^* → Gal( ℚ_n, ℚ ) that is defined by k + n ℤ ↦ ( z ↦ z^*k ).
  
  The  Galois  group  of  the  field extension ℚ_n / L with any abelian number
  field  L  ⊆  ℚ_n  is  simply  the  factor  group of Gal( ℚ_n, ℚ ) modulo the
  stabilizer  of  L, and the Galois group of L / L', with L' an abelian number
  field  contained  in  L,  is  the subgroup in this group that stabilizes L'.
  These  groups are easily described in terms of (ℤ / n ℤ)^*. Generators of (ℤ
  / n ℤ)^* can be computed using GeneratorsPrimeResidues (15.2-4).
  
  In  GAP,  a  field  extension  L  /  L'  is given by the field object L with
  LeftActingDomain (57.1-11) value L' (see 60.3).
  
    Example  
    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) ])
  
  
  The  following  example  shows  Galois groups of a cyclotomic field and of a
  proper subfield that is not a cyclotomic field.
  
    Example  
    gap> gens1:= GeneratorsOfGroup( GaloisGroup( CF(5) ) );
    [ ANFAutomorphism( CF(5), 2 ) ]
    gap> gens2:= GeneratorsOfGroup( GaloisGroup( Field( Sqrt(5) ) ) );
    [ ANFAutomorphism( NF(5,[ 1, 4 ]), 2 ) ]
    gap> Order( gens1[1] );  Order( gens2[1] );
    4
    2
    gap> Sqrt(5)^gens1[1] = Sqrt(5)^gens2[1];
    true
  
  
  The  following  example  shows the Galois group of a cyclotomic field over a
  non-cyclotomic field.
  
    Example  
    gap> g:= GaloisGroup( AsField( Field( [ Sqrt(5) ] ), CF(5) ) );
    <group of size 2 with 1 generators>
    gap> gens:= GeneratorsOfGroup( g );
    [ ANFAutomorphism( AsField( NF(5,[ 1, 4 ]), CF(5) ), 4 ) ]
    gap> x:= last[1];;  x^2;
    IdentityMapping( AsField( NF(5,[ 1, 4 ]), CF(5) ) )
  
  
  60.4-2 ANFAutomorphism
  
  ANFAutomorphism( F, k )  function
  
  Let  F be an abelian number field and k be an integer that is coprime to the
  conductor  (see  Conductor  (18.1-7)) of F. Then ANFAutomorphism returns the
  automorphism  of  F  that is defined as the linear extension of the map that
  raises each root of unity in F to its k-th power.
  
    Example  
    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
  
  
  
  60.5 Gaussians
  
  60.5-1 GaussianIntegers
  
  GaussianIntegers global variable
  
  GaussianIntegers  is  the  ring  ℤ[sqrt{-1}] of Gaussian integers. This is a
  subring of the cyclotomic field GaussianRationals (60.1-3).
  
  60.5-2 IsGaussianIntegers
  
  IsGaussianIntegers( obj )  Category
  
  is the defining category for the domain GaussianIntegers (60.5-1).
  

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net