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