Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 25 additions & 20 deletions lib/lib_local.gd
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@
###################################

#! @Description
#! The argument is $n$.
#! The output a list of <C>IdGroup</C> of the additive groups
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was just wrong

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fingolfin but the output is a list of group IDs, not of groups themselves

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe

#! The output is a list of group IDs of additive groups of local nearrings in the
#! library of this package of order $n$.

?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the output is a list of groups, as the new text says, not a list of group ids. Look at the example a bit below, which takes the output of this function, then applies IdGroup to it, to obtain a list of ids.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fingolfin oops, you're certainly right :)

#! of local nearrings from <C>Library</C> of order $n$.
#! The argument is $n$.
#! The output is a list of additive groups of local nearrings in the
#! library of this package of order $n$.
#! @Returns a list
#! @Arguments n
#! @Label
Expand All @@ -96,9 +96,9 @@ DeclareGlobalFunction( "AdditiveGroupsOfLibraryOfLNRsOfOrder");
###################################

#! @Description
#! The argument is a group $G$.
#! The output a list of the catalogues of local nearrings
#! from <C>Library</C> on $G$.
#! The argument is a group $G$.
#! The output is a list of catalogue entries for the local nearrings in
#! the library of this package whose additive group is isomorphic to $G$.
#! @Returns a list
#! @Arguments G
#! @Label
Expand All @@ -122,9 +122,10 @@ DeclareGlobalFunction( "LibraryOfLNRsOnGroup");

#! @Description
#! The arguments are $k$, $l$, $m$, $n$, $w$.
#! The output is local nearring from <C>Library</C> without
#! check. The arguments $k$, $l$, $m$, $n$ are from IdGroup of the additive group and the multiplicative group,
#! respectively, $w$ is the position in the list.
#! The output is the $w$-th local nearring from the library of this
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A minor nitpick, I'd not usually use w for an integer index :) What about i or j ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That kind of change is out of scope for this PR. The package authors called this w, and I'd rather not mess with it here, that can be done in a follow-up PR

#! package whose additive group has <C>IdGroup</C> value <C>[k,l]</C>
#! and whose multiplicative group has <C>IdGroup</C> value <C>[m,n]</C>.
#! No validation of the arguments is performed.
#! @Returns a nearring
#! @Arguments k,l,m,n,w
#! @Label
Expand All @@ -140,8 +141,10 @@ DeclareOperation( "LocalNearRing", [ IsInt, IsInt, IsInt, IsInt, IsInt ]);

#! @Description
#! The arguments are $k$, $l$, $m$, $n$.
#! The output are all local nearrings from <C>Library</C> without
#! check. The arguments $k$, $l$, $m$, $n$ are as above.
#! The output is the list of all local nearrings from the library of this
#! package whose additive group has <C>IdGroup</C> value <C>[k,l]</C>
#! and whose multiplicative group has <C>IdGroup</C> value <C>[m,n]</C>.
#! No validation of the arguments is performed.
#! @Returns a list
#! @Arguments k,l,m,n
#! @Label
Expand All @@ -157,8 +160,10 @@ DeclareOperation( "AllLocalNearRings", [ IsInt, IsInt, IsInt, IsInt ]);

#! @Description
#! The arguments are $k$, $l$, $m$, $n$.
#! The output are number of all local nearrings from <C>Library</C> without
#! check. The arguments $k$, $l$, $m$, $n$ are as above.
#! The output is the number of local nearrings in the library of this
#! package whose additive group has <C>IdGroup</C> value <C>[k,l]</C>
#! and whose multiplicative group has <C>IdGroup</C> value <C>[m,n]</C>.
#! No validation of the arguments is performed.
#! @Returns a number
#! @Arguments k,l,m,n
#! @Label
Expand All @@ -174,10 +179,10 @@ DeclareSynonym("NrLocalNearRings", NumberLocalNearRings);
###################################

#! @Description
#! The argument is a group $G$.
#! The output is <C>true</C> if in <C>Library</C> there exists a local nearring
#! whose additive group is isomorphic to $G$
#! otherwise the output is <C>false</C>.
#! The argument is a group $G$.
#! The output is <C>true</C> if the library of this package contains a
#! local nearring whose additive group is isomorphic to $G$, and
#! <C>false</C> otherwise.
#! @Returns a boolean
#! @Arguments G
#! @Label
Expand All @@ -195,9 +200,9 @@ DeclareGlobalFunction( "IsAdditiveGroupOfLibraryOfLNRs");
###################################

#! @Description
#! The argument is a group $G$.
#! The output some information about local nearrings
#! from <C>Library</C> on $G$.
#! The argument is a group $G$.
#! The output is summary information about the local nearrings in the
#! library of this package whose additive group is isomorphic to $G$.
#! @Returns information
#! @Arguments G
#! @Label
Expand Down
53 changes: 29 additions & 24 deletions lib/local.gd
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
#! @Label
DeclareProperty( "IsMinimalNonAbelianGroup", IsGroup );

