The aim of this package is to standardize common assumptions on and functions for groups and monoids, i.e. to create Group/Monoid interface. Packages using it include:
The Oscar.jl
project no longer
supports GroupsCore.jl
interface at version 0.5
.
For an implemented interface please have a look at /test
folder, where several
example implementations are tested against the conformance test suite:
To test the conformance of a group implementation one can run
using GroupsCore
include(joinpath(pathof(GroupsCore), "..", "..", "test", "conformance_test.jl"))
include("my_fancy_group.jl") # the implementation of MyFancyGroup
let G = MyFancyGroup(...)
test_GroupsCore_interface(G)
# optionally if particular two group elements are to be tested:
# g,h = rand(G, 2)
# test_GroupsCore_interface(g, h)
nothing
end