Number fields

Chevie.NfModule

Number fields are the finite extensions of . The only ones that we can handle at the moment are subfields of cyclotomic fields, that is whose elements are Cycs; they are also characterized as the number fields K such that Gal(K/ℚ) is abelian. For example, ℚ (√5) is a number field that is not cyclotomic but contained in the cyclotomic field ℚ (ζ₅).

The default constructor for a number field takes some numbers as arguments and constructs the smallest number field containing its arguments.

julia> F=NF(E(5)) # the full cyclotomic field prints as CF
CF(5)

julia> K=NF(root(5)) # a subfield
NF(5,-1₅)

julia> conductor(K) # smallest n such that K is a subfield of CF(n)
5

julia> E(5)+E(5,-1) in NF(root(5)) # test if an element is in the subfield
true

A number field K is printed by given the conductor of the smallest cyclotomic field F containing it, and generators of the stabilizer of K in the galois group of F. Above NF(5,-1₅) represents the subfield of CF(5) stable by complex conjugacy.

julia> elements(galois(F))
4-element Vector{Chevie.Nf.NFAut}:
 Aut(CF(5),1₅)
 Aut(CF(5),2₅)
 Aut(CF(5),-1₅)
 Aut(CF(5),-2₅)

The element of the galois group of CF(5) printed -2₅ acts by raising the fifth roots of unity to the power -2. Thus -1₅ represents complex conjugacy.

julia> NF(root(3),root(5)) # here the stabilizer needs 2 generators
NF(60,-11₆₀,-1₆₀)
source
Chevie.Nf.NFFunction

NF(gens...) or NF(gens::AbstractVector)

returns the smallest number field containing the elements gens, which may be Cyc, Root1, Integer or Rational{<:Integer}.

julia> NF(E(3),root(5))
NF(15,4₁₅)

julia> NF([E(3),root(5)])
NF(15,4₁₅)
source

NF(N::Integer, stab::Group{<:Mod}) fixed field of the subgroup stab of galois(CF(N)) in CF(N). stab should not inject in the multiplicative group of a proper divisor of N.

source
Chevie.Nf.CFFunction

CF(N::Integer) the cyclotomic field generated by the N-th roots of unity.

source
Chevie.Nf.AutFunction

Aut(F::NumberField,k::Union{Integer,Mod})

The Galois automorphism σₖ of the cyclotomic field CF(n) raises n-th roots of unity to the power k; it exists for k prime to n. If F is a subfield of CF(n), the elements of the orbit of σₖ modulo the stabilizer of F in the Galois group galois(CF(n)) have same restriction to F. An automorphism of F is represented by a canonical representative σₗ of this orbit. This is the result of Aut(F,k). The number k can be given as an integer or as Mod(k,n).

julia> F=NF(root(5))
NF(5,-1₅)

julia> s=Aut(F,3)
Aut(NF(5,-1₅),2₅)

julia> root(5)^s # action of s on a Cyc
Cyc{Int64}: -√5
source
CyclotomicNumbers.galoisMethod

galois(F::NumberField) Galois group of F over

the Galois group of F, a number field of conductor n, is the quotient of the Galois group of CF(n), isomorphic to the multiplicative group (ℤ/n)ˣ, by the stabilizer of F. It is given as a group of Galois automorphisms (see Aut).

julia> K=CF(5)
CF(5)

julia> F=NF(root(5))
NF(5,-1₅)

julia> galois(K)
Group(Chevie.Nf.NFAut[Aut(CF(5),2₅)])

julia> elements(galois(K))
4-element Vector{Chevie.Nf.NFAut}:
 Aut(CF(5),1₅)
 Aut(CF(5),2₅)
 Aut(CF(5),-1₅)
 Aut(CF(5),-2₅)

julia> elements(galois(F))
2-element Vector{Chevie.Nf.NFAut}:
 Aut(NF(5,-1₅),1₅)
 Aut(NF(5,-1₅),2₅)
source