--- doc/libraries.xml.orig 2020-07-24 17:55:13.000000000 -0600 +++ doc/libraries.xml 2022-09-11 10:11:23.941827015 -0600 @@ -7,11 +7,14 @@ There are the following generic pcp-groups available. - + + constructs the abelian group on n generators such that generator i has order rels[i]. If this order is infinite, - then rels[i] should be either unbound or 0. + then rels[i] should be either unbound or 0 or infinity. + If n is not provided then the length of rels is used. + If rels is omitted then all generators will have infinite order. --- doc/methods.xml.orig 2020-07-24 17:55:13.000000000 -0600 +++ doc/methods.xml 2022-09-11 10:11:54.293893324 -0600 @@ -729,7 +729,7 @@ g2^-2*g4 and R/C is isomorphic to M. G := AbelianPcpGroup( 3,[] ); +gap> G := AbelianPcpGroup( 3 ); Pcp-group with orders [ 0, 0, 0 ] gap> ext := SchurCover( G ); Pcp-group with orders [ 0, 0, 0, 0, 0, 0 ] @@ -753,7 +753,7 @@ true G := DihedralPcpGroup( 0 ); Pcp-group with orders [ 2, 0 ] -gap> DirectProduct( G, AbelianPcpGroup( 2, [] ) ); +gap> DirectProduct( G, AbelianPcpGroup( 2 ) ); Pcp-group with orders [ 0, 0, 2, 0 ] gap> AbelianInvariantsMultiplier( last ); [ 0, 2, 2, 2, 2 ] --- gap/basic/construct.gi.orig 2020-07-24 17:55:13.000000000 -0600 +++ gap/basic/construct.gi 2022-09-11 10:12:49.853014707 -0600 @@ -40,7 +40,7 @@ function( filter, ints ) # construct group coll := FromTheLeftCollector( n ); for i in [1..n] do - if IsBound( r[i] ) and r[i] > 0 then + if IsBound( r[i] ) and r[i] > 0 and r[i] <> infinity then SetRelativeOrder( coll, i, r[i] ); fi; od;