/usr/share/gap/lib/pquot.gd is in gap-libs 4r6p5-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | #############################################################################
##
#W pquot.gd GAP Library Werner Nickel
##
##
#Y Copyright (C) 1998, . . . . . . . . . University of St Andrews, Scotland
##
#############################################################################
##
#F AbelianPQuotient . . . . . . . . . . . initialize an abelian p-quotient
##
## <ManSection>
## <Func Name="AbelianPQuotient" Arg='qs'/>
##
## <Description>
## </Description>
## </ManSection>
##
DeclareGlobalFunction( "AbelianPQuotient" );
#############################################################################
##
#F PQuotient(<F>, <p>[, <c>][, <logord>][, <ctype>]) . . pq of an fp group
##
## <#GAPDoc Label="PQuotient">
## <ManSection>
## <Func Name="PQuotient" Arg='F, p[, c][, logord][, ctype]'/>
##
## <Description>
## computes a factor <A>p</A>-group of a finitely presented group <A>F</A>
## in form of a quotient system.
## The quotient system can be converted into an epimorphism from <A>F</A>
## onto the <A>p</A>-group computed by the function
## <Ref Func="EpimorphismQuotientSystem"/>.
## <P/>
## For a group <M>G</M> define the exponent-<M>p</M> central series of
## <M>G</M> inductively by <M>{\cal P}_1(G) = G</M> and
## <M>{\cal P}_{{i+1}}(G) = [{\cal P}_i(G),G]{\cal P}_{{i+1}}(G)^p</M>.
## The factor groups modulo the terms of the lower
## exponent-<M>p</M> central series are <M>p</M>-groups.
## The group <M>G</M> has <M>p</M>-class
## <M>c</M> if <M>{\cal P}_c(G) \neq {\cal P}_{{c+1}}(G) = 1</M>.
## <P/>
## The algorithm computes successive quotients modulo the terms of the
## exponent-<M>p</M> central series of <A>F</A>.
## If the parameter <A>c</A> is present,
## then the factor group modulo the <M>(c+1)</M>-th term of the
## exponent-<M>p</M> central series of <A>F</A> is returned.
## If <A>c</A> is not present, then the algorithm attempts to compute the
## largest factor <A>p</A>-group of <A>F</A>.
## In case <A>F</A> does not have a largest factor <A>p</A>-group,
## the algorithm will not terminate.
## <P/>
## By default the algorithm computes only with factor groups of order at
## most <M>p^{256}</M>. If the parameter <A>logord</A> is present, it will
## compute with factor groups of order at most <M>p^{<A>logord</A>}</M>.
## If this parameter is specified, then the parameter <A>c</A> must also be
## given. The present
## implementation produces an error message if the order of a
## <M>p</M>-quotient exceeds <M>p^{256}</M> or <M>p^{<A>logord</A>}</M>,
## respectively.
## Note that the order of intermediate <M>p</M>-groups may be larger than
## the final order of a <M>p</M>-quotient.
## <P/>
## The parameter <A>ctype</A> determines the type of collector that is used
## for computations within the factor <A>p</A>-group.
## <A>ctype</A> must either be <C>"single"</C> in which case a simple
## collector from the left is used or <C>"combinatorial"</C> in which case
## a combinatorial collector from the left is used.
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareGlobalFunction( "PQuotient" );
#############################################################################
##
#O EpimorphismPGroup( <fpgrp>, <p>[, <cl>] ) factor p-group of a f.p. group
##
## <#GAPDoc Label="EpimorphismPGroup">
## <ManSection>
## <Oper Name="EpimorphismPGroup" Arg='fpgrp, p[, cl]'/>
##
## <Description>
## computes an epimorphism from the finitely presented group <A>fpgrp</A> to
## the largest <M>p</M>-group of <M>p</M>-class <A>cl</A> which is
## a quotient of <A>fpgrp</A>.
## If <A>cl</A> is omitted, the largest finite <M>p</M>-group quotient
## (of <M>p</M>-class up to <M>1000</M>) is determined.
## <P/>
## <Example><![CDATA[
## gap> hom:=EpimorphismPGroup(fp,2);
## [ f1, f2 ] -> [ a1, a2 ]
## gap> Size(Image(hom));
## 8
## gap> hom:=EpimorphismPGroup(fp,3,7);
## [ f1, f2 ] -> [ a1, a2 ]
## gap> Size(Image(hom));
## 6561
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareOperation( "EpimorphismPGroup", [IsGroup, IsPosInt ] );
DeclareOperation( "EpimorphismPGroup", [IsGroup, IsPosInt, IsPosInt] );
#############################################################################
##
#O EpimorphismQuotientSystem(<quotsys>)
##
## <#GAPDoc Label="EpimorphismQuotientSystem">
## <ManSection>
## <Oper Name="EpimorphismQuotientSystem" Arg='quotsys'/>
##
## <Description>
## For a quotient system <A>quotsys</A> obtained from the function
## <Ref Func="PQuotient"/>, this operation returns an epimorphism
## <M><A>F</A> \rightarrow <A>P</A></M> where <M><A>F</A></M> is the
## finitely presented group of which <A>quotsys</A> is a quotient system and
## <M><A>P</A></M> is a pc group isomorphic to the quotient of <A>F</A>
## determined by <A>quotsys</A>.
## <P/>
## Different calls to this operation will create different groups <A>P</A>,
## each with its own family.
## <P/>
## <Example><![CDATA[
## gap> PQuotient( FreeGroup(2), 5, 10, 1024, "combinatorial" );
## <5-quotient system of 5-class 10 with 520 generators>
## gap> phi := EpimorphismQuotientSystem( last );
## [ f1, f2 ] -> [ a1, a2 ]
## gap> Collected( Factors( Size( Image( phi ) ) ) );
## [ [ 5, 520 ] ]
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareOperation( "EpimorphismQuotientSystem", [IsQuotientSystem] );
#############################################################################
##
#F EpimorphismNilpotentQuotient( <fpgrp>[, <n>] )
##
## <#GAPDoc Label="EpimorphismNilpotentQuotient">
## <ManSection>
## <Func Name="EpimorphismNilpotentQuotient" Arg='fpgrp[, n]'/>
##
## <Description>
## returns an epimorphism on the class <A>n</A> finite nilpotent quotient of
## the finitely presented group <A>fpgrp</A>.
## If <A>n</A> is omitted, the largest finite nilpotent quotient
## (of <M>p</M>-class up to <M>1000</M>) is taken.
## <P/>
## <Example><![CDATA[
## gap> hom:=EpimorphismNilpotentQuotient(fp,7);
## [ f1, f2 ] -> [ f1*f4, f2*f5 ]
## gap> Size(Image(hom));
## 52488
## ]]></Example>
## <P/>
## A related operation which is also applicable to finitely presented groups is
## <Ref Func="GQuotients"/>, which computes all epimorphisms from a
## (finitely presented) group <A>F</A> onto a given (finite) group <A>G</A>.
## <P/>
## <Example><![CDATA[
## gap> GQuotients(fp,Group((1,2,3),(1,2)));
## [ [ f1, f2 ] -> [ (2,3), (1,2) ], [ f1, f2 ] -> [ (2,3), (1,2,3) ],
## [ f1, f2 ] -> [ (1,2,3), (1,2) ] ]
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareOperation("EpimorphismNilpotentQuotientOp",[IsGroup,IsObject]);
DeclareGlobalFunction("EpimorphismNilpotentQuotient");
#############################################################################
##
#O Nucleus . . . . . . . . . . . . . . . . . . . . the nucleus of a p-cover
##
## <ManSection>
## <Func Name="Nucleus" Arg='pq, G'/>
##
## <Description>
## </Description>
## </ManSection>
##
DeclareOperation("Nucleus",[IsPQuotientSystem,IsGroup]);
#############################################################################
##
#E
|