Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix too restrictive method installations #4149

Merged
merged 4 commits into from
Sep 26, 2024

Conversation

ThomasBreuer
Copy link
Member

In many situations,
we cannot expect that compatible groups have the same type.

resolves #4144

In many situations,
we cannot expect that compatible groups have the same type.
Copy link

codecov bot commented Sep 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.69%. Comparing base (d91db2a) to head (c8451b9).
Report is 5 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4149      +/-   ##
==========================================
+ Coverage   84.65%   84.69%   +0.04%     
==========================================
  Files         626      627       +1     
  Lines       84316    84300      -16     
==========================================
+ Hits        71380    71401      +21     
+ Misses      12936    12899      -37     
Files with missing lines Coverage Δ
src/Groups/homomorphisms.jl 91.15% <100.00%> (+0.38%) ⬆️
src/Groups/libraries/smallgroups.jl 100.00% <100.00%> (ø)
src/Groups/sub.jl 95.78% <100.00%> (-0.03%) ⬇️

... and 16 files with indirect coverage changes

- adjust reference in .md file
- change more types in signatures
- extend tests
- fix `small_group` with given type: apply it to an Oscar group not a GAP group
- fix `sub`: the type check was wrong, and the compatibility is checked anyhow
Copy link
Member

@lgoettgens lgoettgens 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, just some minor comments

@@ -1298,7 +1297,7 @@ end
Base.:^(x::GAPGroupElem{T},f::GAPGroupElem{AutomorphismGroup{T}}) where T <: GAPGroup = apply_automorphism(f, x, true)
#Base.:^(f::GAPGroupElem{AutomorphismGroup{T}},g::GAPGroupElem{AutomorphismGroup{T}}) where T <: GAPGroup = g^-1*f*g

function (A::AutomorphismGroup{T})(f::GAPGroupHomomorphism{T,T}) where T <: GAPGroup
function (A::AutomorphismGroup{S})(f::GAPGroupHomomorphism{T,T}) where S <: GAPGroup where T <: GAPGroup
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
function (A::AutomorphismGroup{S})(f::GAPGroupHomomorphism{T,T}) where S <: GAPGroup where T <: GAPGroup
function (A::AutomorphismGroup{S})(f::GAPGroupHomomorphism{T,T}) where {S <: GAPGroup, T <: GAPGroup}

a double where is almost never necessary.
Alternatively, you could even do

Suggested change
function (A::AutomorphismGroup{S})(f::GAPGroupHomomorphism{T,T}) where S <: GAPGroup where T <: GAPGroup
function (A::AutomorphismGroup{<: GAPGroup})(f::GAPGroupHomomorphism{T,T}) where T <: GAPGroup

Copy link
Member Author

Choose a reason for hiding this comment

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

o.k.
Concerning the multiple where, there are lots in many code files, this is perhaps something for a pull request of its own.

src/Groups/libraries/smallgroups.jl Show resolved Hide resolved
src/Groups/sub.jl Outdated Show resolved Hide resolved
@fingolfin fingolfin enabled auto-merge (squash) September 26, 2024 13:50
@fingolfin fingolfin merged commit 5371a13 into oscar-system:master Sep 26, 2024
28 checks passed
@ThomasBreuer ThomasBreuer deleted the TB_induced_automorphism branch September 26, 2024 14:40
HechtiDerLachs pushed a commit to HechtiDerLachs/Oscar.jl that referenced this pull request Sep 30, 2024
In many situations, we cannot expect that compatible groups have the same type.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

induced_automorphism does not work for (Sub)PcGroups
3 participants