Skip to content

Improve isomorphism from pc-groups and fp-groups to FinGenAbGroup#4357

Merged
fingolfin merged 3 commits intooscar-system:masterfrom
ThomasBreuer:TB_isomorphism_inf_ab
Nov 29, 2024
Merged

Improve isomorphism from pc-groups and fp-groups to FinGenAbGroup#4357
fingolfin merged 3 commits intooscar-system:masterfrom
ThomasBreuer:TB_isomorphism_inf_ab

Conversation

@ThomasBreuer
Copy link
Copy Markdown
Member

@ThomasBreuer ThomasBreuer commented Nov 27, 2024

resolves #4323

  • introduce _exponent_vector for elements in pc and fp groups, (perhaps to be renamed), use it in map_word

  • introduce exponents_of_abelianization (perhaps to be documented)

  • add a special isomorphism(::Type{PcGroup}, A::FinGenAbGroup) method that avoids multiplications in the functions for mapping elements

  • replace the special isomorphism(::Type{FPGroup}, A::FinGenAbGroup) method by one that avoids multiplications in the functions for mapping elements

  • change (G::FPGroup)(pairs::AbstractVector{Pair{T, S}}) to call the relevant GAP functions directly

  • change syllables to return a vector of pairs where the second entry is ZZRingElem not Int, since the exponents can be arbitrarily large

- introduce `_exponent_vector` for elements in pc and fp groups,
  (perhaps to be renamed), use it in `map_word`

- introduce `exponents_of_abelianization` (perhaps to be documented)

- add a special `isomorphism(::Type{PcGroup}, A::FinGenAbGroup)` method
  that avoids multiplications in the functions for mapping elements

- replace the special `isomorphism(::Type{FPGroup}, A::FinGenAbGroup)`
  method by one that avoids multiplications in the functions for mapping
  elements

- change `(G::FPGroup)(pairs::AbstractVector{Pair{T, S}})` to call the
  relevant GAP functions directly
Comment thread src/Groups/GAPGroups.jl Outdated
Copy link
Copy Markdown
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

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

Looks good to me

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 28, 2024

Codecov Report

Attention: Patch coverage is 97.02970% with 3 lines in your changes missing coverage. Please review.

Project coverage is 84.31%. Comparing base (5a737af) to head (6f753fb).
Report is 238 commits behind head on master.

Files with missing lines Patch % Lines
src/Groups/homomorphisms.jl 96.92% 2 Missing ⚠️
src/Groups/GAPGroups.jl 96.55% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4357      +/-   ##
==========================================
- Coverage   84.50%   84.31%   -0.20%     
==========================================
  Files         645      651       +6     
  Lines       85621    86543     +922     
==========================================
+ Hits        72354    72965     +611     
- Misses      13267    13578     +311     
Files with missing lines Coverage Δ
src/GAP/wrappers.jl 95.11% <100.00%> (+0.11%) ⬆️
src/Groups/GAPGroups.jl 92.75% <96.55%> (-1.48%) ⬇️
src/Groups/homomorphisms.jl 91.99% <96.92%> (+0.58%) ⬆️

... and 36 files with indirect coverage changes

@fingolfin fingolfin merged commit 64ec1fb into oscar-system:master Nov 29, 2024
@ThomasBreuer ThomasBreuer deleted the TB_isomorphism_inf_ab branch November 29, 2024 08:41
@fingolfin fingolfin changed the title better isomorphism methods to FinGenAbGroups Improve isomorphism from pc-groups and fp-groups to FinGenAbGroup Feb 27, 2025
@fingolfin fingolfin added enhancement New feature or request release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes labels Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: groups

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimize isomorphism(PcGroup, A) for infinite abelian A

2 participants