#! Recall that each finite non-abelian group whose proper subgroups are
#! abelian is called a <Emph>Miller-Moreno group</Emph> or in other terminology
#! Recall that each finite non-abelian group whose proper subgroups are
#! abelian is called a <Emph>Miller-Moreno group</Emph> or, in other terminology,
#! a <Emph>minimal non-abelian group</Emph>.

#! @BeginExample
Expand Down Expand Up @@ -73,7 +73,9 @@ DeclareProperty( "IsMetacyclicPGroup", IsPGroup );

#! @Description
#! The argument is a group $G$.
#! The output is
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was incomplete as pointed out in issue #39

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look good - even if this function may disappear later.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@raemarina @IrynaRaievska I know that you intended to eliminate this function, but with Max's fix the documentation is complete. You can keep it, and then optimise the other function (IsEndoCyclicGroup) later to avoid redundant checks.

#! The output is a list of pairs <C>[x,H]</C>, where <C>x</C> is a
#! representative of an endo-orbit of $G$ and <C>H</C> is the set of all
#! images of <C>x</C> under endomorphisms of $G$.
#! @Returns EndoOrbitsOfGroup
#! @Arguments G
#! @Label
Expand All @@ -93,19 +95,19 @@ DeclareOperation( "EndoOrbitsOfGroup", [ IsGroup ] );

#! @Description
#! The argument is a group $G$.
#! The output is <C>true</C> if $G$ is a endocyclic group,
#! The output is <C>true</C> if $G$ is an endocyclic group,
#! otherwise the output is <C>false</C>.
#! @Returns a boolean
#! @Arguments G
#! @Label
DeclareProperty( "IsEndoCyclicGroup", IsGroup );

#!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\}$
#! 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 composition.
#! 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 <Emph>endocyclic</Emph> if it contains an element $g$ with $G=g^{End G}$.
#! A group $G$ is called <Emph>endocyclic</Emph> if it contains an element $g$ with $G=g^{End G}$.

#! @BeginExample
#! gap> IsEndoCyclicGroup(D);
Expand Down Expand Up @@ -347,16 +349,17 @@ DeclareProperty( "IsOneGeneratedNearRing", IsNearRing );

#! @Description
#! 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.
#! @Returns automorphisms
#! The output is the list of automorphisms of the additive group of $R$
#! associated with the units in $Un$.
#! @Returns a list of automorphisms
#! @Arguments R,Un
#! @Label
DeclareOperation( "AutomorphismsAssociatedWithNearRingUnits", [ IsNearRing, IsNearRingElementCollection ] );

#! 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^*$.
#! the nearring $R$ with identity isomorphic to the multiplicative group $R^*$
#! and satisfying the condition $$i^A=\{i^a\mid a\in A\}=R^*$$ is called
#! the subgroup of $Aut R^+$ associated with $R^*$.


