/usr/share/gap/pkg/ctbllib/dlnames/dlnames.gi is in gap-character-tables 1r2p2.dfsg.0-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 | #############################################################################
##
#W dlnames.gi GAP 4 package CTblLib Michael Claßen-Houben
##
#Y Copyright (C) 2005, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
##
## This file contains implementations concerning Deligne-Lusztig names of
## unipotent characters of finite groups of Lie type.
##
#############################################################################
##
#A DeligneLusztigNames( <tbl> )
#A DeligneLusztigNames( <string> )
#A DeligneLusztigNames( <record> )
##
InstallMethod( DeligneLusztigNames,
[ "IsCharacterTable" ],
tbl -> DeligneLusztigNames( DeltigLibGetRecord( Identifier( tbl ) ) ) );
InstallMethod( DeligneLusztigNames,
[ "IsString" ],
str -> DeligneLusztigNames( CharacterTable( str ) ) );
InstallMethod( DeligneLusztigNames,
[ "IsRecord" ],
function( record )
local tbl, dlnames, warnings, elem, tbl0, dlnamestbl0, pos, chi,
unipotcharstbl0, map, projchars, position;
if not IsBound( record.labeling )
and not IsBound( record.labelingfrom ) then
record:= DeltigLibGetRecord( record );
fi;
tbl:= CharacterTable( record.identifier );
dlnames:= [ ];
if IsBound( record.labeling ) then
####Labeling from Library for adjoint groups
warnings:= [ ];
for elem in record.labeling do
dlnames[ elem.index ]:= elem.label;
if IsBound( elem.warn ) then
Add( warnings, elem.label );
fi;
od;
if not warnings = [ ] then
Display( "Labeling is not unique:" );
for elem in warnings do
Display( elem );
od;
fi;
elif IsBound( record.labelingfrom ) and "simple" in record.isot then
####Labeling from adjoint groups for simple groups
tbl0:= CharacterTable( record.labelingfrom );
dlnamestbl0:= DeligneLusztigNames( tbl0 );
for elem in dlnamestbl0 do
pos:= Position( dlnamestbl0, elem );
chi:= RestrictedClassFunction( Irr( tbl0 )[ pos ], tbl );
dlnames[ Position( Irr( tbl ), chi ) ]:= elem;
od;
elif IsBound( record.labelingfrom ) and "sc" in record.isot then
####Labeling from simple groups for simply connected groups
tbl0:= CharacterTable( record.labelingfrom );
dlnamestbl0:= DeligneLusztigNames( tbl0 );
unipotcharstbl0:= ShallowCopy( dlnamestbl0 );
for elem in dlnamestbl0 do
unipotcharstbl0[ Position( dlnamestbl0, elem ) ]:=
UnipotentCharacter( tbl0, elem );
od;
for elem in ProjectivesInfo( tbl0 ) do
if elem.name = Identifier( tbl ) then
map:= elem.map;
fi;
od;
projchars:= List( Irr( tbl ), chi -> chi{ map } );
for elem in dlnamestbl0 do
pos:= Position( dlnamestbl0, elem );
position:= Position( projchars, unipotcharstbl0[ pos ] );
dlnames[ position ]:= elem;
od;
fi;
SetDeligneLusztigNames( tbl, dlnames );
for elem in dlnames do
SetDeligneLusztigName( Irr( tbl )[ Position( dlnames, elem ) ], elem );
od;
return dlnames;
end );
#############################################################################
##
#M DeligneLusztigName( <chi> )
##
InstallMethod( DeligneLusztigName,
[ "IsCharacter" ],
function( chi )
DeligneLusztigNames( UnderlyingCharacterTable( chi ) );
if not HasDeligneLusztigName( chi ) then
return fail;
fi;
return DeligneLusztigName( chi );
end );
#############################################################################
##
#M UnipotentCharacter( <tbl>, <label> )
##
InstallMethod( UnipotentCharacter,
[ "IsCharacterTable", "IsObject" ],
function( tbl, label )
local names;
names:= DeligneLusztigNames( tbl );
if names <> fail and label in names then
return Irr( tbl )[ Position( names, label ) ];
fi;
return fail;
end );
#############################################################################
##
#E
|