-
Notifications
You must be signed in to change notification settings - Fork 133
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
add some missing hom
and isomorphism
methods
#4471
base: master
Are you sure you want to change the base?
Conversation
- `hom` from `FinGenAbGroup` to `GAPGroup` - `isomorphism` between `FinGenAbGroup` and `GAPGroup` (both directions)
Can we for the sake of brevity in the documentation just use |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4471 +/- ##
=======================================
Coverage 84.39% 84.39%
=======================================
Files 668 668
Lines 88567 88576 +9
=======================================
+ Hits 74746 74755 +9
Misses 13821 13821
|
Yes. Do we have to support also |
Have to? Perhaps not. Should we? Yes please! |
@@ -159,6 +159,19 @@ function hom(G::GAPGroup, A::FinGenAbGroup, imgs::Vector{FinGenAbGroupElem}; che | |||
return hom(G, A, gens(G), imgs; check) | |||
end | |||
|
|||
# Map `A::FinGenAbGroup` to `G::GAPGroup` by prescribing images. | |||
# Return a composition `A -> B -> G` where `A -> B` is an isomorphism | |||
# to a `GAPGroup`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question:
- how efficient are these composition maps?
- do the maps we produce here already support things like
is_injective
,is_surjective
,kernel
? - What about images and preimages of subgroups?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These composition maps do not support the abovementioned functions.
(One might have guessed this from the tests, which deliberately avoid to call these functions.)
I think the solution is to add generic methods for composition maps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please open an issue or two to track the state of this? We definitely want to support these (and more) on the long run.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some time ago I had the idea to have a type for morphisms to groups of type FinGenAbGrp
. The reason being that things like is_surjective
, kernel
etc can be determined generically for this.
@fingolfin Concerning I will add the missing |
hom
fromFinGenAbGroup
toGAPGroup
isomorphism
betweenFinGenAbGroup
andGAPGroup
(both directions)resolves #4460