Skip to content

Commit

Permalink
bump version number, in order to allow for GAP.jl 0.12 (#1628)
Browse files Browse the repository at this point in the history

Co-authored-by: Tommy Hofmann <[email protected]>
  • Loading branch information
ThomasBreuer and thofma authored Sep 26, 2024
1 parent 439d204 commit cfbc336
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 31 deletions.
4 changes: 2 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "Hecke"
uuid = "3e1990a7-5d81-5526-99ce-9ba3ff248f21"
version = "0.34.3"
version = "0.34.4"

[deps]
AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
Expand Down Expand Up @@ -31,7 +31,7 @@ PolymakeExt = "Polymake"
AbstractAlgebra = "^0.43.1"
Dates = "1.6"
Distributed = "1.6"
GAP = "0.9.6, 0.10, 0.11"
GAP = "0.9.6, 0.10, 0.11, 0.12"
InteractiveUtils = "1.6"
LazyArtifacts = "1.6"
Libdl = "1.6"
Expand Down
4 changes: 2 additions & 2 deletions ext/GAPExt/abelian_layer.jl
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function _real_level(L::GAP.GapObj)
push!(lElem, g)
end
end
S = GAP.Globals.Subgroup(G, GAP.julia_to_gap(lElem))
S = GAP.Globals.Subgroup(G, GAP.GapObj(lElem))
#Now, I check containment.
k = 0
for i = 2:length(L)
Expand Down Expand Up @@ -175,7 +175,7 @@ function _construct_grp(IdH::GAP.GapObj, uncom::Int)
ex = ppio(o, uncom)[1]
push!(new_gens, gens[i]^ex)
end
S = GAP.Globals.Subgroup(G, GAP.julia_to_gap(new_gens))
S = GAP.Globals.Subgroup(G, GAP.GapObj(new_gens))
Q = GAP.Globals.FactorGroup(G, S)
IdCheck = GAP.Globals.IdGroup(Q)
return IdCheck
Expand Down
24 changes: 12 additions & 12 deletions ext/GAPExt/brauer.jl
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ function find_subgroup(L::GAP.GapObj, level::Int)
end
end
if !found
return found, GAP.julia_to_gap([candidate])
return found, GAP.GapObj([candidate])
end
#I need to change the series...
L1 = GAP.GapObj[]
Expand All @@ -168,7 +168,7 @@ function find_subgroup(L::GAP.GapObj, level::Int)
for i = level:length(L)
push!(L1, GAP.Globals.Image(proj_comp, L[i]))
end
return found, GAP.julia_to_gap(L1)
return found, GAP.GapObj(L1)
end

################################################################################
Expand Down Expand Up @@ -227,7 +227,7 @@ function _to_prime_power_groups(cocycle::cocycle_ctx, p::Int)
for i = 1:length(gensEp)
push!(imgs_new_proj, GAP.Globals.Image(proj, gensEp[i]))
end
imgs_proj = GAP.julia_to_gap(imgs_new_proj)
imgs_proj = GAP.GapObj(imgs_new_proj)
Gp = GAP.Globals.Subgroup(G, imgs_proj)
#I need the inclusion of Gp into G for strange (GAP) reasons.
gensGp = GAP.Globals.GeneratorsOfGroup(Gp)
Expand All @@ -241,7 +241,7 @@ function _to_prime_power_groups(cocycle::cocycle_ctx, p::Int)
prel = GAP.Globals.PreImagesRepresentative(inj_Ep, el)
push!(images_inclusion, prel)
end
imgs_inclusion = GAP.julia_to_gap(images_inclusion)
imgs_inclusion = GAP.GapObj(images_inclusion)
new_incl = GAP.Globals.GroupHomomorphismByImages(A, Ep, gensA, imgs_inclusion)
res = cocycle_ctx(new_proj, new_incl, cocycle.cocycle)
res.inclusion_of_pSylow = inclusion_Gp
Expand Down Expand Up @@ -318,14 +318,14 @@ function _to_subgroup_of_kernel(cocycle::cocycle_ctx, S)
el_E = GAP.Globals.Image(cocycle.inclusion, el_A)
push!(images_inclusion, GAP.Globals.Image(pr1, el_E))
end
inclusion = GAP.Globals.GroupHomomorphismByImages(A_new, E_new, gensA_new, GAP.julia_to_gap(images_inclusion))
inclusion = GAP.Globals.GroupHomomorphismByImages(A_new, E_new, gensA_new, GAP.GapObj(images_inclusion))
gensE_new = GAP.Globals.GeneratorsOfGroup(E_new)
images_proj = []
for i = 1:length(gensE_new)
el = GAP.Globals.PreImagesRepresentative(pr1, gensE_new[i])
push!(images_proj, GAP.Globals.Image(cocycle.projection, el))
end
projection = GAP.Globals.GroupHomomorphismByImages(E_new, G, gensE_new, GAP.julia_to_gap(images_proj))
projection = GAP.Globals.GroupHomomorphismByImages(E_new, G, gensE_new, GAP.GapObj(images_proj))
local new_coc
let cocycle = cocycle, pr = pr
function new_coc(x::GAP.GapObj, y::GAP.GapObj)
Expand Down Expand Up @@ -355,7 +355,7 @@ function _to_prime_power_kernel(cocycle::cocycle_ctx, p::Int)
E = GAP.Globals.Source(cocycle.projection)
G = GAP.Globals.ImagesSource(cocycle.projection)
sizeG = GAP.Globals.Size(G)
S = GAP.Globals.Subgroup(A, GAP.julia_to_gap(gens_sub))
S = GAP.Globals.Subgroup(A, GAP.GapObj(gens_sub))
pr = GAP.Globals.NaturalHomomorphismByNormalSubgroup(A, S)
#I still need to create the maps.
S1 = GAP.Globals.Image(cocycle.inclusion, S)
Expand All @@ -369,14 +369,14 @@ function _to_prime_power_kernel(cocycle::cocycle_ctx, p::Int)
el_E = GAP.Globals.Image(cocycle.inclusion, el_A)
push!(images_inclusion, GAP.Globals.Image(pr1, el_E))
end
inclusion = GAP.Globals.GroupHomomorphismByImages(A_new, E_new, gensA_new, GAP.julia_to_gap(images_inclusion))
inclusion = GAP.Globals.GroupHomomorphismByImages(A_new, E_new, gensA_new, GAP.GapObj(images_inclusion))
gensE_new = GAP.Globals.GeneratorsOfGroup(E_new)
images_proj = []
for i = 1:length(gensE_new)
el = GAP.Globals.PreImagesRepresentative(pr1, gensE_new[i])
push!(images_proj, GAP.Globals.Image(cocycle.projection, el))
end
projection = GAP.Globals.GroupHomomorphismByImages(E_new, G, gensE_new, GAP.julia_to_gap(images_proj))
projection = GAP.Globals.GroupHomomorphismByImages(E_new, G, gensE_new, GAP.GapObj(images_proj))
local new_coc
let cocycle = cocycle, pr = pr
function new_coc(x::GAP.GapObj, y::GAP.GapObj)
Expand Down Expand Up @@ -432,7 +432,7 @@ function _autos_to_check(G::GAP.GapObj, K::GAP.GapObj, E::GAP.GapObj, mG::GAP.Ga
gK = GAP.Globals.GeneratorsOfGroup(K)
for s = 1:length(gens)
ind_auts_quo[s] = GAP.Globals.Image(isoAutG, GAP.Globals.InducedAutomorphism(mG, gens[s]))
igK = GAP.julia_to_gap([GAP.Globals.Image(gens[s], gK[i]) for i = 1:length(gK)])
igK = GAP.GapObj([GAP.Globals.Image(gens[s], gK[i]) for i = 1:length(gK)])
h = GAP.Globals.GroupHomomorphismByImages(K, K, gK, igK)
ind_auts_sub[s] = GAP.Globals.Image(isoAutK, h)
end
Expand All @@ -443,7 +443,7 @@ function _autos_to_check(G::GAP.GapObj, K::GAP.GapObj, E::GAP.GapObj, mG::GAP.Ga
for s = 1:length(gens)
gensubs[s] = GAP.Globals.Image(EmbAutG, ind_auts_quo[s]) * GAP.Globals.Image(EmbAutK, ind_auts_sub[s])
end
S = GAP.Globals.Subgroup(GProd, GAP.julia_to_gap(gensubs))
S = GAP.Globals.Subgroup(GProd, GAP.GapObj(gensubs))
@vprintln :BrauerObst 1 "Map constructed. Enumerating cosets..."
Transv = GAP.Globals.RightTransversal(GProd, S)
Tperm = GAP.Globals.List(Transv)
Expand Down Expand Up @@ -472,7 +472,7 @@ function projections(mG::GAP.GapObj)
for s = 1:length(gens)
gens_img[s] = GAP.Globals.Image(isoAutG, GAP.Globals.InducedAutomorphism(mG, gens[s]))
end
S = GAP.Globals.Subgroup(permAutG, GAP.julia_to_gap(gens_img))
S = GAP.Globals.Subgroup(permAutG, GAP.GapObj(gens_img))
@vprintln :BrauerObst 1 "Map constructed. Enumerating cosets..."
Transv = GAP.Globals.RightTransversal(permAutG, S)
Tperm = GAP.Globals.List(Transv)
Expand Down
4 changes: 2 additions & 2 deletions ext/GAPExt/conductors.jl
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ function _conductors_using_cocycles(F::FieldsTower, st::Vector{Int}, l_cond::Vec
for p in lp
gHp = inertia_subgroups[p]
els = [D[g] for g in gHp]
sub = GAP.Globals.Subgroup(G, GAP.julia_to_gap(els))
sub = GAP.Globals.Subgroup(G, GAP.GapObj(els))
ord = GAP.Globals.Size(sub)
subgs = Vector{GAP.GapObj}()
preimages = Vector{Vector{GAP.GapObj}}(undef, length(els))
Expand All @@ -106,7 +106,7 @@ function _conductors_using_cocycles(F::FieldsTower, st::Vector{Int}, l_cond::Vec
it = cartesian_product_iterator(UnitRange{Int}[1:n for i = 1:length(els)], inplace = true)
sizes_preimages = Int[]
for I in it
sub = GAP.Globals.Subgroup(E, GAP.julia_to_gap([preimages[i][I[i]] for i = 1:length(els)]))
sub = GAP.Globals.Subgroup(E, GAP.GapObj([preimages[i][I[i]] for i = 1:length(els)]))
push!(sizes_preimages, GAP.Globals.Size(sub))
if maximum(sizes_preimages) != ord && minimum(sizes_preimages) == ord
break
Expand Down
12 changes: 6 additions & 6 deletions ext/GAPExt/fields.jl
Original file line number Diff line number Diff line change
Expand Up @@ -296,12 +296,12 @@ function _perm_to_gap_grp(perm::Vector{Vector{Int}})
z = _perm_to_gap_perm(x)
push!(g, z)
end
g1 = GAP.julia_to_gap(g)
g1 = GAP.GapObj(g)
return GAP.Globals.Group(g1)
end

function _perm_to_gap_perm(x::Vector{Int})
x1 = GAP.julia_to_gap(x)
x1 = GAP.GapObj(x)
z = GAP.Globals.PermList(x1)
return z
end
Expand All @@ -322,7 +322,7 @@ function _split_extension(G::Vector{<: NumFieldHom{AbsSimpleNumField, AbsSimpleN
gtype = map(Int, domain(mats[1]).snf)
G1 = permutation_group(G)
gensG1 = GAP.Globals.GeneratorsOfGroup(G1)
A = GAP.Globals.AbelianGroup(GAP.julia_to_gap(gtype))
A = GAP.Globals.AbelianGroup(GAP.GapObj(gtype))
gens = GAP.Globals.GeneratorsOfGroup(A)
auts = Vector{GAP.GapObj}(undef, length(mats))
for i = 1:length(mats)
Expand All @@ -336,10 +336,10 @@ function _split_extension(G::Vector{<: NumFieldHom{AbsSimpleNumField, AbsSimpleN
end
images[j] = g
end
auts[i] = GAP.Globals.GroupHomomorphismByImages(A, A, gens, GAP.julia_to_gap(images))
auts[i] = GAP.Globals.GroupHomomorphismByImages(A, A, gens, GAP.GapObj(images))
end
AutGrp = GAP.Globals.Group(GAP.julia_to_gap(auts))
mp = GAP.Globals.GroupHomomorphismByImages(G1, AutGrp, gensG1, GAP.julia_to_gap(auts))
AutGrp = GAP.Globals.Group(GAP.GapObj(auts))
mp = GAP.Globals.GroupHomomorphismByImages(G1, AutGrp, gensG1, GAP.GapObj(auts))
return GAP.Globals.SplitExtension(G1, mp, A)

end
Expand Down
2 changes: 1 addition & 1 deletion ext/GAPExt/maximal_abelian_subextension.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function check_abelian_extensions(class_fields::Vector{Tuple{ClassField{MapRayCl
#I need to compute the degree of the maximal abelian subextension over this subfield.
deg_mas = Set{Int}()
if degree(domain(F.subfields[i])) == 1
idH = GAP.julia_to_gap([1, 1])
idH = GAP.GapObj([1, 1])
else
idH = IdGroup(automorphism_list(domain(F.subfields[i])))
end
Expand Down
10 changes: 5 additions & 5 deletions ext/GAPExt/meataxe.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## `ZZRingElem` to GAP integer
function _julia_to_gap(obj::ZZRingElem)
Nemo._fmpz_is_small(obj) && return GAP.julia_to_gap(Int(obj))
function _GapObj(obj::ZZRingElem)
Nemo._fmpz_is_small(obj) && return GAP.GapObj(Int(obj))
GC.@preserve obj begin
x = Nemo._as_bigint(obj)
return ccall((:MakeObjInt, GAP.libgap), GAP.GapObj, (Ptr{UInt64}, Cint), x.d, x.size)
Expand Down Expand Up @@ -42,10 +42,10 @@ end
# computes the isomorphism between the Oscar field F and the corresponding GAP field
function _ring_iso_oscar_gap(F::T) where T <: Union{Nemo.fpField, Nemo.FpField}
p = characteristic(F)
G = GAP.Globals.GF(_julia_to_gap(p))
G = GAP.Globals.GF(_GapObj(p))
e = GAP.Globals.One(G)

f(x::Union{Nemo.fpFieldElem, Nemo.FpFieldElem}) = _julia_to_gap(lift(x))*e
f(x::Union{Nemo.fpFieldElem, Nemo.FpFieldElem}) = _GapObj(lift(x))*e
finv(x) = F(ZZRingElem(GAP.Globals.IntFFE(x)))

return MapFromFunc(F, G, f, finv)
Expand Down Expand Up @@ -118,7 +118,7 @@ function _ring_iso_oscar_gap(F::T) where T <: Union{Nemo.fqPolyRepField, Nemo.Fq
end

function __to_gap(h, x::Vector)
return GAP.Globals.GModuleByMats(GAP.julia_to_gap([GAP.julia_to_gap(map(x -> _image(h, x), Matrix(y))) for y in x]), codomain(h))
return GAP.Globals.GModuleByMats(GAP.GapObj([GAP.GapObj(map(x -> _image(h, x), Matrix(y))) for y in x]), codomain(h))
end

function __gap_matrix_to_julia(h, g)
Expand Down
2 changes: 1 addition & 1 deletion src/FieldFactory/CM_recognition.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ function defines_CM_field(F::FieldsTower)
return false, id_hom(K)
end
autsK = F.generators_of_automorphisms
permGC = GAP.julia_to_gap([_perm_to_gap_perm(x) for x in permutations(autsK)])
permGC = GAP.GapObj([_perm_to_gap_perm(x) for x in permutations(autsK)])
perm_group = GAP.Globals.GroupByGenerators(permGC)
Z = GAP.Globals.Center(perm_group)
if isodd(GAP.Globals.Size(Z))
Expand Down

2 comments on commit cfbc336

@thofma
Copy link
Owner

@thofma thofma commented on cfbc336 Sep 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/116028

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.34.4 -m "<description of version>" cfbc336caf558ae58b20712227e56f8db26737e3
git push origin v0.34.4

Please sign in to comment.