/usr/share/gap/lib/grpreps.gi 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 | #############################################################################
##
#W grpreps.gi GAP library Bettina Eick
##
#Y Copyright (C) 1997, Lehrstuhl D für Mathematik, RWTH Aachen, Germany
#Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland
#Y Copyright (C) 2002 The GAP Group
##
#############################################################################
##
#M RegularModule( <G>, <F> ) . . . . . . . . . . .right regular F-module of G
##
InstallGlobalFunction( RegularModuleByGens, function( G, gens, F )
local mats, elms, d, zero, i, mat, j, o;
mats := List( gens, x -> false );
elms := AsList( G );
d := Length(elms);
zero := NullMat( d, d, F );
for i in [1..Length( gens )] do
mat := List( zero, ShallowCopy );
for j in [1..d] do
o := Position( elms, elms[j]*gens[i] );
mat[j][o] := One( F );
od;
mats[i] := mat;
od;
return GModuleByMats( mats, F );
end );
InstallMethod( RegularModule,
"generic method for groups",
true,
[ IsGroup, IsField ],
0,
function( G, F )
return [GeneratorsOfGroup(G),
RegularModuleByGens( G, GeneratorsOfGroup( G ), F )];
end);
#############################################################################
##
#M IrreducibleModules( <G>, <F>, <dim> ). . . .constituents of regular module
##
InstallMethod( IrreducibleModules,
"generic method for groups and finite field",
true,
[ IsGroup, IsField and IsFinite, IsInt ],
0,
function( G, F, dim )
local modu, modus,gens;
modu := RegularModule( G, F );
gens:=modu[1];
modu:=modu[2];
modus := List( MTX.CollectedFactors( modu ), x -> x[1] );
if dim > 0 then
modus := Filtered( modus, x -> MTX.Dimension(x) <= dim );
fi;
return [gens,modus];
end);
#############################################################################
##
#M AbsolutelyIrreducibleModules( <G>, <F>, <dim> ). . . .constituents of regular module
##
InstallMethod( AbsolutelyIrreducibleModules,
"generic method for groups and finite field",
true,
[ IsGroup, IsField and IsFinite, IsInt ],
0,
function( G, F, dim )
local modu, modus,gens;
modu := RegularModule( G, F );
gens:=modu[1];
modu:=modu[2];
modus := List( MTX.CollectedFactors( modu ), x -> x[1] );
if dim > 0 then
modus := Filtered( modus, x -> MTX.Dimension(x) <= dim and MTX.IsAbsolutelyIrreducible (x));
fi;
return [gens,modus];
end);
|