IsCharacter( obj )
returns true
if obj is a character, and false
otherwise.
For a class function obj that does not know whether it is a
character, the scalar products with all irreducible characters of the
source of obj are computed. If they are all integral and nonegative then
obj is turned into a character record.
gap> psi:= ClassFunction( S4, S4.charTable.centralizers ); ClassFunction( S4, [ 24, 8, 3, 4, 4 ] ) gap> IsCharacter( psi ); psi; true Character( S4, [ 24, 8, 3, 4, 4 ] ) gap> cf:= ClassFunction( S4, irr[3] - irr[1] ); ClassFunction( S4, [ 1, 1, -2, -1, -1 ] ) gap> IsCharacter( cf ); cf; false VirtualCharacter( S4, [ 1, 1, -2, -1, -1 ] )
GAP 3.4.4