Decompose a prime in the ring of integers
julia
julia> Qx, x = QQ[:x];
julia> K, a = number_field(x^2 - 5, :a);
julia> OK = ring_of_integers(K);
We decompose the ideals generated by
julia
julia> prime_decomposition(OK, 5)
1-element Vector{Tuple{AbsSimpleNumFieldOrderIdeal, Int64}}:
(<5, a>
Norm: 5
Minimum: 5
two normal wrt: 5, 2)
julia> prime_decomposition(OK, 7)
1-element Vector{Tuple{AbsSimpleNumFieldOrderIdeal, Int64}}:
(<7, 7>
Norm: 49
Minimum: 7
principal generator 7
two normal wrt: 7, 1)
julia> prime_decomposition(OK, 11)
2-element Vector{Tuple{AbsSimpleNumFieldOrderIdeal, Int64}}:
(<11, a + 4>
Norm: 11
Minimum: 11
two normal wrt: 11, 1)
(<11, a + 7>
Norm: 11
Minimum: 11
two normal wrt: 11, 1)
It is also possible to directly determine the decomposition type:
julia
julia> prime_decomposition_type(OK, 5)
1-element Vector{Tuple{Int64, Int64}}:
(1, 2)
julia> prime_decomposition_type(OK, 7)
1-element Vector{Tuple{Int64, Int64}}:
(2, 1)
julia> prime_decomposition_type(OK, 11)
2-element Vector{Tuple{Int64, Int64}}:
(1, 1)
(1, 1)
We can also determine the prime ideals above prime numbers in non-maximal orders:
julia
julia> R = equation_order(K)
Order of number field of degree 2 over QQ
with Z-basis [1, a]
julia> prime_ideals_over(R, 2)
1-element Vector{AbsSimpleNumFieldOrderIdeal}:
Ideal of (R)
with basis matrix
[2 0; 1 1]