#! @BeginExample
Expand All @@ -377,7 +380,7 @@ DeclareOperation( "AutomorphismsAssociatedWithNearRingUnits", [ IsNearRing, IsNe
#! @Description
#! The arguments are a nearring $R$ and a set $Elm$ of nearring elements.
#! The output is the endomorphisms associated with nearring elements.
#! @Returns endomorphisms
#! @Returns a list of endomorphisms
#! @Arguments R, Elm
#! @Label
DeclareOperation( "EndomorphismsAssociatedWithNearRingElements", [ IsNearRing, IsNearRingElementCollection ] );
Expand All @@ -394,7 +397,7 @@ DeclareOperation( "EndomorphismsAssociatedWithNearRingElements", [ IsNearRing, I

#! @Description
#! The argument is a nearring $R$ with identity.
#! The output is the semidirect product associated with nearring $R$.
#! The output is the semidirect product associated with the nearring $R$.
#! @Returns a semidirect product
#! @Arguments R
#! @Label
Expand All @@ -413,8 +416,8 @@ DeclareOperation( "SemidirectProductAssociatedWithNearRing", [ IsNearRing ]);

#! @Description
#! The arguments are a nearring $R$ with identity and
#! a subgroup $H$ of additive group of $R$.
#! The output is <C>true</C> if $H$ is a constructive subgroup of nearring $R$,
#! a subgroup $H$ of the additive group of $R$.
#! The output is <C>true</C> if $H$ is a circle subgroup of the nearring $R$,
#! otherwise the output is <C>false</C>.
#! @Returns a boolean
#! @Arguments R,H
Expand All @@ -433,8 +436,9 @@ DeclareOperation( "IsCircleSubgroupOfNearRing", [IsNearRing, IsGroup ]);

#! @Description
#! The arguments are a nearring $R$ with identity and
#! a constructive subgroup $H$ of $R$.
#! The output is the group
#! a circle subgroup $H$ of $R$.
#! The output is the semidirect product associated with $H$ and the
#! automorphisms determined by the corresponding units.
#! @Returns a group
#! @Arguments R,H
#! @Label
Expand All @@ -451,7 +455,7 @@ DeclareOperation( "FactorizedGroupAssociatedWithCircleSubgroupOfNearRing", [ IsN

#! @Description
#! The argument is a nearring $R$.
#! The output is the constant part of nearring $R$.
#! The output is the constant part of the nearring $R$.
#! @Returns a constant part
#! @Arguments R
#! @Label
Expand All @@ -470,7 +474,7 @@ DeclareAttribute("ConstantPartOfNearRing", IsNearRing );

#! @Description
#! The argument is a nearring $R$.
#! The output is the zero-symmetric part of nearring $R$.
#! The output is the zero-symmetric part of the nearring $R$.
#! @Returns a zero-symmetric part
#! @Arguments R
#! @Label
Expand All @@ -486,8 +490,9 @@ DeclareAttribute("ZeroSymmetricPartOfNearRing", IsNearRing );

#! @Description
#! The argument is a nearring $R$.
#! The output is the group of units as group of automorphisms $R$.
#! @Returns a group of units
#! The output is a group of automorphisms of the additive group of $R$
#! that is isomorphic to the group of units of $R$.
#! @Returns a group
#! @Arguments R
#! @Label
DeclareAttribute("GroupOfUnitsAsGroupOfAutomorphisms", IsNearRing );
Expand All @@ -505,7 +510,7 @@ DeclareAttribute("GroupOfUnitsAsGroupOfAutomorphisms", IsNearRing );
###################################
#! @Description
#! The argument is a nearring $R$ and an element $r$.
#! The output is <C>true</C> if $r$ is a distributive element of nearring $R$,
#! The output is <C>true</C> if $r$ is a distributive element of the nearring $R$,
#! otherwise the output is <C>false</C>.
#! @Returns a boolean
#! @Arguments R, r
Expand Down
14 changes: 7 additions & 7 deletions tst/localnr01.tst
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
#
gap> START_TEST("localnr01.tst");

# doc/_Chapter_Local_nearrings.xml:76-80
# doc/_Chapter_Local_nearrings.xml:77-81
gap> List(AdditiveGroupsOfLibraryOfLNRsOfOrder(81),IdGroup);
[ [ 81, 1 ], [ 81, 2 ], [ 81, 3 ], [ 81, 5 ], [ 81, 6 ], [ 81, 11 ],
[ 81, 12 ], [ 81, 13 ], [ 81, 15 ] ]

# doc/_Chapter_Local_nearrings.xml:96-105
# doc/_Chapter_Local_nearrings.xml:95-104
gap> G:=SmallGroup(81,2);
<pc group of size 81 with 4 generators>
gap> LibraryOfLNRsOnGroup(G);
Expand All @@ -25,29 +25,29 @@ gap> LibraryOfLNRsOnGroup(G);
"AllLocalNearRings(81,2,72,14)", "AllLocalNearRings(81,2,72,19)",
"AllLocalNearRings(81,2,72,24)", "AllLocalNearRings(81,2,72,26)" ]

# doc/_Chapter_Local_nearrings.xml:121-125
# doc/_Chapter_Local_nearrings.xml:119-123
gap> L:=LocalNearRing(81,12,54,8,3);
ExplicitMultiplicationNearRing ( <pc group of size 81 with
4 generators> , multiplication )

# doc/_Chapter_Local_nearrings.xml:140-144
# doc/_Chapter_Local_nearrings.xml:138-142
gap> L:=AllLocalNearRings(81,12,54,8);;
gap> Size(L);
30

# doc/_Chapter_Local_nearrings.xml:159-162
# doc/_Chapter_Local_nearrings.xml:157-160
gap> NumberLocalNearRings(81,15,54,8);
10

# doc/_Chapter_Local_nearrings.xml:178-185
# doc/_Chapter_Local_nearrings.xml:174-181
gap> G:=SmallGroup(25,2);
<pc group of size 25 with 2 generators>
gap> IsAdditiveGroupOfLibraryOfLNRs(G);
true
gap> IsAdditiveGroupOfLibraryOfLNRs(SmallGroup(81,14));
false

# doc/_Chapter_Local_nearrings.xml:200-209
# doc/_Chapter_Local_nearrings.xml:194-203
gap> InfoLocalNearRing(SmallGroup(361,2));
The local nearrings are sorted by their multiplicative groups.
[ "AllLocalNearRings(361,2,342,1) (2)", "AllLocalNearRings(361,2,342,2) (2)", \
Expand Down
Loading