In the operations record of a CrystGroup many of the usual GAP
functions are replaced with a CrystGroup specific implementation. For
other functions the default implementation can be used. Since
CrystGroups are matrix groups, all functions which work for a finite
matrix group should work also for a finite CrystGroup (i.e., one which
contains no pure translations). Of course, functions which require a
finite group as input will work only for finite CrystGroups.
Following is a (probably not exhaustive) list of functions that are known
to work for also for infinite CrystGroups.
in
Parent, IsParent, Group, IsGroup
Subgroup, IsSubgroup, AsSubgroup, Index
Centralizer, Centre, Normalizer
Closure, NormalClosure
Intersection, NormalIntersection
ConjugacyClassSubgroups, ConjugateSubgroups
DerivedSubgroup, CommutatorSubgroup, Core
DerivedSeries, SubnormalSeries
FactorGroup, CommutatorFactorGroup
ConjugateSubgroup, TrivialSubgroup
IsAbelian, IsCentral, IsTrivial
IsNormal, IsSubnormal, IsPerfect, IsSolvable
The following functions work for CrystGroups provided the subgroup
H has finite index in G. The elements of the resulting domain are
given in ascending order (with respect to an ad hoc, but fixed ordering).
Cosets( G, H )
RightCosets( G, H )
LeftCosets( G, H )
The following functions dealing with group operations work for
CrystGroups provided the orbits of the action are finite. Since
CrystGroups are not finite in general, this is a non-trivial
requirement, and so some care is needed.
Orbit( G, d, opr )
Orbits( G, D, opr )
OrbitLengths( G, D, opr )
Stabilizer( G, d, opr )
RepresentativeOperation( G, d, e, opr )
RepresentativesOperation( G, d, opr )
The following functions have a CrystGroup specific implementation, but
work for finite CrystGroups only:
Elements( G )
ConjugacyClasses( G )
PermGroup( G )
SylowSubgroup( G, p )
GAP 3.4.4