AbstractAlgebra.jl icon indicating copy to clipboard operation
AbstractAlgebra.jl copied to clipboard

Group interface missing.

Open wbhart opened this issue 7 years ago • 12 comments

We should add a Group interface to the docs. Actually, we should add a general AbstractAlgebra object interface, since it seems like some things have to exist for every AbstractAlgebra object, regardless of what they are, e.g. parent or deepcopy, etc.

We could then factor out some stuff that would be in both the Group and Ring interface.

wbhart avatar Feb 17 '18 00:02 wbhart

Perhaps @kalmarek could look into adding a Group interface to the docs, modeled after the Ring interface.

The factoring out of the common part can be done later on, if we decide we want it.

wbhart avatar Feb 17 '18 00:02 wbhart

Fixed in trunk.

wbhart avatar Feb 11 '19 15:02 wbhart

where is the group interface actually described?

kalmarek avatar Feb 11 '19 15:02 kalmarek

I'll reopen if you like.

wbhart avatar Feb 11 '19 16:02 wbhart

I was just curious if something was done what slipped my attention

kalmarek avatar Feb 11 '19 16:02 kalmarek

No, nothing. I just looked and saw there was a section "Groups" in the docs. I didn't check carefully enough.

By the way, would you be terribly offended if we based the Groups section of Oscar.jl on Gap instead of your Julia code in AbstractAlgebra? (The latter can continue to exist and will be independently useful, in my opinion, it just wouldn't be the default code for groups in Oscar.jl.) Basically Oscar.jl has to make a canonical choice between all the different systems for each type of object, and then implement conversions to all the others.

wbhart avatar Feb 11 '19 16:02 wbhart

No, not at all ;-)

kalmarek avatar Feb 11 '19 16:02 kalmarek

I think we are not going to spend much time implementing Groups in AbstractAlgebra, or defining a full interface. Of course this may be revisited at some point.

But for now I will mark this as something the Julia community might like to take over, if it is useful to them.

wbhart avatar May 21 '21 01:05 wbhart

Such interface is already defined in GroupsCore.jl package.

If AbstractAlgebra won't implement anything more on the groups side it would make more sense for GroupsCore to define Group abstract type, since then could be extended by "julia_community" (e.g. become a subtype of Monoid etc).

Of course only if Oscar.jl intends to implement GroupsCore interface for its groups @fingolfin?

kalmarek avatar May 21 '21 15:05 kalmarek

Ok with me. We only use permutations I believe. I don't see any way around continuing to do so. But yeah, there is no need for us to define Group if that is more convenient.

wbhart avatar May 21 '21 15:05 wbhart

Hecke uses Group for the abelian groups. Alternatively the group Interface stuff just goes here without further discussions.

thofma avatar May 21 '21 15:05 thofma

Ok, I'll mark this as decision instead of julia_community. I don't have an opinion and will wait for you guys to decide what you want. I am not a computational group theorist. :-)

wbhart avatar May 21 '21 15:05 wbhart