This chapter describes the functionality available for calculating with rcwa groups.
> IsRcwaGroup ( G ) | ( filter ) |
The category of all rcwa groups.
> IsRationalBasedRcwaGroup ( G ) | ( filter ) |
The category of all "rational-based" (hence all integral and all semilocal integral) rcwa groups.
> IsIntegralRcwaGroup ( G ) | ( filter ) |
The category of all integral rcwa groups.
> IntegralRcwaGroupsFamily | ( family ) |
The family of all integral rcwa groups.
All integral rcwa groups are supergroups of
> TrivialIntegralRcwaGroup | ( global variable ) |
The trivial integral rcwa group.
> IsSemilocalIntegralRcwaGroup ( G ) | ( filter ) |
The category of all semilocal integral rcwa groups.
> IsModularRcwaGroup ( G ) | ( filter ) |
The category of all modular rcwa groups.
All rcwa groups over the ring R are subgroups of
> RCWA ( R ) | ( function ) |
The group RCWA(R) of all bijective rcwa mappings over the ring R. This group is (at least in general) not finitely generated, hence no generators are stored.
gap> RCWA_Z := RCWA(Integers); RCWA(Z) gap> Size(RCWA_Z); infinity gap> IsFinitelyGeneratedGroup(RCWA_Z); false gap> One(RCWA_Z); IdentityMapping( Integers ) gap> IsSubgroup(RCWA_Z, Group(RcwaMapping([[-1,0,1]]), > RcwaMapping((1,2,3),[1..4]), > RcwaMapping(2,[[0,1],[1,0],[2,3],[3,2]]))); true |
Rcwa groups can be constructed using either Group
, GroupByGenerators
or GroupWithGenerators
, as usual (see reference manual). Note that currently except of the whole groups RCWA( R )
only finitely generated rcwa groups are supported.
gap> g := RcwaMapping([[1,0,1],[1,1,1],[3,6,1], > [1,0,3],[1,1,1],[3,6,1], > [1,0,1],[1,1,1],[3,-21,1]]);; gap> h := RcwaMapping([[1,0,1],[1,1,1],[3,6,1], > [1,0,3],[1,1,1],[3,-21,1], > [1,0,1],[1,1,1],[3,6,1]]);; gap> Order(g); 9 gap> Order(h); 9 gap> G := Group(g,h); <integral rcwa group with 2 generators> gap> Size(G); infinity |
Another possible way to get an rcwa group is by "translating" a permutation group, or by taking the image of an rcwa representation.
> IntegralRcwaGroupByPermGroup ( G ) | ( function ) |
> RcwaGroupByPermGroup ( G ) | ( function ) |
Constructs an integral rcwa group isomorphic to the (finite) permutation group G, which acts on the range [ 1 .. LargestMovedPoint(
G ) ]
as G does.
gap> H := RcwaGroupByPermGroup(Group((1,2),(3,4),(5,6),(7,8), > (1,3)(2,4),(1,3,5,7)(2,4,6,8))); <integral rcwa group with 6 generators> gap> Size(H); 384 gap> IsSolvable(H); true gap> List(DerivedSeries(H),Size); [ 384, 96, 32, 2, 1 ] |
> IsomorphismIntegralRcwaGroup ( G ) | ( attribute ) |
> IsomorphismRcwaGroup ( G ) | ( attribute ) |
A faithful integral rcwa representation of the group G. Currently only supported for finite groups.
gap> G := GL(2,5); GL(2,5) gap> IsomorphismRcwaGroup(G); CompositionMapping( [ (1,2,4,8)(3,6,12,18)(5,10,17,22)(9,15,21,24)(13,14,19,23), (1,3,7)(2,5,11)(4,9,16)(6,13,12)(8,14,20)(10,18,17)(15,22,21)(19,24,23) ] -> [ <integral rcwa mapping with modulus 24>, <integral rcwa mapping with modulus 24> ], <action isomorphism> ) |
> Display ( G ) | ( method ) |
Displays the rcwa group G.
gap> a := RcwaMapping([[3,0,2],[3, 1,4],[3,0,2],[3,-1,4]]);; gap> b := RcwaMapping([[3,0,2],[3,13,4],[3,0,2],[3,-1,4]]);; gap> c := RcwaMapping([[3,0,2],[3, 1,4],[3,0,2],[3,11,4]]);; gap> H := Group(a,b); <integral rcwa group with 2 generators> gap> Display(H); Integral rcwa group, generated by [ Bijective integral rcwa mapping with modulus 4 n mod 4 | n^f ---------------------------------------+-------------------------------------- 0 2 | 3n/2 1 | (3n + 1)/4 3 | (3n - 1)/4 Bijective integral rcwa mapping with modulus 4 n mod 4 | n^f ---------------------------------------+-------------------------------------- 0 2 | 3n/2 1 | (3n + 13)/4 3 | (3n - 1)/4 ] |
> \in ( g, G ) | ( method ) |
Tries to figure out whether g is an element of G or not. In case G is finite, the result is correct provided that the result given by IsomorphismPermGroup
( G ) is. If G is infinite and g is not in G, this method may run into an infinite loop.
gap> u := RcwaMapping([[3,0,5],[9,1,5],[3,-1,5],[9,-2,5],[9,4,5]]);; gap> u in H; false |
> Size ( G ) | ( method ) |
Tries to compute the order of the rcwa group G.
This is a probabilistic method. It may return the size of a proper factor group of G, or run in an infinite loop. You can increase the option value Steps to decrease the probability of getting a wrong result. The default value for Steps is 10.
gap> g1 := RcwaMapping((1,2),[1..2]); <integral rcwa mapping with modulus 2> gap> g2 := RcwaMapping((1,2,3),[1..3]); <integral rcwa mapping with modulus 3> gap> g3 := RcwaMapping((1,2,3,4,5),[1..5]); <integral rcwa mapping with modulus 5> gap> G := Group(g1,g2,g3); <integral rcwa group with 3 generators> gap> Size(G); 265252859812191058636308480000000 |
> IsomorphismPermGroup ( G ) | ( method ) |
Tries to compute an isomorphism from a finite rcwa group G to some permutation group.
This is a probabilistic method, also. It may return a homomorphism to a permutation group isomorphic to a proper factor group of G. You can increase the option value Steps to decrease the probability of getting a wrong result. The default value for Steps is 10.
gap> H := Group(g1,g2); <integral rcwa group with 2 generators> gap> phi := IsomorphismPermGroup(H); [ <bijective integral rcwa mapping with modulus 2, of order 2>, <bijective integral rcwa mapping with modulus 3, of order 3> ] -> [ (1,2)(3,4)(5,6), (1,2,3)(4,5,6) ] |
> NiceMonomorphism ( G ) | ( method ) |
Returns the result of IsomorphismPermGroup
in case the group is supposed to be finite by Size
, and IdentityMapping
( G ) otherwise.
> NiceObject ( G ) | ( method ) |
Returns the image of NiceMonomorphism
( G ).
gap> NiceObject(G); Group([ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21, 22)(23,24)(25,26)(27,28)(29,30), (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14, 15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26, 27,28,29,30) ]) |
> Modulus ( G ) | ( method ) |
Computes the modulus of the rcwa group G.
See also Modulus
(4.3-2) for rcwa mappings, and IsTame
(5.3-10).
gap> Modulus(G); 30 gap> Modulus(Group(a,b)); 0 |
> PrimeSet ( G ) | ( operation ) |
Computes the prime set of the rcwa group G.
See also PrimeSet
(4.11-3) for rcwa mappings.
gap> PrimeSet(G); [ 2, 3, 5 ] gap> PrimeSet(H); [ 2, 3 ] |
> IsFlat ( G ) | ( property ) |
Determines whether or not the rcwa group G is flat.
See also IsFlat
(4.4-3) for rcwa mappings.
gap> IsFlat(AlternatingGroup(IsIntegralRcwaGroup,5)); true gap> IsFlat(Group(a,b)); false gap> IsFlat(Group(g)); false |
> IsClassWiseOrderPreserving ( G ) | ( property ) |
Indicates whether the integral rcwa group G is class-wise order-preserving or not.
See also IsClassWiseOrderPreserving
(4.4-4) for rcwa mappings.
gap> IsClassWiseOrderPreserving(Group(a,b)); true gap> IsClassWiseOrderPreserving(G); true gap> t := RcwaMapping([[-1,0,1]]);; gap> IsClassWiseOrderPreserving(Group(t,g,h)); false |
> IsTame ( G ) | ( property ) |
Determines whether or not the rcwa group G is tame.
See also IsTame
(4.10-2) for rcwa mappings.
gap> IsTame(G); true gap> IsTame(Group(a,b)); false gap> IsTame(Group(Comm(a,b),Comm(a,c))); true |
> ShortOrbits ( G, S, maxlng ) | ( function ) |
Computes all finite orbits of the rcwa group G of maximal length maxlng, which intersect non-trivially with the set S.
gap> A5 := AlternatingGroup(IsIntegralRcwaGroup,5);; gap> ShortOrbits(A5,[-10..10],100); [ [ -14, -13, -12, -11, -10 ], [ -9, -8, -7, -6, -5 ], [ -4, -3, -2, -1, 0 ], [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] gap> Action(A5,last[2]); Group([ (1,2,3,4,5), (3,4,5) ]) gap> ab := Comm(a,b);; ac := Comm(a,c);; gap> G := Group(ab,ac);; gap> orb := ShortOrbits(G,[-20..20],100); [ [ -51, -48, -42, -39, -25, -23, -22, -20, -19, -17 ], [ -18 ], [ -33, -30, -24, -21, -16, -14, -13, -11, -10, -8 ], [ -15, -12, -7, -6, -5, -4, -3, -2, -1, 1 ], [ -9 ], [ 0 ], [ 2, 3, 4, 5, 6, 7, 8, 10, 12, 15 ], [ 9 ], [ 11, 13, 14, 16, 17, 19, 21, 24, 30, 33 ], [ 18 ], [ 20, 22, 23, 25, 26, 28, 39, 42, 48, 51 ] ] gap> Action(G,orb[1]); Group([ (2,6,8,10,4,7), (1,5,7,9,3,6) ]) gap> ShortOrbits(Group(u),[-30..30],100); [ [ -13, -8, -7, -5, -4, -3, -2 ], [ -10, -6 ], [ -1 ], [ 0 ], [ 1, 2 ], [ 3, 5 ], [ 24, 36, 39, 40, 44, 48, 60, 65, 67, 71, 80, 86, 93, 100, 112, 128, 138, 155, 167, 187, 230, 248, 312, 446, 520, 803, 867, 1445 ] ] |
> NrConjugacyClassesOfRCWAZOfOrder ( ord ) | ( function ) |
Computes the number of conjugacy classes of the whole group RCWA(Z) of elements of order ord.
gap> NrConjugacyClassesOfRCWAZOfOrder(2); infinity gap> NrConjugacyClassesOfRCWAZOfOrder(105); 218 |
There are methods for constructing various types of groups as integral rcwa groups. They are just using the ad hoc-translation provided by IntegralRcwaGroupByPermGroup
, for the matrix groups after turning to the image under IsomorphismPermGroup
. So far, the provided methods cover all groups listed in the sections concerning basic groups and classical groups in the chapter describing the group libraries in the reference manual.
gap> C2 := CyclicGroup(IsIntegralRcwaGroup,2); <integral rcwa group with 1 generator> gap> G := ExtraspecialGroup(IsIntegralRcwaGroup,27,3); <integral rcwa group with 3 generators> gap> IsAbelian(G); false gap> Exponent(G); 3 gap> S4 := SymmetricGroup(IsIntegralRcwaGroup,4); <integral rcwa group with 2 generators> gap> Size(S4); 24 gap> G := SylowSubgroup(S4,2); <integral rcwa group with 3 generators, of size 8> gap> IdGroup(G); [ 8, 3 ] gap> A5 := AlternatingGroup(IsIntegralRcwaGroup,5); <integral rcwa group with 2 generators> gap> Size(A5); 60 gap> IsSimple(A5); true gap> G := GL(IsIntegralRcwaGroup,2,3); <integral rcwa group with 2 generators> gap> Size(G); 48 |
generated by GAPDoc2HTML