Number fields
Chevie.Nf
— ModuleNumber 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 Cyc
s; 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₆₀)
Chevie.Nf.NF
— FunctionNF(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₁₅)
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
.
Chevie.Nf.CF
— FunctionCF(N::Integer)
the cyclotomic field generated by the N
-th roots of unity.
Chevie.Nf.Aut
— FunctionAut(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
CyclotomicNumbers.galois
— Methodgalois(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₅)