Skip to content

Free resolutions for group rings#5864

Open
fieker wants to merge 16 commits intomasterfrom
CF/ZGFreeRes
Open

Free resolutions for group rings#5864
fieker wants to merge 16 commits intomasterfrom
CF/ZGFreeRes

Conversation

@fieker
Copy link
Copy Markdown
Contributor

@fieker fieker commented Mar 13, 2026

Allows the following to work:

k, a= wildanger_field(3, 13)
k = normal_closure(k)
k = k[1]
I = idele_class_gmodule(k)
G = group(I.data[1])
ZG = group_algebra(ZZ, G)
fr = Oscar.GrpCoh.free_res(ZG; side = :right)
h = hom(fr, I.data[1])
quo(kernel(map(h, 2))[1], image(map(h, 1))[1])[1]

to compute (co)-homology like in the text book. Not yet perfect.

fieker added 6 commits March 12, 2026 11:47
In order to better support maps between (co)homology groups the current
code need reorganising. This introduces the first step: free resolutions
of ZG (well, the 1st 3 terms - enough to get H^2) as a proper complex
as well as a "hom-functor".
It relies on the corresponding changes in AA and Hecke.

Will/ should be continued with
 - tensor produc functor
 - homology
 - enough interfaces to remove the old H^? code

... small steps ...
@fieker fieker requested a review from ThomasBreuer March 13, 2026 08:33
@fieker fieker added enhancement New feature or request needs hecke update experimental Only changes experimental parts of the code needs aa update Coding Sprint Spring 2026 labels Mar 13, 2026
@thofma
Copy link
Copy Markdown
Collaborator

thofma commented Mar 13, 2026

Do you want to add this as an example/test somewhere?

@ThomasBreuer
Copy link
Copy Markdown
Member

ThomasBreuer commented Mar 13, 2026

When I try the example, idele_class_gmodule(k) throws an exception.

ERROR: AssertionError: all((in)(iU), u)
Stacktrace:
 [1] (::Oscar.GrpCoh.var"#ind_action#20"{…})(XX::GModule{…}, s::PermGroupElem)
   @ Oscar.GrpCoh /.../Oscar.jl/experimental/GModule/src/Cohomology.jl:440

(Sorry, I missed the info that dev versions of AbstractAlgebra and Hecke are needed. Will try again.)
(No, same error with dev versions of AbstractAlgebra and Hecke.)

@fieker
Copy link
Copy Markdown
Contributor Author

fieker commented Mar 13, 2026

this test is wrong - this is the mixup with the FundClass and the MeatAxe branches
I'll fix it and add an example

@fieker
Copy link
Copy Markdown
Contributor Author

fieker commented Mar 19, 2026

So, the interface is slowly emerging

  • free_res extends however much you want (above, fr[5] will also work), thus H^4 can be computed
  • there are nucleous functions to get proper 1 and 2 chains
  • change_group should take a map U -> V of groups, resolutions of ZU and ZV and construct the chain map. here the interface is bad
  • elements in the hom complex can be turned into homs and back

Comment thread experimental/GModule/test/runtests.jl Outdated
fr = Oscar.GrpCoh.free_res(ZG; side = :right)
h = hom(fr, I.data[1])
@test is_isomorphic(abelian_group([6]), quo(kernel(map(h, 2))[1], image(map(h, 1))[1])[1])
@test is_isomorphic(abelian_group([1]), quo(kernel(map(h, 1))[1], image(map(h, 1))[0])[1])
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
@test is_isomorphic(abelian_group([1]), quo(kernel(map(h, 1))[1], image(map(h, 1))[0])[1])
@test is_isomorphic(abelian_group([1]), quo(kernel(map(h, 1))[1], image(map(h, 0))[1])[1])

@fieker fieker mentioned this pull request Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Coding Sprint Spring 2026 enhancement New feature or request experimental Only changes experimental parts of the code needs aa update needs hecke update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants