Goto Chapter: Top 1 2 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Functions
 2.1 Group functions
 2.2 Nearring functions

2 Functions

2.1 Group functions

2.1-1 IsMinimalNonAbelianGroup
‣ IsMinimalNonAbelianGroup( G )( property )

Returns: a boolean

The argument is a group G. The output is true if G is a minimal non-abelian group, otherwise the output is false.

Recall that each finite non-abelian group whose proper subgroups are abelian is called a Miller-Moreno group or in other terminology a minimal non-abelian group.

gap> H:=SmallGroup(120,4);       
<pc group of size 120 with 5 generators>
gap> IsMinimalNonAbelianGroup(H);
false
gap> K:=SmallGroup(16,6);
<pc group of size 16 with 4 generators>
gap> IsMinimalNonAbelianGroup(K);
true
gap> IsMinimalNonAbelianGroup(SmallGroup(16,8));
false

2.1-2 IsMetacyclicPGroup
‣ IsMetacyclicPGroup( G )( property )

Returns: a boolean

The argument is a group G. The output is true if G is a metacyclic p-group, otherwise the output is false.

gap> IsMetacyclicPGroup(K);
true
gap> IsMetacyclicPGroup(SmallGroup(81,4));
true
gap> IsMetacyclicPGroup(SmallGroup(81,15));
false

2.1-3 EndoOrbitsOfGroup
‣ EndoOrbitsOfGroup( G )( operation )

Returns: EndoOrbitsOfGroup

The argument is a group G. The output is

gap> D:=SmallGroup(81,2); 
<pc group of size 81 with 4 generators>
gap> T:=EndoOrbitsOfGroup(D);;
gap> Length(T);
1
gap> Size(T[1][2]);
81

2.1-4 IsEndoCyclicGroup
‣ IsEndoCyclicGroup( G )( property )

Returns: a boolean

The argument is a group G. The output is true if G is a endocyclic group, otherwise the output is false.

Let G be a group and End G be the set of all its endomorphisms, which can be considered as a semigroup with respect to the composition operation of endomorphisms. For each g\in G we denote by g^{End G} the set \{g^\alpha| \alpha\in End G\} of all images of the element g with respect to endomorphisms of End G. A group G is called endocyclic if it contains an element g with G=g^{End G}.

gap> IsEndoCyclicGroup(D);
true

2.2 Nearring functions

2.2-1 UnitsOfNearRing
‣ UnitsOfNearRing( R )( attribute )

Returns: a set

The argument is a nearring R. The output is true if R is a nearring with identity, otherwise the output is Error, no units exist.

gap> N:=LocalNearRing(32,5,16,3,8);
ExplicitMultiplicationNearRing ( <pc group of size 32 with 
5 generators> , multiplication )
gap> U:=UnitsOfNearRing(N);
[ (f1), (f1*f5), (f1*f4), (f1*f4*f5), (f1*f3), (f1*f3*f5), (f1*f3*f4),  
 (f1*f3*f4*f5), (f1*f2), (f1*f2*f5), (f1*f2*f4), (f1*f2*f4*f5), (f1*f2*f3), 
 (f1*f2*f3*f5), (f1*f2*f3*f4), (f1*f2*f3*f4*f5) ]
gap> Un:=NearRingUnits(N);;
U=Un;
true

2.2-2 IsLocalNearRing
‣ IsLocalNearRing( R )( property )

Returns: a boolean

The argument is a nearring R. The output is true if R is a local nearring, otherwise the output is false.

gap> H:=SmallGroup(16,6);
<pc group of size 16 with 4 generators>
gap> A:= AutomorphismNearRing(H);
AutomorphismNearRing( <pc group of size 16 with 4 generators> )
gap>  Size(A);
64
gap> IsLocalNearRing(A);
true
gap> K:=LibraryNearRingWithOne(SmallGroup(8,2),1);  
#I  using isomorphic copy of the group
LibraryNearRing(8/2, 814)
gap> IsLocalNearRing(K);
false

2.2-3 IsLocalRing
‣ IsLocalRing( R )( property )

Returns: a boolean

The argument is a local nearring R. The output is true if R is a local ring, otherwise the output is false.

gap> L:=AllLocalNearRings(16,14,8,4);;
gap> Size(L);
24
gap> F:=Filtered(L,x->IsLocalRing(x));;
gap> Size(F);
1

2.2-4 NearRingNonUnits
‣ NearRingNonUnits( R )( attribute )

Returns: a set

The argument is a nearring R. The output is the set of non-invertible elements of R.

gap> T:=LocalNearRing(49,2,42,1,1); 
ExplicitMultiplicationNearRing ( <pc group of size 49 with 
2 generators> , multiplication )
gap> Nu:=NearRingNonUnits(T);
[ (<identity> of ...), (f2), (f2^2), (f2^3), (f2^4), (f2^5), (f2^6) ]
gap> Size(Nu);
7
gap> R:=LibraryNearRing(SmallGroup(8,4),3);
#I  using isomorphic copy of the group
LibraryNearRing(8/5, 3)
gap> N:=NearRingNonUnits(R); 
[ (()), ((1,2,3,4)(5,6,7,8)), ((1,3)(2,4)(5,7)(6,8)), ((1,4,3,2)(5,8,7,6)), 
  ((1,5,3,7)(2,8,4,6)), ((1,6,3,8)(2,5,4,7)), ((1,7,3,5)(2,6,4,8)), 
  ((1,8,3,6)(2,7,4,5)) ]

2.2-5 SubNearRingByGenerators
‣ SubNearRingByGenerators( R, gens )( operation )

Returns: a subnearring

The arguments are a nearring R and generators gens of R. The output is the subnearring generated by gens.

gap> B:=LocalNearRing(25,2,20,3,1); 
ExplicitMultiplicationNearRing ( <pc group of size 25 with 2 generators> , multiplication )
gap> D:=DistributiveElements(B);;
gap> Size(D);
5
gap> Rs:=SubNearRingByGenerators(B,D);;
gap> Size(Rs);
5
gap> IsDgNearRing(B);
false
gap> IsDgNearRing(Rs);
true

2.2-6 NonUnitsAsAdditiveSubgroup
‣ NonUnitsAsAdditiveSubgroup( R )( attribute )

Returns: a subgroup

The argument is a local nearring R. The output is the additive subgroup of non-units of R.

gap> T:=LocalNearRing(125,4,100,9,1); 
ExplicitMultiplicationNearRing ( <pc group of size 125 with 
3 generators> , multiplication )
gap> L:=NonUnitsAsAdditiveSubgroup(T);
Group([ <identity> of ..., f2, f3, f2^2, f2*f3, f3^2, f2^3, f2^2*f3, f2*f3^2, f3^3, f2^4, 
  f2^3*f3, f2^2*f3^2, f2*f3^3, f3^4, f2^4*f3, f2^3*f3^2, f2^2*f3^3, f2*f3^4, f2^4*f3^2, 
  f2^3*f3^3, f2^2*f3^4, f2^4*f3^3, f2^3*f3^4, f2^4*f3^4 ])
gap> IdGroup(L);
[ 25, 2 ]

2.2-7 NonUnitsAsNearRingIdeal
‣ NonUnitsAsNearRingIdeal( R )( attribute )

Returns: an ideal

The argument is a local nearring R. The output is the ideal generated by all non-invertible elements of R.

gap> I:=NonUnitsAsNearRingIdeal(T);
< nearring ideal >
gap> Size(I);
25

2.2-8 MultiplicativeSemigroupOfNearRing
‣ MultiplicativeSemigroupOfNearRing( R )( attribute )

Returns: a semigroup

The argument is a nearring R. The output is the multiplicative semigroup of R.

gap> B:=LocalNearRing(16,10,8,2,7);;
gap> M:=MultiplicativeSemigroupOfNearRing(B);
Semigroup with identity (f1)
<semigroup of size 16, with 7 generators>
gap> Size(M);
16

2.2-9 NonUnitsAsMultiplicativeSemigroup
‣ NonUnitsAsMultiplicativeSemigroup( R )( attribute )

Returns: a semigroup

The argument is a nearring R. The output is the multiplicative semigroup of non-units of R.

gap> Nm:=NonUnitsAsMultiplicativeSemigroup(B);
<semigroup with 8 generators>
gap> Size(Nm);
8

2.2-10 IsOneGeneratedNearRing
‣ IsOneGeneratedNearRing( R )( property )

Returns: a boolean

The argument is a nearring R. The output is true if R is a nearring generated by one element, otherwise the output is false.

gap> D:=LocalNearRing(49,2,42,4,1);
ExplicitMultiplicationNearRing ( <pc group of size 49 with 2 generators> , multiplication )
gap> IsOneGeneratedNearRing(D);
true
gap> H:=LocalNearRing(16,14,8,2,3);   
ExplicitMultiplicationNearRing ( <pc group of size 16 with 
4 generators> , multiplication )
gap> IsOneGeneratedNearRing(H);    
false

2.2-11 AutomorphismsAssociatedWithNearRingUnits
‣ AutomorphismsAssociatedWithNearRingUnits( R, Un )( operation )

Returns: automorphisms

The arguments are a nearring R with identity and a set of units Un of R. The output are the automorphisms associated with nearring units.

A subgroup A of the automorphism group Aut R^+ of the additive group of the nearring R with identity isomorphic to the multiplicative group R^* and satisfies the condition

i^A=\{i^a\mid a\in A\}=R^*

is called the subgroup of Aut R^+ associated with the group R^*.

gap> S:=UnitsOfNearRing(D);
[ (f1), (f1*f2), (f1*f2^2), (f1*f2^3), (f1*f2^4), (f1*f2^5), (f1*f2^6), (f1^2), (f1^2*f2), 
  (f1^2*f2^2), (f1^2*f2^3), (f1^2*f2^4), (f1^2*f2^5), (f1^2*f2^6), (f1^3), (f1^3*f2), 
  (f1^3*f2^2), (f1^3*f2^3), (f1^3*f2^4), (f1^3*f2^5), (f1^3*f2^6), (f1^4), (f1^4*f2), 
  (f1^4*f2^2), (f1^4*f2^3), (f1^4*f2^4), (f1^4*f2^5), (f1^4*f2^6), (f1^5), (f1^5*f2), 
  (f1^5*f2^2), (f1^5*f2^3), (f1^5*f2^4), (f1^5*f2^5), (f1^5*f2^6), (f1^6), (f1^6*f2), 
  (f1^6*f2^2), (f1^6*f2^3), (f1^6*f2^4), (f1^6*f2^5), (f1^6*f2^6) ]
gap> A:=AutomorphismsAssociatedWithNearRingUnits(D,S);;
gap> Size(A);
42

2.2-12 EndomorphismsAssociatedWithNearRingElements
‣ EndomorphismsAssociatedWithNearRingElements( R, Elm )( operation )

Returns: endomorphisms

The arguments are a nearring R and a set Elm of nearring elements. The output is the endomorphisms associated with nearring elements.

gap> Nu:=NearRingNonUnits(D);
[ (<identity> of ...), (f2), (f2^2), (f2^3), (f2^4), (f2^5), (f2^6) ]
gap> En:=EndomorphismsAssociatedWithNearRingElements(D,Nu);;
gap> Size(En);
7

2.2-13 SemidirectProductAssociatedWithNearRing
‣ SemidirectProductAssociatedWithNearRing( R )( operation )

Returns: a semidirect product

The argument is a nearring R with identity. The output is the semidirect product associated with nearring R.

gap> T:=LocalNearRing(25,2,20,2,1);             
ExplicitMultiplicationNearRing ( <pc group of size 25 with 2 generators> , multiplication )
gap> SemidirectProductAssociatedWithNearRing(T);
<pc group with 5 generators>
gap> Size(last);
500

2.2-14 IsCircleSubgroupOfNearRing
‣ IsCircleSubgroupOfNearRing( R, H )( operation )

Returns: a boolean

The arguments are a nearring R with identity and a subgroup H of additive group of R. The output is true if H is a constructive subgroup of nearring R, otherwise the output is false.

gap> Sg:=Subgroups(GroupReduct(T));;
gap> Size(Sg);
8
gap> F:=Filtered(Sg,x->IsCircleSubgroupOfNearRing(T,x));
[ Group([  ]), Group([ f2 ]) ]

2.2-15 FactorizedGroupAssociatedWithCircleSubgroupOfNearRing
‣ FactorizedGroupAssociatedWithCircleSubgroupOfNearRing( R, H )( operation )

Returns: a group

The arguments are a nearring R with identity and a constructive subgroup H of R. The output is the group

gap> FG:=FactorizedGroupAssociatedWithCircleSubgroupOfNearRing(T,F[2]);
<pc group with 2 generators>
gap> IdGroup(FG);
[ 25, 2 ]

2.2-16 ConstantPartOfNearRing
‣ ConstantPartOfNearRing( R )( attribute )

Returns: a constant part

The argument is a nearring R. The output is the constant part of nearring R.

gap> H:=LocalNearRing(361,2,342,7,7);
ExplicitMultiplicationNearRing ( <pc group of size 361 with 
2 generators> , multiplication )
gap> C:=ConstantPartOfNearRing(H);;
gap> Size(C);
19

2.2-17 ZeroSymmetricPartOfNearRing
‣ ZeroSymmetricPartOfNearRing( R )( attribute )

Returns: a zero-symmetric part

The argument is a nearring R. The output is the zero-symmetric part of nearring R.

gap> ZeroSymmetricPartOfNearRing(H);;
gap> Size(last);
19

2.2-18 GroupOfUnitsAsGroupOfAutomorphisms
‣ GroupOfUnitsAsGroupOfAutomorphisms( R )( attribute )

Returns: a group of units

The argument is a nearring R. The output is the group of units as group of automorphisms R.

gap> M:=LocalNearRing(27,4,18,3,2);  
ExplicitMultiplicationNearRing ( <pc group of size 27 with 3 generators> , multiplication )
gap> GroupOfUnitsAsGroupOfAutomorphisms(M);
<group of size 18 with 2 generators>
gap> Size(last);
18                

2.2-19 IsDistributiveElementOfNearRing
‣ IsDistributiveElementOfNearRing( R, r )( operation )

Returns: a boolean

The argument is a nearring R and an element r. The output is true if r is a distributive element of nearring R, otherwise the output is false.

gap> D:=LocalNearRing(49,2,42,6,1); 
ExplicitMultiplicationNearRing ( <pc group of size 49 with 
2 generators> , multiplication )
gap> h:=List(D);;
gap> d:=h[3];
(f2^2)
gap> IsDistributiveElementOfNearRing(D,d);
true

2.2-20 IsSemiDistributiveNearRing
‣ IsSemiDistributiveNearRing( R )( property )

Returns: a boolean

The argument is a nearring R. The output is true if R is a semidistributive nearring, otherwise the output is false.

gap> N:=LocalNearRing(16,10,8,2,7); 
ExplicitMultiplicationNearRing ( <pc group of size 16 with 4 generators> , multiplication )
gap> IsSemiDistributiveNearRing(N);
true

2.2-21 IsNearRingWithIdentity
‣ IsNearRingWithIdentity( R )( property )

Returns: a boolean

The argument is a nearring R. The output is true if R is a nearring with identity, otherwise the output is false.

gap> N:=LocalNearRing(343,5,294,8,2);    
ExplicitMultiplicationNearRing ( <pc group of size 343 with 
3 generators> , multiplication )
gap> IsNearRingWithOne(N);
false
gap> Identity(N);
(f1)
gap> IsNearRingWithIdentity(N);
true

2.2-22 IsSubNearRing
‣ IsSubNearRing( R, H )( operation )

Returns: a boolean

The arguments are a nearring R with identity and a subgroup H of the additive group of R. The output is true if H is the additive group of a subnearring of R, otherwise the output is false.

gap> T:=LocalNearRing(49,2,42,1,2);        
ExplicitMultiplicationNearRing ( <pc group of size 49 with 
2 generators> , multiplication )
gap> G:=GroupReduct(T);                    
<pc group of size 49 with 2 generators>
gap> S:=Subgroups(G);;
gap> Size(S);
10
gap> IsSubNearRing(T,S[3]);
true
gap> IsSubNearRing(T,S[9]); 
false
gap> D:=SmallGroup(7,1);
<pc group of size 7 with 1 generators>
gap> IsSubNearRing(T,D);   
false
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 Ind

generated by GAPDoc2HTML