GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#############################################################################
##
#W cocycle.gi HAP Robert F. Morse
## Graham Ellis
##
## $Id: cocycle.gi,v 1.3 2008-07-11 21:52:16 unialg Exp $
#############################################################################
##
## Construct an 'empty" Standard 2-cocycle -- the attributes must be set
## by the user.
##
##
InstallMethod( Standard2Cocycle,
"create an empty cocycle",
[ ],
function()
local S, ## Standard cocycle to be returned
type; ## The type of S
S := rec();
type := NewType
( NewFamily("scc"),
IsStandard2Cocycle and IsStandardNCocycle and
IsComponentObjectRep and IsAttributeStoringRep
);
ObjectifyWithAttributes
( S,
type
);
return S;
end
);
#############################################################################
##
## Construct a Standard 2-cocycle from E and N where
## N --> E --> G
##
##
InstallMethod
( Standard2Cocycle,
"basic method for creating a cocycle",
[ IsGroup, IsGroup ],
function( E, N )
local S, ## Final Cocycle object returned
GO, ## G-Outer group
type, ## Type object for Cocycle
nat, ## Natural homomorphism E --> E/N
cocycle; ## Cocyle function E/N x E/N --> Z(N)
## Check to make sure N is normal
##
if not IsNormal(E,N) then
Error("N must be a normal subgroup of E");
fi;
nat := NaturalHomomorphismByNormalSubgroup(E,N);
cocycle :=
function(g,h)
return
Representative(PreImages(nat,g))*
Representative(PreImages(nat,h))*
Representative(PreImages(nat,g*h))^-1;
end;
## Create the associated G-outer group
##
GO := GOuterGroup();
SetActingGroup(GO,Image(nat));
SetActedGroup(GO,N);
SetOuterAction
( GO,
function(g,n)
return n^(Representative(PreImages(nat,g))^-1); #Graham changed this
end
);
## Create the cocycle -- which is both 2-Cocycle and
## a N-Cocycle.
##
S := rec();
type :=
NewType
( NewFamily( "scc" ),
IsStandard2Cocycle and IsStandardNCocycle and
IsComponentObjectRep and IsAttributeStoringRep
);
ObjectifyWithAttributes
( S, type,
ActingGroup, Image(nat),
Module, GO,
Mapping, cocycle
);
return S;
end);
#############################################################################
##
## $Log: cocycle.gi,v $
## Revision 1.3 2008-07-11 21:52:16 unialg
##
## Development commit for first release. RFM
##
## Revision 1.2 2008-07-11 21:02:25 unialg
##
## First beta release. RFM
##
## Revision 1.1 2008-06-18 06:06:34 unialg
## File Creation. RFM
##
##
##